From 02e6198f170198429c3a7bc38b118b8afab43da7 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Sun, 9 Jun 2024 16:56:14 +0200 Subject: [PATCH] Improve Decrypt errors --- .../v/0.0.0/app/libraries/snappymail/crypt.php | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) 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 ad0e7cad9..828f3b33a 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/crypt.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/crypt.php @@ -64,18 +64,20 @@ abstract class Crypt ) /* : mixed */ { if (3 === \count($data) && isset($data[0], $data[1], $data[2]) && \strlen($data[0])) { - try { - $fn = "{$data[0]}Decrypt"; - if (\method_exists(__CLASS__, $fn)) { + $fn = "{$data[0]}Decrypt"; + if (\method_exists(__CLASS__, $fn)) { + Log::warning('Crypt', "{$fn} does not exists"); + } else { + try { $result = static::{$fn}($data[2], $data[1], $key); if (\is_string($result)) { return static::jsonDecode($result); } + throw new \Exception('invalid $data or $key'); + } catch (\Throwable $e) { + Log::error('Crypt', "{$fn}(): {$e->getMessage()}"); } - } catch (\Throwable $e) { - Log::error('Crypt', "{$fn}(): {$e->getMessage()}"); } - Log::warning('Crypt', 'Decrypt() invalid $data or $key'); } else { Log::warning('Crypt', 'Decrypt() invalid $data'); }