add Raspbian Changelog support policy

This commit is contained in:
MaineK00n
2020-07-28 12:11:55 +09:00
parent 3207c36451
commit 6313f44c5d

View File

@@ -305,6 +305,24 @@ func (o *debian) scanPackages() error {
return nil
}
//TODO: c.Raspbianのとき+rp(i|t)のパッケージを取得しscanUnsecurePackagesを実行する
// fast-root->updatable/ deep-> updatable(full)をchangelogへ
if o.Distro.Family == config.Raspbian {
raspbianPacks, err := o.grepRaspbianPackages(updatable)
if err != nil {
o.log.Errorf("Failed to grep raspbian packages: %s", err)
return err
}
//TODO: raspbianPacksのpackageのchangelogを取得する
unsecures, err := o.scanUnsecurePackages(raspbianPacks)
if err != nil {
o.log.Errorf("Failed to scan vulnerable packages: %s", err)
return err
}
o.VulnInfos = unsecures
return nil
}
if o.getServerInfo().Mode.IsDeep() {
unsecures, err := o.scanUnsecurePackages(updatable)
if err != nil {
@@ -315,8 +333,6 @@ func (o *debian) scanPackages() error {
return nil
}
//TODO: c.Raspbianのときinstalled, srcPacksから+rptのパッケージを取得しscanUnsecurePackagesを実行する
return nil
}
@@ -749,7 +765,7 @@ func (o *debian) getChangelogCache(meta *cache.Meta, pack models.Package) string
func (o *debian) fetchParseChangelog(pack models.Package) ([]DetectedCveID, *models.Package, error) {
cmd := ""
switch o.Distro.Family {
case config.Ubuntu, config.Raspbian:
case config.Ubuntu:
cmd = fmt.Sprintf(`PAGER=cat apt-get -q=2 changelog %s`, pack.Name)
case config.Debian:
cmd = fmt.Sprintf(`PAGER=cat aptitude -q=2 changelog %s`, pack.Name)
@@ -763,6 +779,8 @@ func (o *debian) fetchParseChangelog(pack models.Package) ([]DetectedCveID, *mod
return nil, nil, nil
}
// TODO: o.Distro.Family==config.Raspbianのときchangelogをダウンロード(apt download, dpkg-deb, ar, gzip)
stdout := strings.Replace(r.Stdout, "\r", "", -1)
cveIDs, clogFilledPack := o.getCveIDsFromChangelog(stdout, pack.Name, pack.Version)