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

Re: [PATCH v3 2/2] mailinfo: unescape quoted-pair in header fields

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 26, 2016, 19:11 UTC
Message-ID
<xmqq4m52scg7.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20160925210808.26424-2-me@ikke.info>
Kevin Daudt <me@ikke.info> writes:
Show 17 quoted lines
> rfc2822 has provisions for quoted strings and comments in structured header
> fields, but also allows for escaping these with so-called quoted-pairs.
>
> The only thing git currently does is removing exterior quotes, but
> quotes within are left alone.
>
> Remove exterior quotes and remove escape characters so that they don't
> show up in the author field.
>
> Signed-off-by: Kevin Daudt <me@ikke.info>
> Signed-off-by: Junio C Hamano <gitster@pobox.com>
> ---
>  Changes since v2:
>
>  - handle comments inside comments recursively
>  - renamed the main function to unquote_quoted_pairs because it also
>    handles quoted pairs in comments

Sounds good, and the implemention looked straight-forward from a quick scan.

Show 23 quoted lines
> diff --git a/t/t5100-mailinfo.sh b/t/t5100-mailinfo.sh
> index c4ed0f4..3e983c0 100755
> --- a/t/t5100-mailinfo.sh
> +++ b/t/t5100-mailinfo.sh
> @@ -144,4 +144,18 @@ test_expect_success 'mailinfo unescapes with --mboxrd' '
>  	test_cmp expect mboxrd/msg
>  '
>  
> +test_expect_success 'mailinfo handles rfc2822 quoted-string' '
> +	mkdir quoted-string &&
> +	git mailinfo /dev/null /dev/null <"$DATA"/quoted-string.in \
> +		>quoted-string/info &&
> +	test_cmp "$DATA"/quoted-string.expect quoted-string/info
> +'
> +
> +test_expect_success 'mailinfo handles rfc2822 comment' '
> +	mkdir comment &&
> +	git mailinfo /dev/null /dev/null <"$DATA"/comment.in \
> +		>comment/info &&
> +	test_cmp "$DATA"/comment.expect comment/info
> +'
> +
>  test_done

Don't these also need to be downcased if you prefer $data over $DATA, though?

Thanks.
Previous: Kevin DaudtNext: Junio C Hamano
Message 22 of 32 in “mailinfo: unescape quoted-pair in header fields”
  1. mailinfo: unescape quoted-pair in header fieldsKevin Daudt, Sep 16, 2016
  2. Jeff KingSep 16, 2016
  3. Kevin DaudtSep 19, 2016
  4. Jeff KingSep 20, 2016
  5. Junio C HamanoSep 21, 2016
  6. 0/2 Handle escape characters in From field.Kevin Daudt, Sep 19, 2016
  7. 2/2 mailinfo: unescape quoted-pair in header fieldsKevin Daudt, Sep 19, 2016
  8. Junio C HamanoSep 19, 2016
  9. Junio C HamanoSep 19, 2016
  10. Jeff KingSep 20, 2016
  11. Jeff KingSep 21, 2016
  12. Junio C HamanoSep 22, 2016
  13. Jeff KingSep 23, 2016
  14. Kevin DaudtSep 25, 2016
  15. Jakub NarębskiSep 25, 2016
  16. Kevin DaudtSep 26, 2016
  17. 1/2 t5100-mailinfo: replace common path prefix with variableKevin Daudt, Sep 19, 2016
  18. Junio C HamanoSep 19, 2016
  19. Jeff KingSep 20, 2016
  20. 1/2 t5100-mailinfo: replace common path prefix with variableKevin Daudt, Sep 25, 2016
  21. 2/2 mailinfo: unescape quoted-pair in header fieldsKevin Daudt, Sep 25, 2016
  22. Junio C HamanoSep 26, 2016
  23. Junio C HamanoSep 26, 2016
  24. Kevin DaudtSep 26, 2016
  25. Junio C HamanoSep 26, 2016
  26. Kevin DaudtSep 27, 2016
  27. Junio C HamanoSep 26, 2016
  28. 0/2 Handle RFC2822 quoted-pairs in From headerKevin Daudt, Sep 28, 2016
  29. 1/2 t5100-mailinfo: replace common path prefix with variableKevin Daudt, Sep 28, 2016
  30. Junio C HamanoSep 28, 2016
  31. Kevin DaudtSep 28, 2016
  32. 2/2 mailinfo: unescape quoted-pair in header fieldsKevin Daudt, Sep 28, 2016

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.