[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Tracking buster/stable updates suited for LTS



Now with the patch.

On Wed, Apr 20, 2022 at 05:08:20PM +0200, Sylvain Beucler wrote:
> During my last front-desk week I noticed that we tend to miss or delay
> some buster security updates, in particular those that come in point
> releases, and a few batches of minor postponed fixes.  See for
> instance, 'dpdk' [1] or 'mailman' [2].
> 
> Attached is a patch to 'bin/lts-cve-triage.py' to help exhibit those
> updates so we schedule them in dla-needed.txt.  This includes fixes
> from stable/oldstable point releases or past DSAs, but excludes issues
> explicitly ignored, and old fixes from back when buster was unstable.
> 
> The current output is manageable (40-50 packages), and I plan to trim
> it further down by properly tagging <ignored> some no-dsa issues that
> are not meant to be fixed in stretch (see e.g. 'ark' [3]), and tagging
> <end-of-life> a few others (e.g. 'node-*').
> 
> At this point front-desk can proceed as usual using the enhanced
> 'lts-cve-triage.py' output.  Front-desk may need to use 'no-dsa'
> sparingly in the future, in favor of its 'postponed' and 'ignored'
> sub-states [4], so as to better help the tool.
> 
> What do you think?
> 
> Cheers!
> Sylvain Beucler
> Debian LTS Team
> 
> [1] https://security-tracker.debian.org/tracker/source-package/dpdk
> [2] https://security-tracker.debian.org/tracker/source-package/mailman
> [3] https://security-tracker.debian.org/tracker/source-package/ark
> [4] https://security-team.debian.org/security_tracker.html#issues-not-warranting-a-security-advisory
diff --git a/bin/lts-cve-triage.py b/bin/lts-cve-triage.py
index bda1606819..6590f975a5 100755
--- a/bin/lts-cve-triage.py
+++ b/bin/lts-cve-triage.py
@@ -64,6 +64,9 @@ LIST_NAMES = (
     ('triage_possible_easy_fixes',
      ('Issues not yet triaged for {lts}, but already fixed in {next_lts}')
      .format(**RELEASES)),
+    ('triage_possible_missed_fixes',
+     ('Issues postponed for {lts}, but fixed in {next_lts} via DSA or point releases')
+     .format(**RELEASES)),
     ('triage_other_not_triaged_in_next_lts',
      ('Other issues to triage for {lts} (not yet triaged for {next_lts})')
      .format(**RELEASES)),
@@ -154,10 +157,20 @@ for pkg in tracker.iterate_packages():
                 if status_in_next_lts.status == 'resolved':
                     add_to_list('possible_easy_fixes', pkg, issue)
 
+        # <no-dsa>/<postponed>/<ignored>/<unimportant>/<undetermined>
         elif status_in_lts.status == 'ignored':
             if (status_in_lts.reason == 'no-dsa' and
                     status_in_next_lts.status == 'open'):
                 add_to_list('unexpected_nodsa', pkg, issue)
+            elif (status_in_lts.reason == 'no-dsa' and
+                    status_in_next_lts.status == 'resolved'):
+                # include fixes from DSA or stable/oldstable point releases
+                # exclude issues explicitly ignored, and old fixes back in unstable
+                nodsa_reason = issue.data['releases'][RELEASES['lts']]['nodsa_reason']
+                fixed_version = issue.data['releases'][RELEASES['next_lts']]['fixed_version']
+                if (nodsa_reason != 'ignored' and
+                    ('~deb' in fixed_version or '+deb' in fixed_version)):
+                    add_to_list('triage_possible_missed_fixes', pkg, issue)
             elif status_in_lts.reason == 'undetermined':
                 add_to_list('undetermined', pkg, issue)
 

Reply to: