Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F148946958
D9727.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
4 KB
Referenced Files
None
Subscribers
None
D9727.id.diff
View Options
Index: head/net/qt4-network/files/patch-src_network_ssl_qsslsocket__openssl.cpp
===================================================================
--- head/net/qt4-network/files/patch-src_network_ssl_qsslsocket__openssl.cpp
+++ head/net/qt4-network/files/patch-src_network_ssl_qsslsocket__openssl.cpp
@@ -1,21 +1,31 @@
+* Make availability of SSLv3 in Qt4 same as in Qt5, i.e. not part of SecureProtocols
+*
--- src/network/ssl/qsslsocket_openssl.cpp.orig 2015-05-07 14:14:44 UTC
+++ src/network/ssl/qsslsocket_openssl.cpp
-@@ -267,15 +267,14 @@ init_context:
+@@ -267,9 +267,13 @@ init_context:
#endif
break;
case QSsl::SslV3:
-- ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
++#ifndef OPENSSL_NO_SSL3_METHOD
+ ctx = q_SSL_CTX_new(client ? q_SSLv3_client_method() : q_SSLv3_server_method());
++#else
+ ctx = 0; // SSL 3 not supported by the system, but chosen deliberately -> error
++#endif
break;
- case QSsl::SecureProtocols: // SslV2 will be disabled below
-- case QSsl::TlsV1SslV3: // SslV2 will be disabled below
++ case QSsl::SecureProtocols: // SslV2/3 will be disabled below
+ case QSsl::TlsV1SslV3: // SslV2 will be disabled below
case QSsl::AnyProtocol:
-- default:
- ctx = q_SSL_CTX_new(client ? q_SSLv23_client_method() : q_SSLv23_server_method());
- break;
- case QSsl::TlsV1:
-+ case QSsl::SecureProtocols:
-+ default:
- ctx = q_SSL_CTX_new(client ? q_TLSv1_client_method() : q_TLSv1_server_method());
- break;
- }
+ default:
+@@ -297,8 +301,10 @@ init_context:
+
+ // Enable bug workarounds.
+ long options;
+- if (configuration.protocol == QSsl::TlsV1SslV3 || configuration.protocol == QSsl::SecureProtocols)
++ if (configuration.protocol == QSsl::TlsV1SslV3)
+ options = SSL_OP_ALL|SSL_OP_NO_SSLv2;
++ else if (configuration.protocol == QSsl::SecureProtocols)
++ options = SSL_OP_ALL|SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3;
+ else
+ options = SSL_OP_ALL;
+
Index: head/net/qt4-network/files/patch-src_network_ssl_qsslsocket__openssl__symbols.cpp
===================================================================
--- head/net/qt4-network/files/patch-src_network_ssl_qsslsocket__openssl__symbols.cpp
+++ head/net/qt4-network/files/patch-src_network_ssl_qsslsocket__openssl__symbols.cpp
@@ -1,3 +1,6 @@
+* Prepend the path of the SSL libraries used for building so the same libraries are
+* found and loaded at runtime. Normal search finds base SSL libraries before ports.
+*
--- src/network/ssl/qsslsocket_openssl_symbols.cpp.orig 2015-05-07 14:14:44 UTC
+++ src/network/ssl/qsslsocket_openssl_symbols.cpp
@@ -511,9 +511,9 @@ static QPair<QLibrary*, QLibrary*> loadO
@@ -5,10 +8,10 @@
#elif defined(SHLIB_VERSION_NUMBER)
// first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER>
- libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER));
-+ libssl->setFileNameAndVersion(QLatin1String("/usr/local/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER));
++ libssl->setFileNameAndVersion(QLatin1String("%%OPENSSLLIB%%/libssl"), QLatin1String(SHLIB_VERSION_NUMBER));
libssl->setLoadHints(QLibrary::ImprovedSearchHeuristics);
- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER));
-+ libcrypto->setFileNameAndVersion(QLatin1String("/usr/local/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER));
++ libcrypto->setFileNameAndVersion(QLatin1String("%%OPENSSLLIB%%/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER));
libcrypto->setLoadHints(libcrypto->loadHints() | QLibrary::ImprovedSearchHeuristics);
if (libcrypto->load() && libssl->load()) {
// libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found
@@ -18,8 +21,8 @@
// second attempt: find the development files libssl.so and libcrypto.so
- libssl->setFileNameAndVersion(QLatin1String("ssl"), -1);
- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1);
-+ libssl->setFileNameAndVersion(QLatin1String("/usr/local/lib/libssl"), -1);
-+ libcrypto->setFileNameAndVersion(QLatin1String("/usr/local/lib/libcrypto"), -1);
++ libssl->setFileNameAndVersion(QLatin1String("%%OPENSSLLIB%%/libssl"), -1);
++ libcrypto->setFileNameAndVersion(QLatin1String("%%OPENSSLLIB%%/libcrypto"), -1);
if (libcrypto->load() && libssl->load()) {
// libssl.so.0 and libcrypto.so.0 found
return pair;
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Mar 22, 5:52 AM (16 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30110228
Default Alt Text
D9727.id.diff (4 KB)
Attached To
Mode
D9727: Improve SSL patch for qt4-network
Attached
Detach File
Event Timeline
Log In to Comment