diff options
author | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2022-07-26 12:39:00 -0400 |
---|---|---|
committer | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2022-07-26 12:39:00 -0400 |
commit | 13c24f6d7a2965d903bd357c384a7e4d814187a6 (patch) | |
tree | 8e623973df799fe80086aa6f9152245f30c2253e | |
parent | 78725ba63b2f48bd0f0a3f716908966773f36f8f (diff) | |
download | b4-13c24f6d7a2965d903bd357c384a7e4d814187a6.tar.gz |
ez-send: fix To: inclusion and address collection
Fix a logic bug that prevented the To: header from being added on
--dry-run and do a better job making sure the addresses are valid and
sane.
Reported-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
-rw-r--r-- | b4/__init__.py | 4 | ||||
-rw-r--r-- | b4/ez.py | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/b4/__init__.py b/b4/__init__.py index 0bc8f27..798755c 100644 --- a/b4/__init__.py +++ b/b4/__init__.py @@ -2915,6 +2915,10 @@ def cleanup_email_addrs(addresses: List[Tuple[str, str]], excludes: Set[str], gitdir: Optional[str]) -> List[Tuple[str, str]]: global MAILMAP_INFO for entry in list(addresses): + # Only qualified addresses, please + if not len(entry[1].strip()) or '@' not in entry[1]: + addresses.remove(entry) + continue # Check if it's in excludes removed = False for exclude in excludes: @@ -819,7 +819,7 @@ def cmd_ez_send(cmdargs: argparse.Namespace) -> None: # add addresses seen in trailers for trailer in trailers: - if '@' in trailer[1]: + if '@' in trailer[1] and '<' in trailer[1]: for pair in utils.getaddresses([trailer[1]]): if pair[1] not in seen: seen.add(pair[1]) @@ -907,7 +907,8 @@ def cmd_ez_send(cmdargs: argparse.Namespace) -> None: ztracking = gzip.compress(bytes(json.dumps(tracking), 'utf-8')) b64tracking = base64.b64encode(ztracking) cmsg.add_header('X-b4-tracking', ' '.join(textwrap.wrap(b64tracking.decode(), width=78))) - msg.add_header('To', b4.format_addrs(allto)) + + msg.add_header('To', b4.format_addrs(allto)) if allcc: msg.add_header('Cc', b4.format_addrs(allcc)) logger.info(' %s', msg.get('Subject')) |