Browse Source

Also trim "~..." from AppArmor versions

Signed-off-by: Tianon Gravi <admwiggin@gmail.com>
Tianon Gravi 4 years ago
parent
commit
654cad4d9d
2 changed files with 10 additions and 0 deletions
  1. 2 0
      pkg/aaparser/aaparser.go
  2. 8 0
      pkg/aaparser/aaparser_test.go

+ 2 - 0
pkg/aaparser/aaparser.go

@@ -58,6 +58,8 @@ func parseVersion(output string) (int, error) {
 
 	// trim "-beta1" suffix from version="3.0.0-beta1" if exists
 	version = strings.SplitN(version, "-", 2)[0]
+	// also trim "~..." suffix used historically (https://gitlab.com/apparmor/apparmor/-/commit/bca67d3d27d219d11ce8c9cc70612bd637f88c10)
+	version = strings.SplitN(version, "~", 2)[0]
 
 	// split by major minor version
 	v := strings.Split(version, ".")

+ 8 - 0
pkg/aaparser/aaparser_test.go

@@ -43,6 +43,14 @@ Copyright 2009-2012 Canonical Ltd.
 `,
 			version: 205000,
 		},
+		{
+			output: `AppArmor parser version 2.2.0~rc2
+Copyright (C) 1999-2008 Novell Inc.
+Copyright 2009-2012 Canonical Ltd.
+
+`,
+			version: 202000,
+		},
 		{
 			output: `AppArmor parser version 2.9.95
 Copyright (C) 1999-2008 Novell Inc.