From ba55b328ea19f43c64a6476a18fa6e8a7149e218 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Mon, 12 Feb 2024 17:15:53 +0100 Subject: [PATCH] Workaround Dovecot `PREAUTH [CAPABILITY (null)]` issue --- .../v/0.0.0/app/libraries/MailSo/Imap/FetchResponse.php | 2 +- .../v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/FetchResponse.php b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/FetchResponse.php index 2ccb712fb..c882df8f6 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/FetchResponse.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/FetchResponse.php @@ -132,7 +132,7 @@ class FetchResponse public static function isValidImapResponse(Response $oImapResponse) : bool { return - true !== $oImapResponse->IsStatusResponse + !$oImapResponse->IsStatusResponse && Enumerations\ResponseType::UNTAGGED === $oImapResponse->ResponseType && 3 < \count($oImapResponse->ResponseList) && 'FETCH' === $oImapResponse->ResponseList[2] && \is_array($oImapResponse->ResponseList[3]); diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php index a90009212..62263d4c8 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php @@ -515,6 +515,13 @@ class ImapClient extends \MailSo\Net\NetClient $oResponse = $this->partialParseResponse(); $oResult->append($oResponse); + if ($oResponse->IsStatusResponse + && Enumerations\ResponseType::UNTAGGED === $oResponse->ResponseType + && Enumerations\ResponseStatus::PREAUTH === $oResponse->StatusOrIndex + ) { + break; + } + // RFC 5530 if ($sEndTag === $oResponse->Tag && \is_array($oResponse->OptionalResponse) && 'CLIENTBUG' === $oResponse->OptionalResponse[0]) { // The server has detected a client bug.