Skip to content

Commit

Permalink
fix(db): check DownloadedAt for trivy-java-db (aquasecurity#7592)
Browse files Browse the repository at this point in the history
  • Loading branch information
DmitriyLewen authored and fhielpos committed Dec 20, 2024
1 parent 38eeb16 commit ca94c0d
Showing 1 changed file with 15 additions and 1 deletion.
16 changes: 15 additions & 1 deletion pkg/javadb/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ func (u *Updater) Update() error {
}
}

if (meta.Version != SchemaVersion || meta.NextUpdate.Before(time.Now().UTC())) && !u.skip {
if (meta.Version != SchemaVersion || !u.isNewDB(meta)) && !u.skip {
// Download DB
log.Info("Java DB Repository", log.Any("repository", u.repo))
log.Info("Downloading the Java DB...")
Expand Down Expand Up @@ -85,6 +85,20 @@ func (u *Updater) Update() error {
return nil
}

func (u *Updater) isNewDB(meta db.Metadata) bool {
now := time.Now().UTC()
if now.Before(meta.NextUpdate) {
log.Debug("Java DB update was skipped because the local Java DB is the latest")
return true
}

if now.Before(meta.DownloadedAt.Add(time.Hour * 24)) { // 1 day
log.Debug("Java DB update was skipped because the local Java DB was downloaded during the last day")
return true
}
return false
}

func Init(cacheDir string, javaDBRepository name.Reference, skip, quiet bool, registryOption ftypes.RegistryOptions) {
updater = &Updater{
repo: javaDBRepository,
Expand Down

0 comments on commit ca94c0d

Please sign in to comment.