fix(report): detection logic bugs for Oracle Linux (#1247)

* fix(report): continue detecting if arch is emtpy for Oracle Linux

* fix test case

* fix(report): a bug of `Not Fixed Yet` of Oracle linux scanning
This commit is contained in:
Kota Kanbe
2021-06-09 05:46:42 +09:00
committed by GitHub
parent 40988401bd
commit 82c1abfd3a
2 changed files with 10 additions and 6 deletions

View File

@@ -306,7 +306,8 @@ func isOvalDefAffected(def ovalmodels.Definition, req request, family string, ru
switch family {
case constant.Oracle, constant.Amazon:
if ovalPack.Arch == "" {
return false, false, "", xerrors.Errorf("OVAL DB for %s is old. Please re-fetch the OVAL", family)
logging.Log.Infof("Arch is needed to detect Vulns for Amazon and Oracle Linux, but empty. You need refresh OVAL maybe. oval: %s, defID: %s", ovalPack, def.DefinitionID)
continue
}
}
@@ -370,7 +371,8 @@ func isOvalDefAffected(def ovalmodels.Definition, req request, family string, ru
constant.SUSEEnterpriseServer,
constant.Debian,
constant.Ubuntu,
constant.Raspbian:
constant.Raspbian,
constant.Oracle:
// Use fixed state in OVAL for these distros.
return true, false, ovalPack.Version, nil
}

View File

@@ -1263,7 +1263,7 @@ func TestIsOvalDefAffected(t *testing.T) {
affected: true,
fixedIn: "2.17-106.0.1",
},
// error when arch is empty for Oracle, Amazon linux
// arch is empty for Oracle, Amazon linux
{
in: in{
family: constant.Oracle,
@@ -1282,9 +1282,10 @@ func TestIsOvalDefAffected(t *testing.T) {
arch: "x86_64",
},
},
wantErr: true,
wantErr: false,
fixedIn: "",
},
// error when arch is empty for Oracle, Amazon linux
// arch is empty for Oracle, Amazon linux
{
in: in{
family: constant.Amazon,
@@ -1303,7 +1304,8 @@ func TestIsOvalDefAffected(t *testing.T) {
arch: "x86_64",
},
},
wantErr: true,
wantErr: false,
fixedIn: "",
},
}