⚝
One Hat Cyber Team
⚝
Your IP:
216.73.217.4
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
psa-roundcube
/
plugins
/
enigma
/
lib
/
View File Name :
enigma_signature.php
| +-------------------------------------------------------------------------+ */ class enigma_signature { public $id; public $valid; public $fingerprint; public $created; public $expires; public $name; public $comment; public $email; // Set it to true if signature is valid, but part of the message // was out of the signed block public $partial; /** * Find key user id matching the email message sender * * @param enigma_engine $engine Enigma engine * @param rcube_message $message Message object * @param string $part_id Message part identifier * * @return string User identifier (name + email) */ public function get_sender($engine, $message, $part_id = null) { if (!$this->email) { return $this->name; } if ($this->fingerprint && ($key = $engine->get_key($this->fingerprint))) { $from = $message->headers->from; $charset = $message->headers->charset; // Get From: header from the parent part, if it's a forwarded message if ($part_id && strpos($part_id, '.') !== false) { $level = explode('.', $part_id); $parts = $message->mime_parts(); while (array_pop($level) !== null) { $parent = join('.', $level); if (!empty($parts[$parent]) && $parts[$parent]->mimetype == 'message/rfc822') { $from = $parts[$parent]->headers['from']; $charset = $parts[$parent]->charset; break; } } } $from = rcube_mime::decode_address_list($from, 1, true, $charset); $from = (array) $from[1]; if (!empty($from)) { // Compare name and email foreach ($key->users as $user) { if ($user->name == $from['name'] && $user->email == $from['mailto']) { return sprintf('%s <%s>', $user->name, $user->email); } } // Compare only email foreach ($key->users as $user) { if ($user->email === $from['mailto']) { return sprintf('%s <%s>', $this->name, $user->email); } } } } return sprintf('%s <%s>', $this->name, $this->email); } }