Skip to content
This repository was archived by the owner on Oct 13, 2023. It is now read-only.

Commit 0a1553c

Browse files
AkihiroSudathaJeztah
authored andcommitted
pkg/aaparser: support parsing version like "3.0.0-beta1"
Fix #41517 Signed-off-by: Akihiro Suda <akihiro.suda.cz@hco.ntt.co.jp> (cherry picked from commit ee079e4692c26417eb4c711a1e489203624a6972) Signed-off-by: Sebastiaan van Stijn <github@gone.nl> Upstream-commit: ecd3baca25918936ffdda5dec9c55314b96a9c3b Component: engine
1 parent 977ae4a commit 0a1553c

2 files changed

Lines changed: 17 additions & 0 deletions

File tree

components/engine/pkg/aaparser/aaparser.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ func parseVersion(output string) (int, error) {
5656
words := strings.Split(lines[0], " ")
5757
version := words[len(words)-1]
5858

59+
// trim "-beta1" suffix from version="3.0.0-beta1" if exists
60+
version = strings.SplitN(version, "-", 2)[0]
61+
5962
// split by major minor version
6063
v := strings.Split(version, ".")
6164
if len(v) == 0 || len(v) > 3 {

components/engine/pkg/aaparser/aaparser_test.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,20 @@ Copyright 2009-2012 Canonical Ltd.
5959
`,
6060
version: 314159,
6161
},
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+
},
6276
}
6377

6478
for _, v := range versions {

0 commit comments

Comments
 (0)