From bd0551b22076b82a6d49e9f7a2b2e0c90a1b2326 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Fri, 05 Feb 2016 07:25:27 -0500
Subject: [PATCH] Secure also downloads of addressbook exports, managesieve script exports and Enigma keys exports

---
 plugins/enigma/lib/enigma_driver_phpssl.php |   18 ++++++++----------
 1 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/plugins/enigma/lib/enigma_driver_phpssl.php b/plugins/enigma/lib/enigma_driver_phpssl.php
index a2d73f4..a5aa6de 100644
--- a/plugins/enigma/lib/enigma_driver_phpssl.php
+++ b/plugins/enigma/lib/enigma_driver_phpssl.php
@@ -39,15 +39,15 @@
         $homedir = $this->rc->config->get('enigma_smime_homedir', INSTALL_PATH . '/plugins/enigma/home');
 
         if (!$homedir)
-            return new enigma_error(enigma_error::E_INTERNAL,
+            return new enigma_error(enigma_error::INTERNAL,
                 "Option 'enigma_smime_homedir' not specified");
 
         // check if homedir exists (create it if not) and is readable
         if (!file_exists($homedir))
-            return new enigma_error(enigma_error::E_INTERNAL,
+            return new enigma_error(enigma_error::INTERNAL,
                 "Keys directory doesn't exists: $homedir");
         if (!is_writable($homedir))
-            return new enigma_error(enigma_error::E_INTERNAL,
+            return new enigma_error(enigma_error::INTERNAL,
                 "Keys directory isn't writeable: $homedir");
 
         $homedir = $homedir . '/' . $this->user;
@@ -57,10 +57,10 @@
             mkdir($homedir, 0700);
 
         if (!file_exists($homedir))
-            return new enigma_error(enigma_error::E_INTERNAL,
+            return new enigma_error(enigma_error::INTERNAL,
                 "Unable to create keys directory: $homedir");
         if (!is_writable($homedir))
-            return new enigma_error(enigma_error::E_INTERNAL,
+            return new enigma_error(enigma_error::INTERNAL,
                 "Unable to write to keys directory: $homedir");
 
         $this->homedir = $homedir;
@@ -104,7 +104,7 @@
         if ($sig !== true) {
             // try without certificate verification
             $sig      = openssl_pkcs7_verify($msg_file, PKCS7_NOVERIFY, $cert_file);
-            $validity = enigma_error::E_UNVERIFIED;
+            $validity = enigma_error::UNVERIFIED;
         }
 
         if ($sig === true) {
@@ -112,7 +112,7 @@
         }
         else {
             $errorstr = $this->get_openssl_error();
-            $sig = new enigma_error(enigma_error::E_INTERNAL, $errorstr);
+            $sig = new enigma_error(enigma_error::INTERNAL, $errorstr);
         }
 
         // remove temp files
@@ -183,8 +183,6 @@
                 $skey->expires     = $subkey->getExpirationDate();
                 $skey->fingerprint = $subkey->getFingerprint();
                 $skey->has_private = $subkey->hasPrivate();
-                $skey->can_sign    = $subkey->canSign();
-                $skey->can_encrypt = $subkey->canEncrypt();
 
                 $ekey->subkeys[$idx] = $skey;
         };
@@ -211,7 +209,7 @@
 
         if (empty($cert) || empty($cert['subject'])) {
             $errorstr = $this->get_openssl_error();
-            return new enigma_error(enigm_error::E_INTERNAL, $errorstr);
+            return new enigma_error(enigma_error::INTERNAL, $errorstr);
         }
 
         $data = new enigma_signature();

--
Gitblit v1.9.1