feat(fedora): support fedora (#1367)
* feat(fedora): support fedora * fix(fedora): fix modular package scan * fix(fedora): check needs-restarting, oval arch, add source link Co-authored-by: MaineK00n <mainek00n.1229@gmail.com>
This commit is contained in:
@@ -15,7 +15,7 @@ import (
|
||||
ovalmodels "github.com/vulsio/goval-dictionary/models"
|
||||
)
|
||||
|
||||
// RedHatBase is the base struct for RedHat, CentOS, Alma and Rocky
|
||||
// RedHatBase is the base struct for RedHat, CentOS, Alma, Rocky and Fedora
|
||||
type RedHatBase struct {
|
||||
Base
|
||||
}
|
||||
@@ -57,6 +57,15 @@ func (o RedHatBase) FillWithOval(r *models.ScanResult) (nCVEs int, err error) {
|
||||
vuln.CveContents[models.RedHat][i] = cont
|
||||
}
|
||||
}
|
||||
case models.Fedora:
|
||||
for _, d := range vuln.DistroAdvisories {
|
||||
if conts, ok := vuln.CveContents[models.Fedora]; ok {
|
||||
for i, cont := range conts {
|
||||
cont.SourceLink = "https://bodhi.fedoraproject.org/updates/" + d.AdvisoryID
|
||||
vuln.CveContents[models.Fedora][i] = cont
|
||||
}
|
||||
}
|
||||
}
|
||||
case models.Oracle:
|
||||
if conts, ok := vuln.CveContents[models.Oracle]; ok {
|
||||
for i, cont := range conts {
|
||||
@@ -390,3 +399,21 @@ func NewRocky(cnf config.VulnDictInterface) Rocky {
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
// Fedora is the interface for RedhatBase OVAL
|
||||
type Fedora struct {
|
||||
// Base
|
||||
RedHatBase
|
||||
}
|
||||
|
||||
// NewFedora creates OVAL client for Fedora Linux
|
||||
func NewFedora(cnf config.VulnDictInterface) Fedora {
|
||||
return Fedora{
|
||||
RedHatBase{
|
||||
Base{
|
||||
family: constant.Fedora,
|
||||
Cnf: cnf,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user