[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#640210: [PATCH] don't use SSLv2 functions with openssl >=1.0.0



Something like this might probably help.
Index: qt4-x11/src/network/ssl/qsslsocket_openssl.cpp
===================================================================
--- qt4-x11.orig/src/network/ssl/qsslsocket_openssl.cpp	2011-09-13 16:59:43.209715347 +0400
+++ qt4-x11/src/network/ssl/qsslsocket_openssl.cpp	2011-09-13 17:04:39.412968762 +0400
@@ -247,7 +247,9 @@
 init_context:
     switch (configuration.protocol) {
     case QSsl::SslV2:
+#if OPENSSL_VERSION_NUMBER < 0x10000000L
         ctx = q_SSL_CTX_new(client ? q_SSLv2_client_method() : q_SSLv2_server_method());
+#endif
         break;
     case QSsl::SslV3:
         ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
Index: qt4-x11/src/network/ssl/qsslsocket_openssl_symbols.cpp
===================================================================
--- qt4-x11.orig/src/network/ssl/qsslsocket_openssl_symbols.cpp	2011-09-13 16:59:49.877662718 +0400
+++ qt4-x11/src/network/ssl/qsslsocket_openssl_symbols.cpp	2011-09-13 17:02:56.244966564 +0400
@@ -225,11 +225,9 @@
 DEFINEFUNC(void, SSL_set_connect_state, SSL *a, a, return, DUMMYARG)
 DEFINEFUNC(int, SSL_shutdown, SSL *a, a, return -1, return)
 #if OPENSSL_VERSION_NUMBER >= 0x10000000L
-DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, return 0, return)
 DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return 0, return)
 DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG, return 0, return)
 DEFINEFUNC(const SSL_METHOD *, TLSv1_client_method, DUMMYARG, DUMMYARG, return 0, return)
-DEFINEFUNC(const SSL_METHOD *, SSLv2_server_method, DUMMYARG, DUMMYARG, return 0, return)
 DEFINEFUNC(const SSL_METHOD *, SSLv3_server_method, DUMMYARG, DUMMYARG, return 0, return)
 DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, return 0, return)
 DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, return 0, return)
@@ -605,11 +603,15 @@
     RESOLVEFUNC(SSL_set_connect_state, 152, libs.first )
     RESOLVEFUNC(SSL_shutdown, 173, libs.first )
     RESOLVEFUNC(SSL_write, 188, libs.first )
+#if OPENSSL_VERSION_NUMBER < 0x10000000L
     RESOLVEFUNC(SSLv2_client_method, 192, libs.first )
+#endif
     RESOLVEFUNC(SSLv3_client_method, 195, libs.first )
     RESOLVEFUNC(SSLv23_client_method, 189, libs.first )
     RESOLVEFUNC(TLSv1_client_method, 198, libs.first )
+#if OPENSSL_VERSION_NUMBER < 0x10000000L
     RESOLVEFUNC(SSLv2_server_method, 194, libs.first )
+#endif
     RESOLVEFUNC(SSLv3_server_method, 197, libs.first )
     RESOLVEFUNC(SSLv23_server_method, 191, libs.first )
     RESOLVEFUNC(TLSv1_server_method, 200, libs.first )
@@ -739,11 +741,15 @@
     RESOLVEFUNC(SSL_set_connect_state)
     RESOLVEFUNC(SSL_shutdown)
     RESOLVEFUNC(SSL_write)
+#if OPENSSL_VERSION_NUMBER < 0x10000000L
     RESOLVEFUNC(SSLv2_client_method)
+#endif
     RESOLVEFUNC(SSLv3_client_method)
     RESOLVEFUNC(SSLv23_client_method)
     RESOLVEFUNC(TLSv1_client_method)
+#if OPENSSL_VERSION_NUMBER < 0x10000000L
     RESOLVEFUNC(SSLv2_server_method)
+#endif
     RESOLVEFUNC(SSLv3_server_method)
     RESOLVEFUNC(SSLv23_server_method)
     RESOLVEFUNC(TLSv1_server_method)
Index: qt4-x11/src/network/ssl/qsslsocket_openssl_symbols_p.h
===================================================================
--- qt4-x11.orig/src/network/ssl/qsslsocket_openssl_symbols_p.h	2011-09-13 16:59:57.017663393 +0400
+++ qt4-x11/src/network/ssl/qsslsocket_openssl_symbols_p.h	2011-09-13 17:00:54.768966689 +0400
@@ -333,11 +333,9 @@
 void q_SSL_set_connect_state(SSL *a);
 int q_SSL_shutdown(SSL *a);
 #if OPENSSL_VERSION_NUMBER >= 0x10000000L
-const SSL_METHOD *q_SSLv2_client_method();
 const SSL_METHOD *q_SSLv3_client_method();
 const SSL_METHOD *q_SSLv23_client_method();
 const SSL_METHOD *q_TLSv1_client_method();
-const SSL_METHOD *q_SSLv2_server_method();
 const SSL_METHOD *q_SSLv3_server_method();
 const SSL_METHOD *q_SSLv23_server_method();
 const SSL_METHOD *q_TLSv1_server_method();

Reply to: