From 8a535889403aa6820ffe9925d4d50fdee05d2cc0 Mon Sep 17 00:00:00 2001 From: Francis Russell <francis@unchartedbackwaters.co.uk> Date: Thu, 14 Jan 2016 06:48:01 -0500 Subject: [PATCH] Make TLS method for IMAP parameterisable. --- program/lib/Roundcube/rcube_imap_generic.php | 15 ++++++++++----- 1 files changed, 10 insertions(+), 5 deletions(-) diff --git a/program/lib/Roundcube/rcube_imap_generic.php b/program/lib/Roundcube/rcube_imap_generic.php index 86a1fcf..67d2578 100644 --- a/program/lib/Roundcube/rcube_imap_generic.php +++ b/program/lib/Roundcube/rcube_imap_generic.php @@ -910,11 +910,16 @@ return false; } - // There is no flag to enable all TLS methods. Net_SMTP - // handles enabling TLS similarly. - $crypto_method = STREAM_CRYPTO_METHOD_TLS_CLIENT - | @STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT - | @STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT; + if (isset($this->prefs['socket_options']['ssl']['crypto_method'])) { + $crypto_method = $this->prefs['socket_options']['ssl']['crypto_method']; + } + else { + // There is no flag to enable all TLS methods. Net_SMTP + // handles enabling TLS similarly. + $crypto_method = STREAM_CRYPTO_METHOD_TLS_CLIENT + | @STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT + | @STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT; + } if (!stream_socket_enable_crypto($this->fp, true, $crypto_method)) { $this->setError(self::ERROR_BAD, "Unable to negotiate TLS"); -- Gitblit v1.9.1