forked from friendica/friendica-addons
Fix secure Mail addon
This commit is contained in:
parent
360e58e6e3
commit
7603b23799
|
@ -116,6 +116,8 @@ function securemail_settings_post(App &$a, array &$b)
|
||||||
*/
|
*/
|
||||||
function securemail_emailer_send_prepare(App &$a, IEmail &$email)
|
function securemail_emailer_send_prepare(App &$a, IEmail &$email)
|
||||||
{
|
{
|
||||||
|
DI::logger()->warning('start securemail', ['email' => $email]);
|
||||||
|
|
||||||
if (empty($email->getRecipientUid())) {
|
if (empty($email->getRecipientUid())) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -124,6 +126,7 @@ function securemail_emailer_send_prepare(App &$a, IEmail &$email)
|
||||||
|
|
||||||
$enable_checked = DI::pConfig()->get($uid, 'securemail', 'enable');
|
$enable_checked = DI::pConfig()->get($uid, 'securemail', 'enable');
|
||||||
if (!$enable_checked) {
|
if (!$enable_checked) {
|
||||||
|
DI::logger()->warning('No check!!', ['email' => $email]);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,12 +136,17 @@ function securemail_emailer_send_prepare(App &$a, IEmail &$email)
|
||||||
$marker = empty($matches[1]) ? 'MESSAGE' : $matches[1];
|
$marker = empty($matches[1]) ? 'MESSAGE' : $matches[1];
|
||||||
$public_key = OpenPGP::unarmor($public_key_ascii, $marker);
|
$public_key = OpenPGP::unarmor($public_key_ascii, $marker);
|
||||||
|
|
||||||
|
DI::logger()->warning('public key', ['public_key' => $public_key]);
|
||||||
|
|
||||||
$key = OpenPGP_Message::parse($public_key);
|
$key = OpenPGP_Message::parse($public_key);
|
||||||
|
|
||||||
$data = new OpenPGP_LiteralDataPacket($email->getMessage(true), [
|
$data = new OpenPGP_LiteralDataPacket($email->getMessage(true), [
|
||||||
'format' => 'u',
|
'format' => 'u',
|
||||||
'filename' => 'encrypted.gpg'
|
'filename' => 'encrypted.gpg'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
DI::logger()->warning('data', ['data' => $data]);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$encrypted = OpenPGP_Crypt_Symmetric::encrypt($key, new OpenPGP_Message([$data]));
|
$encrypted = OpenPGP_Crypt_Symmetric::encrypt($key, new OpenPGP_Message([$data]));
|
||||||
$armored_encrypted = wordwrap(
|
$armored_encrypted = wordwrap(
|
||||||
|
@ -148,10 +156,10 @@ function securemail_emailer_send_prepare(App &$a, IEmail &$email)
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
$email = Friendica\Object\EMail::createFromPrototype($email, [
|
$email = $email->withMessage($armored_encrypted, null);
|
||||||
'textVersion' => $armored_encrypted,
|
|
||||||
'htmlVersion' => null,
|
DI::logger()->warning('End securemail', ['email' => $email]);
|
||||||
]);
|
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
DI::logger()->warning('Encryption failed.', ['email' => $email, 'exception' => $e]);
|
DI::logger()->warning('Encryption failed.', ['email' => $email, 'exception' => $e]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue