git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v7 08/10] send-email: consider quote as delimiter instead of character

From
Matthieu Moy <matthieu.moy@imag.fr>
Date
Jun 30, 2015, 12:16 UTC
Message-ID
<1435666611-18429-9-git-send-email-Matthieu.Moy@imag.fr>
In-Reply-To
<1435666611-18429-1-git-send-email-Matthieu.Moy@imag.fr>
From: Remi Lespinet <remi.lespinet@ensimag.grenoble-inp.fr>

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>
---
 git-send-email.perl | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/git-send-email.perl b/git-send-email.perl
index 4268ed9..df9d3f6 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -1034,15 +1034,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"];
 	}
 
-- 
2.5.0.rc0.10.g7792c2a
Previous: Matthieu MoyNext: Matthieu Moy
Message 19 of 21 in “send-email address management”
  1. 00/10 send-email address managementMatthieu Moy, Jun 30, 2015
  2. 01/10 t9001-send-email: move script creation in a setup testMatthieu Moy, Jun 30, 2015
  3. 02/10 send-email: allow aliases in patch header and command script outputsMatthieu Moy, Jun 30, 2015
  4. 03/10 t9001-send-email: refactor header variable fields replacementMatthieu Moy, Jun 30, 2015
  5. 04/10 send-email: refactor address list processMatthieu Moy, Jun 30, 2015
  6. 05/10 send-email: allow use of aliases in the From field of --compose modeMatthieu Moy, Jun 30, 2015
  7. 06/10 send-email: minor code refactoringMatthieu Moy, Jun 30, 2015
  8. 07/10 send-email: reduce dependencies impact on parse_address_lineMatthieu Moy, Jun 30, 2015
  9. Junio C HamanoJun 30, 2015
  10. Matthieu MoyJun 30, 2015
  11. Junio C HamanoJun 30, 2015
  12. 07/10 send-email: reduce dependencies impact on parse_address_lineRemi Lespinet, Jul 1, 2015
  13. Matthieu MoyJul 1, 2015
  14. Torsten BögershausenJul 7, 2015
  15. Matthieu MoyJul 7, 2015
  16. 07/10 send-email: reduce dependencies impact on parse_address_lineMatthieu Moy, Jul 7, 2015
  17. Torsten BögershausenJul 8, 2015
  18. Matthieu MoyJul 8, 2015
  19. 08/10 send-email: consider quote as delimiter instead of characterMatthieu Moy, Jun 30, 2015
  20. 09/10 send-email: allow multiple emails using --cc, --to and --bccMatthieu Moy, Jun 30, 2015
  21. 10/10 send-email: suppress meaningless whitespaces in from fieldMatthieu Moy, Jun 30, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.