aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-09-07 09:15:52 -0400
committerNick Mathewson <nickm@torproject.org>2018-09-07 09:15:52 -0400
commit0366ae224cb3b9cd55905201cd1b55a03f2736e9 (patch)
treeaaf7def885c03d6d0ce9387bc45119006998e4ae
parent987e12a58f6ce9e0001413e665ac2aa92869af77 (diff)
parent1e46a391b3ef4dfc65044f900684368ea234c290 (diff)
downloadtor-0366ae224cb3b9cd55905201cd1b55a03f2736e9.tar.gz
tor-0366ae224cb3b9cd55905201cd1b55a03f2736e9.zip
Merge branch 'maint-0.2.9' into maint-0.3.2
-rw-r--r--changes/bug273444
-rw-r--r--configure.ac1
-rw-r--r--src/common/tortls.c7
3 files changed, 11 insertions, 1 deletions
diff --git a/changes/bug27344 b/changes/bug27344
new file mode 100644
index 0000000000..9f66855586
--- /dev/null
+++ b/changes/bug27344
@@ -0,0 +1,4 @@
+ o Minor features (compatibility):
+ - Tell OpenSSL to maintain backward compatibility with previous
+ RSA1024/DH1024 users in Tor. With OpenSSL 1.1.1-pre6, these ciphers
+ are disabled by default. Closes ticket 27344.
diff --git a/configure.ac b/configure.ac
index 91abe7e1e4..79d2f7e546 100644
--- a/configure.ac
+++ b/configure.ac
@@ -801,6 +801,7 @@ AC_CHECK_FUNCS([ \
SSL_get_client_ciphers \
SSL_get_client_random \
SSL_CIPHER_find \
+ SSL_CTX_set_security_level \
TLS_method
])
diff --git a/src/common/tortls.c b/src/common/tortls.c
index 03c0be1cd0..6efc8c3e4b 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -1172,6 +1172,12 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime,
if (!(result->ctx = SSL_CTX_new(SSLv23_method())))
goto error;
#endif /* defined(HAVE_TLS_METHOD) */
+
+#ifdef HAVE_SSL_CTX_SET_SECURITY_LEVEL
+ /* Level 1 re-enables RSA1024 and DH1024 for compatibility with old tors */
+ SSL_CTX_set_security_level(result->ctx, 1);
+#endif
+
SSL_CTX_set_options(result->ctx, SSL_OP_NO_SSLv2);
SSL_CTX_set_options(result->ctx, SSL_OP_NO_SSLv3);
@@ -2641,4 +2647,3 @@ evaluate_ecgroup_for_tls(const char *ecgroup)
return ret;
}
-