Re: Failure to extra stable@vger.kernel.org addresses
- From
- Krzysztof Mazur <krzysiek@podlesie.net>
- Date
- Nov 20, 2012, 21:21 UTC
- Message-ID
- <20121120212126.GA12656@shrek.podlesie.net>
- In-Reply-To
- <m2lidw11yb.fsf@igel.home>
On Tue, Nov 20, 2012 at 08:58:20PM +0100, Andreas Schwab wrote:
> How about "s/(.*?<[^>]*>).*$/$1/"? That will still fail on "<foo@bar>" > <foo@bar>, but you'll need a full rfc822 parser to handle the general > case anyway.
That will fail also on "<something>" <foo@bar>.
I think it's good compromise between complexity and correctness.
Felipe, may you check, it again? This time the change is trivial.
Andreas, may I add you in Thanks-to?
Thanks,
Krzysiek
-- >8 -- Subject: [PATCH] git-send-email: remove garbage after email address
In some cases it's very useful to add some additional information after email in Cc-list, for instance:
"Cc: Stable kernel <stable@vger.kernel.org> #v3.4 v3.5 v3.6"
Currently the git refuses to add such invalid email to Cc-list, when the Email::Valid perl module is available or just uses whole line as the email address.
Now in sanitize_address() everything after the email address is removed, so the resulting line is correct email address and Email::Valid validates it correctly.
To avoid unnecessary complexity this code assumes that in phrase before email address '<something>' never exists.
Signed-off-by: Krzysztof Mazur <krzysiek@podlesie.net> --- git-send-email.perl | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/git-send-email.perl b/git-send-email.perl index 5a7c29d..157eabc 100755 --- a/git-send-email.perl +++ b/git-send-email.perl @@ -924,6 +924,10 @@ sub quote_subject { # use the simplest quoting being able to handle the recipient sub sanitize_address { my ($recipient) = @_; + + # remove garbage after email address + $recipient =~ s/(.*?<[^>]*>).*$/$1/; + my ($recipient_name, $recipient_addr) = ($recipient =~ /^(.*?)\s*(<.*)/); if (not $recipient_name) {
-- 1.8.0.283.gc57d856