Homec4science

Fix an issue where generation of mail processing error email could fail in the…

Authored by epriestley <git@epriestley.com> on Jan 11 2016, 18:58.

Description

Fix an issue where generation of mail processing error email could fail in the presence of duplicate headers

Summary:
Ref T10121. If a user sends mail with duplicate headers, like:

X-Duplicate: A
X-Duplicate: B

...and we process it with mail_handler.php, we may end up with array('A', 'B') as the header value. When we try to write this back into an error response mail, it fails.

Test Plan:

  • Generated a message with duplicate headers.
  • Piped it into mail_handler.php with --process-duplicates and --trace to get a look at it.
  • Faked an exception.
  • Before patch: bad error email.
  • After patch: clean error email showing multiple header values.
$ ./bin/mail show-outbound --id 12386
PROPERTIES
ID: 12386
Status: queued
Related PHID:
Message:

PARAMETERS
sensitive: 1
is-error: 1
force: 1
subject: Error Processing Mail (Exception)
raw-to: ["epriestley@phacility.com"]

HEADERS
X-Phabricator-Sent-This-Message: Yes
X-Mail-Transport-Agent: MetaMTA
X-Auto-Response-Suppress: All

TEXT BODY
Your email to Phabricator was not processed, because an error occurred while
trying to handle it:

Exception: TEST

-- Original Message Body -----------------------------------------------------

testy testy

-- Original Message Headers --------------------------------------------------

from: Evan Priestley <epriestley@phacility.com>
content-type: text/plain; charset=us-ascii
content-transfer-encoding: 7bit
x-smtp-server: smtp.gmail.com:epriestley@phacility.com
subject: test outbound mail
message-id: 7isvptmllqvdvtdxthvdwzg3woj5au7csyuh3hopypjv6y6hqb32qm4bcrd4jtid
x-universally-unique-identifier: 4E489E20-F674-49B2-94BA-0DE44F504EAA
date: Mon, 11 Jan 2016 09:50:12 -0800
date: Mon, 11 Jan 2016 09:50:13 -0800
date: Mon, 11 Jan 2016 09:50:14 -0800
date: Mon, 11 Jan 2016 09:50:15 -0800
to: epriestley@yghe.net
mime-version: 1.0 (Mac OS X Mail 8.2 \(2104\))

HTML BODY
(This message has no HTML body.)

Reviewers: chad

Reviewed By: chad

Maniphest Tasks: T10121

Differential Revision: https://secure.phabricator.com/D14996

Details

Committed
epriestley <git@epriestley.com>Jan 11 2016, 19:16
Pushed
aubortJan 31 2017, 17:16
Parents
rPHa061bd2d09c2: Parse and display commit authorship date in Git in Diffusion
Branches
Unknown
Tags
Unknown

Event Timeline

epriestley <git@epriestley.com> committed rPH516ba5e6c56f: Fix an issue where generation of mail processing error email could fail in the… (authored by epriestley <git@epriestley.com>).Jan 11 2016, 19:16