pkg/aaparser: support parsing version like "3.0.0-beta1"
| ... | ... |
@@ -56,6 +56,9 @@ func parseVersion(output string) (int, error) {
|
| 56 | 56 |
words := strings.Split(lines[0], " ") |
| 57 | 57 |
version := words[len(words)-1] |
| 58 | 58 |
|
| 59 |
+ // trim "-beta1" suffix from version="3.0.0-beta1" if exists |
|
| 60 |
+ version = strings.SplitN(version, "-", 2)[0] |
|
| 61 |
+ |
|
| 59 | 62 |
// split by major minor version |
| 60 | 63 |
v := strings.Split(version, ".") |
| 61 | 64 |
if len(v) == 0 || len(v) > 3 {
|
| ... | ... |
@@ -59,6 +59,20 @@ Copyright 2009-2012 Canonical Ltd. |
| 59 | 59 |
`, |
| 60 | 60 |
version: 314159, |
| 61 | 61 |
}, |
| 62 |
+ {
|
|
| 63 |
+ output: `AppArmor parser version 3.0.0-beta1 |
|
| 64 |
+Copyright (C) 1999-2008 Novell Inc. |
|
| 65 |
+Copyright 2009-2018 Canonical Ltd. |
|
| 66 |
+`, |
|
| 67 |
+ version: 300000, |
|
| 68 |
+ }, |
|
| 69 |
+ {
|
|
| 70 |
+ output: `AppArmor parser version 3.0.0-beta1-foo-bar |
|
| 71 |
+Copyright (C) 1999-2008 Novell Inc. |
|
| 72 |
+Copyright 2009-2018 Canonical Ltd. |
|
| 73 |
+`, |
|
| 74 |
+ version: 300000, |
|
| 75 |
+ }, |
|
| 62 | 76 |
} |
| 63 | 77 |
|
| 64 | 78 |
for _, v := range versions {
|