Aleksander Machniak
2016-04-17 6e4642b12ca7a487690e4cf3e7a72fbade224d5a
plugins/enigma/lib/enigma_driver_gnupg.php
@@ -40,6 +40,7 @@
    function init()
    {
        $homedir = $this->rc->config->get('enigma_pgp_homedir', INSTALL_PATH . 'plugins/enigma/home');
        $debug   = $this->rc->config->get('enigma_debug');
        if (!$homedir)
            return new enigma_error(enigma_error::INTERNAL,
@@ -73,7 +74,7 @@
            $this->gpg = new Crypt_GPG(array(
                'homedir'   => $this->homedir,
                // 'binary'    => '/usr/bin/gpg2',
                // 'debug'     => true,
                'debug'     => $debug ? array($this, 'debug') : false,
          ));
        }
        catch (Exception $e) {
@@ -257,10 +258,11 @@
    public function gen_key($data)
    {
        try {
            $debug  = $this->rc->config->get('enigma_debug');
            $keygen = new Crypt_GPG_KeyGenerator(array(
                    'homedir' => $this->homedir,
                    // 'binary'  => '/usr/bin/gpg2',
                    // 'debug'   => true,
                    'debug'   => $debug ? array($this, 'debug') : false,
            ));
            $key = $keygen
@@ -423,14 +425,6 @@
        $ekey->name = trim($ekey->users[0]->name . ' <' . $ekey->users[0]->email . '>');
        foreach ($key->getSubKeys() as $idx => $subkey) {
            $usage = 0;
            if ($subkey->canSign()) {
                $usage += enigma_key::CAN_SIGN;
            }
            if ($subkey->canEncrypt()) {
                $usage += enigma_key::CAN_ENCRYPT;
            }
            $skey = new enigma_subkey();
            $skey->id          = $subkey->getId();
            $skey->revoked     = $subkey->isRevoked();
@@ -440,7 +434,7 @@
            $skey->has_private = $subkey->hasPrivate();
            $skey->algorithm   = $subkey->getAlgorithm();
            $skey->length      = $subkey->getLength();
            $skey->usage       = $usage;
            $skey->usage       = $subkey->usage();
            $ekey->subkeys[$idx] = $skey;
        };
@@ -449,4 +443,12 @@
        return $ekey;
    }
    /**
     * Write debug info from Crypt_GPG to logs/enigma
     */
    public function debug($line)
    {
        rcube::write_log('enigma', 'GPG: ' . $line);
    }
}