From 7603b237998d7225839b4eeb565a5f25bdd5d5fb Mon Sep 17 00:00:00 2001 From: nupplaPhil Date: Fri, 31 Jan 2020 19:32:16 +0100 Subject: [PATCH] Fix secure Mail addon --- securemail/securemail.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/securemail/securemail.php b/securemail/securemail.php index 1ec1aa7b..b45a91bc 100644 --- a/securemail/securemail.php +++ b/securemail/securemail.php @@ -116,6 +116,8 @@ function securemail_settings_post(App &$a, array &$b) */ function securemail_emailer_send_prepare(App &$a, IEmail &$email) { + DI::logger()->warning('start securemail', ['email' => $email]); + if (empty($email->getRecipientUid())) { return; } @@ -124,6 +126,7 @@ function securemail_emailer_send_prepare(App &$a, IEmail &$email) $enable_checked = DI::pConfig()->get($uid, 'securemail', 'enable'); if (!$enable_checked) { + DI::logger()->warning('No check!!', ['email' => $email]); return; } @@ -133,12 +136,17 @@ function securemail_emailer_send_prepare(App &$a, IEmail &$email) $marker = empty($matches[1]) ? 'MESSAGE' : $matches[1]; $public_key = OpenPGP::unarmor($public_key_ascii, $marker); + DI::logger()->warning('public key', ['public_key' => $public_key]); + $key = OpenPGP_Message::parse($public_key); $data = new OpenPGP_LiteralDataPacket($email->getMessage(true), [ 'format' => 'u', 'filename' => 'encrypted.gpg' ]); + + DI::logger()->warning('data', ['data' => $data]); + try { $encrypted = OpenPGP_Crypt_Symmetric::encrypt($key, new OpenPGP_Message([$data])); $armored_encrypted = wordwrap( @@ -148,10 +156,10 @@ function securemail_emailer_send_prepare(App &$a, IEmail &$email) true ); - $email = Friendica\Object\EMail::createFromPrototype($email, [ - 'textVersion' => $armored_encrypted, - 'htmlVersion' => null, - ]); + $email = $email->withMessage($armored_encrypted, null); + + DI::logger()->warning('End securemail', ['email' => $email]); + } catch (Exception $e) { DI::logger()->warning('Encryption failed.', ['email' => $email, 'exception' => $e]); }