Aleksander Machniak
2013-12-27 3e98f8be718578644bb15ee6a992a875f6468e8f
plugins/enigma/lib/enigma_engine.php
@@ -92,9 +92,6 @@
        if ($this->smime_driver)
            return;
        // NOT IMPLEMENTED!
        return;
        $driver = 'enigma_driver_' . $this->rc->config->get('enigma_smime_driver', 'phpssl');
        $username = $this->rc->user->get_username();
@@ -255,11 +252,11 @@
     */
    private function parse_pgp_signed(&$p)
    {
        // Verify signature
        if ($this->rc->action == 'show' || $this->rc->action == 'preview') {
        $this->load_pgp_driver();
        $struct = $p['structure'];
        
        // Verify signature
        if ($this->rc->action == 'show' || $this->rc->action == 'preview') {
            $msg_part = $struct->parts[0];
            $sig_part = $struct->parts[1];
        
@@ -294,7 +291,31 @@
     */
    private function parse_smime_signed(&$p)
    {
        // Verify signature
        if ($this->rc->action == 'show' || $this->rc->action == 'preview') {
        $this->load_smime_driver();
            $struct   = $p['structure'];
            $msg_part = $struct->parts[0];
            // Verify
            $sig = $this->smime_driver->verify($struct, $p['object']);
            // Store signature data for display
            $this->signatures[$struct->mime_id] = $sig;
            // Message can be multipart (assign signature to each subpart)
            if (!empty($msg_part->parts)) {
                foreach ($msg_part->parts as $part)
                    $this->signed_parts[$part->mime_id] = $struct->mime_id;
            }
            else {
                $this->signed_parts[$msg_part->mime_id] = $struct->mime_id;
            }
            // Remove signature file from attachments list
            unset($struct->parts[1]);
        }
    }
    /**
@@ -359,7 +380,7 @@
     */
    private function parse_smime_encrypted(&$p)
    {
        $this->load_smime_driver();
//        $this->load_smime_driver();
    }
    /**