From 1c4a327d1d9e5de475073f76a53e5257d534e8fe Mon Sep 17 00:00:00 2001 From: Konstantin Ryabitsev Date: Tue, 1 Dec 2020 17:07:33 -0500 Subject: Deal with dupe follow-up trailers sent to cover Since we now include the message object into the followup-trailer list (for DKIM verification purposes), we no longer auto-dedupe duplicate trailers. Add some extra logic to handle that. Signed-off-by: Konstantin Ryabitsev --- b4/__init__.py | 4 ++-- b4/mbox.py | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/b4/__init__.py b/b4/__init__.py index 7cffe47..624e262 100644 --- a/b4/__init__.py +++ b/b4/__init__.py @@ -1346,11 +1346,11 @@ class LoreMessage: trailer_order = '*' for trailermatch in trailer_order: for trailer in trailers: - if trailer[:3] in fixtrailers: + if list(trailer[:3]) in fixtrailers: # Dupe continue if fnmatch.fnmatch(trailer[0].lower(), trailermatch.strip()): - fixtrailers.append(trailer[:3]) + fixtrailers.append(list(trailer[:3])) if trailer[:3] not in btrailers: extra = '' if config.get('attestation-check-dkim') == 'yes' and attpolicy != 'off': diff --git a/b4/mbox.py b/b4/mbox.py index c0b47e2..200cf1c 100644 --- a/b4/mbox.py +++ b/b4/mbox.py @@ -129,8 +129,11 @@ def mbox_to_am(mboxfile, cmdargs): # Warn that some trailers were sent to the cover letter logger.critical('---') logger.critical('NOTE: Some trailers were sent to the cover letter:') + tseen = set() for trailer in lser.patches[0].followup_trailers: - logger.critical(' %s: %s', trailer[0], trailer[1]) + if tuple(trailer[:2]) not in tseen: + logger.critical(' %s: %s', trailer[0], trailer[1]) + tseen.add(tuple(trailer[:2])) logger.critical('NOTE: Rerun with -t to apply them to all patches') if len(lser.trailer_mismatches): logger.critical('---') -- cgit v1.2.3