diff options
author | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2020-12-01 17:07:33 -0500 |
---|---|---|
committer | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2020-12-01 17:07:33 -0500 |
commit | 1c4a327d1d9e5de475073f76a53e5257d534e8fe (patch) | |
tree | da710f8635e3c39b19356f01359cb47316b2f641 | |
parent | 1565a3b0017b3a97086278c539256bfd14c50943 (diff) | |
download | b4-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__.py | 4 | ||||
-rw-r--r-- | 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': @@ -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('---') |