aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Ryabitsev <konstantin@linuxfoundation.org>2020-12-01 17:07:33 -0500
committerKonstantin Ryabitsev <konstantin@linuxfoundation.org>2020-12-01 17:07:33 -0500
commit1c4a327d1d9e5de475073f76a53e5257d534e8fe (patch)
treeda710f8635e3c39b19356f01359cb47316b2f641
parent1565a3b0017b3a97086278c539256bfd14c50943 (diff)
downloadb4-1c4a327d1d9e5de475073f76a53e5257d534e8fe.tar.gz
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 <konstantin@linuxfoundation.org>
-rw-r--r--b4/__init__.py4
-rw-r--r--b4/mbox.py5
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('---')