diff options
author | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2024-01-02 09:46:46 -0500 |
---|---|---|
committer | Konstantin Ryabitsev <konstantin@linuxfoundation.org> | 2024-01-02 09:54:28 -0500 |
commit | 2aabd4466910f41b3a3b1dbf2f1010a6dcbfb3d9 (patch) | |
tree | 86004f0383e0efb7d56d16595c4e083597ed3a98 | |
parent | dc5db32ade42b8ba58366a6d0568016e38e51934 (diff) | |
download | b4-stable-0.12.y.tar.gz |
Properly write out bare-address trailersstable-0.12.y
Not all trailers will have both a name and address, specifically not the
Cc: trailer that sends to a list.
Fixes: 26615095533f ("trailers: do not quote names when special chars are present")
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
-rw-r--r-- | b4/__init__.py | 5 | ||||
-rw-r--r-- | tests/samples/trailers-followup-bare-address-ref-defaults.txt | 34 | ||||
-rw-r--r-- | tests/samples/trailers-followup-bare-address.mbox | 79 | ||||
-rw-r--r-- | tests/test___init__.py | 1 |
4 files changed, 118 insertions, 1 deletions
diff --git a/b4/__init__.py b/b4/__init__.py index 9fb4e28..d3f28ee 100644 --- a/b4/__init__.py +++ b/b4/__init__.py @@ -888,7 +888,10 @@ class LoreTrailer: self.type = 'person' self.addr = email.utils.parseaddr(value) # Normalize the value with parsed data - self.value = f'{self.addr[0]} <{self.addr[1]}>' + if self.addr[0]: + self.value = f'{self.addr[0]} <{self.addr[1]}>' + else: + self.value = self.addr[1] else: self.type = 'unknown' self.lname = self.name.lower() diff --git a/tests/samples/trailers-followup-bare-address-ref-defaults.txt b/tests/samples/trailers-followup-bare-address-ref-defaults.txt new file mode 100644 index 0000000..4524080 --- /dev/null +++ b/tests/samples/trailers-followup-bare-address-ref-defaults.txt @@ -0,0 +1,34 @@ +From git@z Thu Jan 1 00:00:00 1970 +Subject: [PATCH] Simple test +From: Test Test <test@example.com> +Date: Tue, 30 Aug 2022 11:19:07 -0400 +Message-Id: <orig-message@example.com> +MIME-Version: 1.0 +Content-Type: text/plain; charset="utf-8" +Content-Transfer-Encoding: 7bit + +Follow-up trailer collating test. + +Fixes: abcdef01234567890 +Cc: bare-address@example.org +Reviewed-by: Original Reviewer <original-reviewer@example.com> +Link: https://msgid.link/some@msgid.here +Signed-off-by: Original Submitter <original-submitter@example.com> +Reviewed-by: Followup Reviewer1 (corporate) <followup-reviewer1@example.com> +Tested-by: Followup Reviewer2 <followup-reviewer2@example.com> +--- + +diff --git a/b4/junk.py b/b4/junk.py +index 12345678..23456789 100644 +--- a/b4/junk.py ++++ b/b4/junk.py +@@@ -1,1 +1,1 @@ def junk(): + + +-junk1 ++junk2 + + +-- +2.wong.fu + diff --git a/tests/samples/trailers-followup-bare-address.mbox b/tests/samples/trailers-followup-bare-address.mbox new file mode 100644 index 0000000..8f5bbb8 --- /dev/null +++ b/tests/samples/trailers-followup-bare-address.mbox @@ -0,0 +1,79 @@ +From foo@z Thu Jan 1 00:00:00 1970 +From: Test Test <test@example.com> +Subject: [PATCH] Simple test +To: Some List <list-1@lists.example.com> +Cc: Dev Eloper1 <dev-eloper1@example.com>, + Dev Eloper2 <dev-eloper2@example.com> +Date: Tue, 30 Aug 2022 11:19:07 -0400 +Message-Id: <orig-message@example.com> + +Follow-up trailer collating test. + +Fixes: abcdef01234567890 +Cc: bare-address@example.org +Reviewed-by: Original Reviewer <original-reviewer@example.com> +Link: https://msgid.link/some@msgid.here +Signed-off-by: Original Submitter <original-submitter@example.com> +--- + +diff --git a/b4/junk.py b/b4/junk.py +index 12345678..23456789 100644 +--- a/b4/junk.py ++++ b/b4/junk.py +@@@ -1,1 +1,1 @@ def junk(): + + +-junk1 ++junk2 + + +-- +2.wong.fu + +From foo@z Thu Jan 1 00:00:00 1970 +From: Followup Reviewer1 <followup-reviewer1@example.com> +Subject: Re: [PATCH] Simple test +Date: Tue, 30 Aug 2022 11:19:07 -0400 +Message-Id: <fwup-message-1@example.com> +In-Reply-To: <orig-message@example.com> +References: <orig-message@example.com> + +> This is a simple trailer parsing test. + +Reviewed-by: Followup Reviewer1 (corporate) <followup-reviewer1@example.com> + +-- +My sig + +From foo@z Thu Jan 1 00:00:00 1970 +From: Followup Reviewer2 <followup-reviewer2@example.com> +Subject: Re: [PATCH] Simple test +Date: Tue, 30 Aug 2022 11:19:07 -0400 +Message-Id: <fwup-message-2@example.com> +In-Reply-To: <fwup-message-1@example.com> +References: <orig-message@example.com> <fwup-message-1@example.com> + +>> This is a simple trailer parsing test. +> +> Reviewed-by: Followup Reviewer1 <reviewer1@example.com> + +Tested-by: Followup Reviewer2 <followup-reviewer2@example.com> + +-- +My sig + +From foo@z Thu Jan 1 00:00:00 1970 +From: Mismatched Reviewer <mismatched-reviewer1@example.com> +Subject: Re: [PATCH] Simple test +Date: Tue, 30 Aug 2022 11:19:07 -0400 +Message-Id: <fwup-message-3@example.com> +In-Reply-To: <orig-message@example.com> +References: <orig-message@example.com> + +> This is a simple trailer parsing test. + +Reviewed-by: Mismatched Reviewer1 <mismatched-reviewer1@example.net> + +-- +My sig + diff --git a/tests/test___init__.py b/tests/test___init__.py index 14e3c8f..4806b63 100644 --- a/tests/test___init__.py +++ b/tests/test___init__.py @@ -100,6 +100,7 @@ def test_parse_trailers(sampledir, source, expected): ('partial-reroll', {}, {'addmysob': True}, 'defaults', {}), ('nore', {}, {}, 'defaults', {}), ('name-parens', {}, {}, 'defaults', {}), + ('bare-address', {}, {}, 'defaults', {}), ]) def test_followup_trailers(sampledir, source, serargs, amargs, reference, b4cfg): b4.MAIN_CONFIG.update(b4cfg) |