From b6df50546e2fcd7601dd91e53f4dfee140130945 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Wed, 27 Mar 2024 01:23:11 +0100 Subject: [PATCH] logMask all AUTHENTICATE requests --- .../v/0.0.0/app/libraries/MailSo/Imap/ImapClient.php | 5 ++++- .../v/0.0.0/app/libraries/MailSo/Smtp/SmtpClient.php | 12 +++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) 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 837550759..2912ba033 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 @@ -164,6 +164,7 @@ class ImapClient extends \MailSo\Net\NetClient $this->sendRaw($sAuth); } $oResponse = $this->getResponse(); +// if ($oResponse->getLast()->ResponseType === Enumerations\ResponseType::CONTINUATION) if ($SASL->hasChallenge()) { $sChallenge = $SASL->challenge($this->getResponseValue($oResponse, Enumerations\ResponseType::CONTINUATION)); $this->logMask($sChallenge); @@ -192,7 +193,9 @@ class ImapClient extends \MailSo\Net\NetClient { $oResponse = $this->SendRequestGetResponse('AUTHENTICATE', array($type)); $sB64 = $this->getResponseValue($oResponse, Enumerations\ResponseType::CONTINUATION); - $this->sendRaw($SASL->authenticate($sLogin, $sPassword, $sB64), true); + $sAuth = $SASL->authenticate($sLogin, $sPassword, $sB64); + $this->logMask($sAuth); + $this->sendRaw($sAuth, true); $this->getResponse(); $sPass = $SASL->challenge(''/*UGFzc3dvcmQ6*/); $this->logMask($sPass); diff --git a/snappymail/v/0.0.0/app/libraries/MailSo/Smtp/SmtpClient.php b/snappymail/v/0.0.0/app/libraries/MailSo/Smtp/SmtpClient.php index 869b01c8e..d6ab092af 100644 --- a/snappymail/v/0.0.0/app/libraries/MailSo/Smtp/SmtpClient.php +++ b/snappymail/v/0.0.0/app/libraries/MailSo/Smtp/SmtpClient.php @@ -153,7 +153,9 @@ class SmtpClient extends \MailSo\Net\NetClient // https://github.com/the-djmaze/snappymail/issues/1038 try { - $sResult = $this->sendRequestWithCheck('AUTH PLAIN ' . $SASL->authenticate($sLogin, $sPassword), 235); + $sRequest = $SASL->authenticate($sLogin, $sPassword); + $this->logMask($sRequest); + $sResult = $this->sendRequestWithCheck('AUTH PLAIN ' . $sRequest, 235); } catch (\MailSo\Smtp\Exceptions\NegativeResponseException $oException) { @@ -179,7 +181,9 @@ class SmtpClient extends \MailSo\Net\NetClient $sRequest = ''; if (\str_starts_with($type, 'SCRAM-')) { // RFC 5802 - $sResult = $this->sendRequestWithCheck($SASL->authenticate($sLogin, $sPassword, $sResult), 234); + $sRequest = $SASL->authenticate($sLogin, $sPassword, $sResult); + $this->logMask($sRequest); + $sResult = $this->sendRequestWithCheck($sRequest, 234); $sRequest = $SASL->challenge($sResult); } else switch ($type) { // RFC 4616 @@ -190,7 +194,9 @@ class SmtpClient extends \MailSo\Net\NetClient break; case 'LOGIN': - $sResult = $this->sendRequestWithCheck($SASL->authenticate($sLogin, $sPassword, $sResult), 334); + $sRequest = $SASL->authenticate($sLogin, $sPassword, $sResult); + $this->logMask($sRequest); + $sResult = $this->sendRequestWithCheck($sRequest, 334); $sRequest = $SASL->challenge($sResult); break;