HomePhorge

Fix parsing of incoming mail with UTF-8 encoded headers

Description

Fix parsing of incoming mail with UTF-8 encoded headers

Summary:
rPa76444a8e238f647dc96f756e6c88aa2fafcdbfe updated our 13 year old copy of the mimemailparser library.
That included a behaviour change in the library not covered by Phorge code: The library now decodes MIME encoded UTF8 data in headers. Phorge passes that header to the iconv_mime_decode() PHP function which does not accept already encoded content.

EXCEPTION: (RuntimeException) iconv_mime_decode(): Detected an illegal character in input string at [<arcanist>/src/error/PhutilErrorHandler.php:273]
arcanist(head=master, ref.master=29ca3df1122b), phorge(head=master, ref.master=6ec5c88bee24)
  #0 PhutilErrorHandler::handleError(integer, string, string, integer)
  #1 iconv_mime_decode(string, integer, string) called at [<arcanist>/src/utils/utils.php:1759]
  #2 phutil_decode_mime_header(string) called at [<phorge>/scripts/mail/mail_handler.php:64]

Closes T15960

Test Plan: * Have an email file called tmp.mbox with a UTF-8 encoded From: header. In scripts/mail/mail_handler.php, replace file_get_contents('php://stdin') with file_get_contents('./tmp.mbox'). Insert echo $headers['subject']; echo "\n"; echo $headers['from']; statements for debugging. Run php ./mail_handler.php.

Reviewers: O1 Blessed Committers, taavi, valerio.bozzolan

Reviewed By: O1 Blessed Committers, taavi, valerio.bozzolan

Subscribers: taavi, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno

Maniphest Tasks: T15960

Differential Revision: https://we.phorge.it/D25839

Details

Provenance
Andre KlapperAuthored on Nov 26 2024, 5:47 AM
themackabuPushed on Tue, Mar 25, 8:07 PM
Parents
rPeb380f922c9a: Account registration: Restrict Real Name length
Branches
Unknown
Tags
Unknown

Event Timeline