From 6800c76e40b1d1e418ac02d1124ca52ad423f846 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Tue, 21 Jun 2022 22:27:26 +0200 Subject: [PATCH] Changes for Decrypt issue #442 --- .../0.0.0/app/libraries/RainLoop/Actions/Messages.php | 2 +- .../v/0.0.0/app/libraries/RainLoop/Actions/Raw.php | 11 +++++------ .../v/0.0.0/app/libraries/RainLoop/Actions/User.php | 8 ++++---- snappymail/v/0.0.0/app/libraries/RainLoop/Utils.php | 4 ++-- snappymail/v/0.0.0/app/libraries/snappymail/crypt.php | 1 + 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Messages.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Messages.php index 47f9288c3..05e2dbc2a 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Messages.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Messages.php @@ -605,7 +605,7 @@ trait Messages { if ($aValues = \RainLoop\Utils::DecodeKeyValuesQ($sAttachment)) { - $sFolder = isset($aValues['Folder']) ? $aValues['Folder'] : ''; + $sFolder = isset($aValues['Folder']) ? (string) $aValues['Folder'] : ''; $iUid = isset($aValues['Uid']) ? (int) $aValues['Uid'] : 0; $sMimeIndex = isset($aValues['MimeIndex']) ? (string) $aValues['MimeIndex'] : ''; diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Raw.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Raw.php index 7a158d3b1..8dd73136b 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Raw.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Raw.php @@ -14,15 +14,14 @@ trait Raw $sRawKey = (string) $this->GetActionParam('RawKey', ''); $aValues = $this->getDecodedRawKeyValue($sRawKey); - $sFolder = isset($aValues['Folder']) ? $aValues['Folder'] : ''; - $iUid = (isset($aValues['Uid']) ? (int) $aValues['Uid'] : 0); - $sMimeIndex = (string) (isset($aValues['MimeIndex']) ? $aValues['MimeIndex'] : ''); + $sFolder = isset($aValues['Folder']) ? (string) $aValues['Folder'] : ''; + $iUid = isset($aValues['Uid']) ? (int) $aValues['Uid'] : 0; + $sMimeIndex = isset($aValues['MimeIndex']) ? (string) $aValues['MimeIndex'] : ''; \header('Content-Type: text/plain'); return $this->MailClient()->MessageMimeStream(function ($rResource) { - if (\is_resource($rResource)) - { + if (\is_resource($rResource)) { \MailSo\Base\Utils::FpassthruWithTimeLimitReset($rResource); } }, $sFolder, $iUid, $sMimeIndex); @@ -132,7 +131,7 @@ trait Raw $bIsRangeRequest = true; } - $sFolder = isset($aValues['Folder']) ? $aValues['Folder'] : ''; + $sFolder = isset($aValues['Folder']) ? (string) $aValues['Folder'] : ''; $iUid = isset($aValues['Uid']) ? (int) $aValues['Uid'] : 0; $sMimeIndex = isset($aValues['MimeIndex']) ? (string) $aValues['MimeIndex'] : ''; diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/User.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/User.php index 526a92190..023a2ae9b 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/User.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/User.php @@ -480,12 +480,12 @@ trait User { $aValues = $this->getDecodedRawKeyValue($sHash); - $sFolder = isset($aValues['Folder']) ? $aValues['Folder'] : ''; + $sFolder = isset($aValues['Folder']) ? (string) $aValues['Folder'] : ''; $iUid = isset($aValues['Uid']) ? (int) $aValues['Uid'] : 0; - $sMimeIndex = (string) isset($aValues['MimeIndex']) ? $aValues['MimeIndex'] : ''; + $sMimeIndex = isset($aValues['MimeIndex']) ? (string) $aValues['MimeIndex'] : ''; - $sContentTypeIn = (string) isset($aValues['MimeType']) ? $aValues['MimeType'] : ''; - $sFileNameIn = (string) isset($aValues['FileName']) ? $aValues['FileName'] : ''; + $sContentTypeIn = isset($aValues['MimeType']) ? (string) $aValues['MimeType'] : ''; + $sFileNameIn = isset($aValues['FileName']) ? (string) $aValues['FileName'] : ''; $oFileProvider = $this->FilesProvider(); diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Utils.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Utils.php index 4156ed3b8..f236a7020 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Utils.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Utils.php @@ -35,12 +35,12 @@ class Utils ); } - public static function DecodeKeyValuesQ(string $sEncodedValues, string $sCustomKey = '') : ?array + public static function DecodeKeyValuesQ(string $sEncodedValues, string $sCustomKey = '') : array { return \SnappyMail\Crypt::DecryptUrlSafe( $sEncodedValues, \sha1(APP_SALT.$sCustomKey.'Q'.static::GetSessionToken(false)) - ) ?: null; + ) ?: array(); } public static function GetSessionToken(bool $generate = true) : ?string diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/crypt.php b/snappymail/v/0.0.0/app/libraries/snappymail/crypt.php index 6cbded338..6cecb4d8b 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/crypt.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/crypt.php @@ -60,6 +60,7 @@ abstract class Crypt } catch (\Throwable $e) { \trigger_error(__CLASS__ . "::{$fn}(): " . $e->getMessage()); } +// \trigger_error(__CLASS__ . '::Decrypt() invalid $data or $key'); } else { // \trigger_error(__CLASS__ . '::Decrypt() invalid $data'); }