Skip to content

Commit e8c6dd6

Browse files
committed
hardcode OpenShift CPEs
1 parent 3ffb532 commit e8c6dd6

File tree

2 files changed

+45
-10
lines changed

2 files changed

+45
-10
lines changed

pkg/cpeutils/utils.go

+4-10
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
)
1111

1212
// Note: this must be updated with each new OpenShift release.
13-
const maxKnownOpenShift4MinorVersion = 17
13+
const maxKnownOpenShift4MinorVersion = 20
1414

1515
// *** START Regex-related consts/vars. ***
1616

@@ -71,17 +71,11 @@ func GetAllOpenShift4CPEs(cpe string) ([]string, error) {
7171
return nil, errors.Errorf("CPE %s does not match an expected OpenShift 4 CPE format", cpe)
7272
}
7373

74+
// We do *not* use the explicit given minor version due to issues with the OVAL data
75+
// (see https://issues.redhat.com/browse/SECDATA-869 for more information).
76+
// We just use an arbitrarily high version to ensure it works more consistently.
7477
maxMinorVersion := maxKnownOpenShift4MinorVersion
7578

76-
// If an explicit minor version is given, assume it is the highest maximum version.
77-
if match[minorVersionIdx] != "" {
78-
var err error
79-
maxMinorVersion, err = strconv.Atoi(match[minorVersionIdx])
80-
if err != nil {
81-
return nil, err
82-
}
83-
}
84-
8579
openshiftVersion := match[openshiftVersionIdx]
8680
cpes := make([]string, 0, maxMinorVersion)
8781
for i := 0; i <= maxMinorVersion; i++ {

pkg/cpeutils/utils_test.go

+41
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,14 @@ func TestGetAllOpenShift4CPEs(t *testing.T) {
2727
"cpe:/a:redhat:openshift:4.10",
2828
"cpe:/a:redhat:openshift:4.11",
2929
"cpe:/a:redhat:openshift:4.12",
30+
"cpe:/a:redhat:openshift:4.13",
31+
"cpe:/a:redhat:openshift:4.14",
32+
"cpe:/a:redhat:openshift:4.15",
33+
"cpe:/a:redhat:openshift:4.16",
34+
"cpe:/a:redhat:openshift:4.17",
35+
"cpe:/a:redhat:openshift:4.18",
36+
"cpe:/a:redhat:openshift:4.19",
37+
"cpe:/a:redhat:openshift:4.20",
3038
},
3139
},
3240
{
@@ -45,6 +53,14 @@ func TestGetAllOpenShift4CPEs(t *testing.T) {
4553
"cpe:/a:redhat:openshift:4.10::el8",
4654
"cpe:/a:redhat:openshift:4.11::el8",
4755
"cpe:/a:redhat:openshift:4.12::el8",
56+
"cpe:/a:redhat:openshift:4.13::el8",
57+
"cpe:/a:redhat:openshift:4.14::el8",
58+
"cpe:/a:redhat:openshift:4.15::el8",
59+
"cpe:/a:redhat:openshift:4.16::el8",
60+
"cpe:/a:redhat:openshift:4.17::el8",
61+
"cpe:/a:redhat:openshift:4.18::el8",
62+
"cpe:/a:redhat:openshift:4.19::el8",
63+
"cpe:/a:redhat:openshift:4.20::el8",
4864
},
4965
},
5066
{
@@ -64,6 +80,13 @@ func TestGetAllOpenShift4CPEs(t *testing.T) {
6480
"cpe:/a:redhat:openshift:4.11::el9",
6581
"cpe:/a:redhat:openshift:4.12::el9",
6682
"cpe:/a:redhat:openshift:4.13::el9",
83+
"cpe:/a:redhat:openshift:4.14::el9",
84+
"cpe:/a:redhat:openshift:4.15::el9",
85+
"cpe:/a:redhat:openshift:4.16::el9",
86+
"cpe:/a:redhat:openshift:4.17::el9",
87+
"cpe:/a:redhat:openshift:4.18::el9",
88+
"cpe:/a:redhat:openshift:4.19::el9",
89+
"cpe:/a:redhat:openshift:4.20::el9",
6790
},
6891
},
6992
{
@@ -87,6 +110,9 @@ func TestGetAllOpenShift4CPEs(t *testing.T) {
87110
"cpe:/a:redhat:openshift:4.15",
88111
"cpe:/a:redhat:openshift:4.16",
89112
"cpe:/a:redhat:openshift:4.17",
113+
"cpe:/a:redhat:openshift:4.18",
114+
"cpe:/a:redhat:openshift:4.19",
115+
"cpe:/a:redhat:openshift:4.20",
90116
},
91117
},
92118
{
@@ -110,6 +136,9 @@ func TestGetAllOpenShift4CPEs(t *testing.T) {
110136
"cpe:/a:redhat:openshift:4.15::el8",
111137
"cpe:/a:redhat:openshift:4.16::el8",
112138
"cpe:/a:redhat:openshift:4.17::el8",
139+
"cpe:/a:redhat:openshift:4.18::el8",
140+
"cpe:/a:redhat:openshift:4.19::el8",
141+
"cpe:/a:redhat:openshift:4.20::el8",
113142
},
114143
},
115144
{
@@ -133,6 +162,9 @@ func TestGetAllOpenShift4CPEs(t *testing.T) {
133162
"cpe:/a:redhat:openshift:4.15::el9",
134163
"cpe:/a:redhat:openshift:4.16::el9",
135164
"cpe:/a:redhat:openshift:4.17::el9",
165+
"cpe:/a:redhat:openshift:4.18::el9",
166+
"cpe:/a:redhat:openshift:4.19::el9",
167+
"cpe:/a:redhat:openshift:4.20::el9",
136168
},
137169
},
138170
{
@@ -150,6 +182,15 @@ func TestGetAllOpenShift4CPEs(t *testing.T) {
150182
"cpe:/a:redhat:openshift:4.9::el7",
151183
"cpe:/a:redhat:openshift:4.10::el7",
152184
"cpe:/a:redhat:openshift:4.11::el7",
185+
"cpe:/a:redhat:openshift:4.12::el7",
186+
"cpe:/a:redhat:openshift:4.13::el7",
187+
"cpe:/a:redhat:openshift:4.14::el7",
188+
"cpe:/a:redhat:openshift:4.15::el7",
189+
"cpe:/a:redhat:openshift:4.16::el7",
190+
"cpe:/a:redhat:openshift:4.17::el7",
191+
"cpe:/a:redhat:openshift:4.18::el7",
192+
"cpe:/a:redhat:openshift:4.19::el7",
193+
"cpe:/a:redhat:openshift:4.20::el7",
153194
},
154195
},
155196
}

0 commit comments

Comments
 (0)