Page MenuHomePhorge

PHP 8.1 "strlen(null)" exception when received email lacks From header
Closed, ResolvedPublic

Description

  1. PHP 8.2.17, Phorge at 216d308507edd54a68cb392df9f47011265c64e9
  2. Intentionally bug function parse() in https://we.phorge.it/source/phorge/browse/master/externals/mimemailparser/MimeMailParser.class.php$137 by adding the line $this->resource = mailparse_msg_create(); right after $this->parts = array(); - this basically emulates a buggy email with no From: message header getting into Phorge. (While this does violate RFC 2822, it's still up to Phorge not to end up with an exception trying to handle this.)
  3. Run php ./mail_handler.php after following the steps in T15765.
[2024-03-31 11:39:26] ERROR 8192: strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [/var/www/html/phorge/phorge/src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:527]
arcanist(head=master, ref.master=ef73b12b580e), phorge(head=master, ref.master=216d308507ed)
  #0 PhabricatorMetaMTAReceivedMail::newFromAddress() called at [<phorge>/src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:549]
  #1 PhabricatorMetaMTAReceivedMail::loadSender() called at [<phorge>/src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:155]
  #2 PhabricatorMetaMTAReceivedMail::processReceivedMail() called at [<phorge>/scripts/mail/mail_handler.php:92]
[2024-03-31 11:39:26] ERROR 8192: strlen(): Passing null to parameter #1 ($string) of type string is deprecated at [/var/www/html/phorge/phorge/src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:527]
arcanist(head=master, ref.master=ef73b12b580e), phorge(head=master, ref.master=216d308507ed)
  #0 PhabricatorMetaMTAReceivedMail::newFromAddress() called at [<phorge>/src/applications/metamta/storage/PhabricatorMetaMTAReceivedMail.php:268]
  #1 PhabricatorMetaMTAReceivedMail::processReceivedMail() called at [<phorge>/scripts/mail/mail_handler.php:92]

Related Objects

View Standalone Graph
This task is connected to more than 200 other tasks. Only direct parents and subtasks are shown here. Use View Standalone Graph to show more of the graph.