diff --git a/CHANGELOG b/CHANGELOG index c341b246e..766af52c7 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,6 +5,7 @@ CHANGELOG Roundcube Webmail - Changed defaults for smtp_user (%u), smtp_pass (%p) and smtp_port (587) - Composer: Fix certificate validation errors by using packagist only (#5148) - Enigma: Add button to send mail unencrypted if no key was found (#5913) +- Enigma: Add options to set PGP cipher/digest algorithms (#5645) - Add --get and --extract arguments and CACHEDIR env-variable support to install-jsdeps.sh (#5882) - Update to jquery-minicolors 2.2.6 - Support _filter and _scope as GET arguments for opening mail UI (#5825) diff --git a/INSTALL b/INSTALL index 54d4eee9a..2d8aee18f 100644 --- a/INSTALL +++ b/INSTALL @@ -24,7 +24,7 @@ REQUIREMENTS - Net_IDNA2 0.1.1 or newer - Auth_SASL 1.0.6 or newer - Net_Sieve 1.3.2 or newer (for managesieve plugin) - - Crypt_GPG 1.6.0 or newer (for enigma plugin) + - Crypt_GPG 1.6.2 or newer (for enigma plugin) - Endroid/QrCode 1.6.0 or newer (https://github.com/endroid/QrCode) * php.ini options (see .htaccess file): - error_reporting E_ALL & ~E_NOTICE & ~E_STRICT diff --git a/composer.json-dist b/composer.json-dist index 2df69dc80..59cbefc5f 100644 --- a/composer.json-dist +++ b/composer.json-dist @@ -16,7 +16,7 @@ "pear/net_idna2": "~0.2.0", "pear/mail_mime": "~1.10.0", "pear/net_smtp": "~1.7.1", - "pear/crypt_gpg": "~1.6.0", + "pear/crypt_gpg": "~1.6.2", "pear/net_sieve": "~1.4.0", "roundcube/plugin-installer": "~0.1.6", "endroid/qrcode": "~1.6.5" diff --git a/plugins/enigma/composer.json b/plugins/enigma/composer.json index 7357c01d6..348b39983 100644 --- a/plugins/enigma/composer.json +++ b/plugins/enigma/composer.json @@ -20,6 +20,6 @@ "require": { "php": ">=5.3.0", "roundcube/plugin-installer": "~0.1.6", - "pear/crypt_gpg": "~1.6.0" + "pear/crypt_gpg": "~1.6.2" } } diff --git a/plugins/enigma/config.inc.php.dist b/plugins/enigma/config.inc.php.dist index aa4280f41..852c999f5 100644 --- a/plugins/enigma/config.inc.php.dist +++ b/plugins/enigma/config.inc.php.dist @@ -28,6 +28,14 @@ $config['enigma_pgp_agent'] = ''; // It's used with GnuPG >= 2.1. $config['enigma_pgp_gpgconf'] = ''; +// Name of the PGP symmetric cipher algorithm. +// Run gpg --version to see the list of supported algorithms +$config['enigma_pgp_cipher_algo'] = null; + +// Name of the PGP digest (hash) algorithm. +// Run gpg --version to see the list of supported algorithms +$config['enigma_pgp_digest_algo'] = null; + // Enables signatures verification feature. $config['enigma_signatures'] = true; diff --git a/plugins/enigma/lib/enigma_driver_gnupg.php b/plugins/enigma/lib/enigma_driver_gnupg.php index a8d84ebea..c2bf016ae 100644 --- a/plugins/enigma/lib/enigma_driver_gnupg.php +++ b/plugins/enigma/lib/enigma_driver_gnupg.php @@ -94,6 +94,9 @@ class enigma_driver_gnupg extends enigma_driver $options['gpgconf'] = $gpgconf; } + $options['cipher-algo'] = $this->rc->config->get('enigma_pgp_cipher_algo'); + $options['digest-algo'] = $this->rc->config->get('enigma_pgp_digest_algo'); + // Create Crypt_GPG object try { $this->gpg = new Crypt_GPG($options);