send-email: consider quote as delimiter instead of character
Do not consider quote inside a recipient name as character when they are not escaped. This interprets: "Jane" "Doe" <jdoe@example.com> as: "Jane Doe" <jdoe@example.com> instead of: "Jane\" \"Doe" <jdoe@example.com> Signed-off-by: Remi Lespinet <remi.lespinet@ensimag.grenoble-inp.fr> Signed-off-by: Matthieu Moy <Matthieu.Moy@imag.fr> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
8d314d7afe
commit
1fe9703f08
@ -1003,15 +1003,17 @@ sub sanitize_address {
|
||||
return $recipient;
|
||||
}
|
||||
|
||||
# remove non-escaped quotes
|
||||
$recipient_name =~ s/(^|[^\\])"/$1/g;
|
||||
|
||||
# rfc2047 is needed if a non-ascii char is included
|
||||
if ($recipient_name =~ /[^[:ascii:]]/) {
|
||||
$recipient_name =~ s/^"(.*)"$/$1/;
|
||||
$recipient_name = quote_rfc2047($recipient_name);
|
||||
}
|
||||
|
||||
# double quotes are needed if specials or CTLs are included
|
||||
elsif ($recipient_name =~ /[][()<>@,;:\\".\000-\037\177]/) {
|
||||
$recipient_name =~ s/(["\\\r])/\\$1/g;
|
||||
$recipient_name =~ s/([\\\r])/\\$1/g;
|
||||
$recipient_name = qq["$recipient_name"];
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user