Merge ~litios/ubuntu-cve-tracker:sync-usns-esm into ubuntu-cve-tracker:master

Proposed by David Fernandez Gonzalez
Status: Merged
Merged at revision: 5048522b86411d5b592464cc257fe6f0d0ce66c5
Proposed branch: ~litios/ubuntu-cve-tracker:sync-usns-esm
Merge into: ubuntu-cve-tracker:master
Diff against target: 44 lines (+17/-2)
1 file modified
scripts/sync-from-usns.py (+17/-2)
Reviewer Review Type Date Requested Status
Eduardo Barretto Approve
Review via email: mp+440853@code.launchpad.net

Description of the change

When syncing from a USN, if an update was done for a regular release, we should update the ESM status accordingly, as ESM won't be affected anymore.

Testing: https://pastebin.canonical.com/p/tmFCjMGfBD/

To post a comment you must log in.
Revision history for this message
Eduardo Barretto (ebarretto) wrote :

LGTM, thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/scripts/sync-from-usns.py b/scripts/sync-from-usns.py
2index eae30da..ee138b5 100755
3--- a/scripts/sync-from-usns.py
4+++ b/scripts/sync-from-usns.py
5@@ -123,7 +123,7 @@ def extract_cve_descriptions(usn, usnnum):
6
7 return descriptions
8
9-
10+srcmap = {}
11 for usn in usnlist:
12 ubuntu_descriptions = dict()
13 if args.debug:
14@@ -239,7 +239,8 @@ for usn in usnlist:
15 if cve_lib.is_active_release(rel):
16 cve_rel = cve_lib.get_esm_name(rel, 'universe')
17 else:
18- srcmap = load(releases=[rel], skip_eol_releases=False)
19+ if not rel in srcmap:
20+ srcmap[rel] = load(releases=[rel], skip_eol_releases=False)[rel]
21 if cve_lib.is_universe(srcmap, src, rel, None):
22 cve_rel = cve_lib.get_esm_name(rel, 'universe')
23 else:
24@@ -309,6 +310,20 @@ for usn in usnlist:
25 version = usn_ver
26 if args.update:
27 cve_lib.update_state(filename, src, cve_rel, 'released', version)
28+
29+ if esm_version_match:
30+ continue
31+
32+ if not cve_rel in srcmap:
33+ srcmap[cve_rel] = load(releases=[cve_rel], skip_eol_releases=False)[cve_rel]
34+
35+ esm_rel = cve_lib.get_esm_name(cve_rel, 'universe' if cve_lib.is_universe(srcmap, src, cve_rel, None) else 'main')
36+ if esm_rel and esm_rel in cves[cve]['pkgs'][src]:
37+ status_esm = cves[cve]['pkgs'][src][esm_rel][0]
38+ if status_esm != 'released' and status_esm != 'not-affected' and status_esm != 'ignored':
39+ print("USN-%s fixed %s in %s %s%s/%s (was %s)" % (usn, cve, src, version, detail, esm_rel, status_esm), file=sys.stderr)
40+ cve_lib.update_state(filename, src, esm_rel, 'not-affected', version)
41+
42 if args.git_stage:
43 cve_lib.git_add(filename)
44 elif args.debug:

Subscribers

People subscribed via source and target branches