]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
ssl: fix reference to SSLv2 and disable SSLv3
authorApollon Oikonomopoulos <apoikos@debian.org>
Tue, 15 Nov 2016 11:55:44 +0000 (12:55 +0100)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Tue, 15 Nov 2016 20:38:24 +0000 (22:38 +0200)
This is driven by the fact that OpenSSL 1.1 does not know about SSLv2 at
all and dovecot's defaults simply make OpenSSL error out with "Unknown
protocol 'SSLv2'"[1]. So we change the defaults to refer to SSLv2 iff OpenSSL
seems to know something about it.

While at it, it's also a good idea to disable SSLv3 by default as well.

[1] https://bugs.debian.org/844347

Signed-off-by: Apollon Oikonomopoulos <apoikos@debian.org>
doc/example-config/conf.d/10-ssl.conf
src/lib-master/master-service-ssl-settings.c

index 31b750c6983b92e119e4df07838da01f6193fa18..2cd445b3929875f29690aff2c8b44f0b32fd6e88 100644 (file)
@@ -46,7 +46,7 @@ ssl_key = </etc/ssl/private/dovecot.pem
 #ssl_dh_parameters_length = 1024
 
 # SSL protocols to use
-#ssl_protocols = !SSLv2
+#ssl_protocols = !SSLv3
 
 # SSL ciphers to use
 #ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL
index 4a0504540d16db94a6891431251df97a6945c899..6b43f6cc6f0a4fe725dc009dad5981450925c618 100644 (file)
@@ -44,7 +44,11 @@ static const struct master_service_ssl_settings master_service_ssl_default_setti
        .ssl_key = "",
        .ssl_key_password = "",
        .ssl_cipher_list = "ALL:!LOW:!SSLv2:!EXP:!aNULL",
-       .ssl_protocols = "!SSLv2",
+#ifdef SSL_TXT_SSLV2
+       .ssl_protocols = "!SSLv2 !SSLv3",
+#else
+       .ssl_protocols = "!SSLv3",
+#endif
        .ssl_cert_username_field = "commonName",
        .ssl_crypto_device = "",
        .ssl_verify_client_cert = FALSE,