Skip to contentSkip to conversation

patman dies cryptially when a (valid) e-mail address contains parentheses (or is UTF-8)

U-Boot Albert ARIBAUD 2 participants 3 messages Jan 27, 2016 – Jan 28, 2016

lore
Share & tools
lore
#0 lore raw

Hello Simon,

I just noticed this while adding a Series-cc to my work address which has parentheses: running patman (without -n) will result in

sh: 1: Syntax error: "(" unexpected

Which initially left me wondering what was happening until I realized one of the Series-cc addresses had parentheses, e.g.

Series-cc: "Name NAME (NAME)" <[email protected]>

Note that the parentheses were in the free-form part of the address, itself within double quotation marks, which appears valid wrt the RFC.

I've tried using single quotes as a workaround:

Series-cc: 'Name NAME (NAME)' <[email protected]>

It kind-of-works in that patman does not die, but the resulting address in the mail has outer double quotes and inner single quotes, e.g.

"'Name NAME (NAME)'" <[email protected]>

Aditionally, addresses with names in UTF-8 also fail, though differently but still with a message somewhat unrelated to the actual cause (UTF-8-name is the placeholder for a name containing UTF-8 diacritics):

fatal: ambiguous argument 'UTF-8-name <[email protected]>':
unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

The same single-quote hack works it around, with the resulting mail Cc:ing the name surrounded by single quotes only:

	Cc: 'UTF-8-name' <[email protected]>

Cc:ing Marek who is a die-hard fan of UTF-8 names in e-mail addresses. :)

Amicalement,

Signature · 1 line
Albert.
#1 lore raw

Hi Albert,

Quoted 34 lines · Albert ARIBAUD

Hello Simon,

I just noticed this while adding a Series-cc to my work address which has parentheses: running patman (without -n) will result in

sh: 1: Syntax error: "(" unexpected

Which initially left me wondering what was happening until I realized one of the Series-cc addresses had parentheses, e.g.

Series-cc: "Name NAME (NAME)" <[email protected]>

Note that the parentheses were in the free-form part of the address, itself within double quotation marks, which appears valid wrt the RFC.

I've tried using single quotes as a workaround:

Series-cc: 'Name NAME (NAME)' <[email protected]>

It kind-of-works in that patman does not die, but the resulting address in the mail has outer double quotes and inner single quotes, e.g.

"'Name NAME (NAME)'" <[email protected]>

Aditionally, addresses with names in UTF-8 also fail, though differently but still with a message somewhat unrelated to the actual cause (UTF-8-name is the placeholder for a name containing UTF-8 diacritics):

fatal: ambiguous argument 'UTF-8-name <[email protected]>':
unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Quoted 7 lines

The same single-quote hack works it around, with the resulting mail Cc:ing the name surrounded by single quotes only:

        Cc: 'UTF-8-name' <[email protected]>

Cc:ing Marek who is a die-hard fan of UTF-8 names in e-mail addresses. :)

I wonder if this is a problem with the cc_cmd code in patman.py?

# Called from git with a patch filename as argument # Printout a list of additional CC recipients for this patch elif options.cc_cmd:

Perhaps it should quote its output somehow?

Regards,
Simon

#2 lore raw

Hello Simon,

Quoted 45 lines · Simon Glass

Hi Albert,

Quoted 34 lines · Albert ARIBAUD

Hello Simon,

I just noticed this while adding a Series-cc to my work address which has parentheses: running patman (without -n) will result in

sh: 1: Syntax error: "(" unexpected

Which initially left me wondering what was happening until I realized one of the Series-cc addresses had parentheses, e.g.

Series-cc: "Name NAME (NAME)" <[email protected]>

Note that the parentheses were in the free-form part of the address, itself within double quotation marks, which appears valid wrt the RFC.

I've tried using single quotes as a workaround:

Series-cc: 'Name NAME (NAME)' <[email protected]>

It kind-of-works in that patman does not die, but the resulting address in the mail has outer double quotes and inner single quotes, e.g.

"'Name NAME (NAME)'" <[email protected]>

Aditionally, addresses with names in UTF-8 also fail, though differently but still with a message somewhat unrelated to the actual cause (UTF-8-name is the placeholder for a name containing UTF-8 diacritics):

fatal: ambiguous argument 'UTF-8-name <[email protected]>':
unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

Quoted 7 lines

The same single-quote hack works it around, with the resulting mail Cc:ing the name surrounded by single quotes only:

        Cc: 'UTF-8-name' <[email protected]>

Cc:ing Marek who is a die-hard fan of UTF-8 names in e-mail addresses. :)

Quoted 7 lines

I wonder if this is a problem with the cc_cmd code in patman.py?

# Called from git with a patch filename as argument # Printout a list of additional CC recipients for this patch elif options.cc_cmd:

Perhaps it should quote its output somehow?

I'll try and test that this week-end.

Quoted 2 lines

Regards,
Simon

Amicalement,

Signature · 1 line
Albert.