FreeBSD Bugzilla – Attachment 193536 Details for
Bug 228344
net/qt5-network: fails update to 5.11.2 with libressl
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
svn-diff_qt5-network_v2
svn-diff_qt5-network (text/plain), 13.13 KB, created by
Walter Schwarzenfeld
on 2018-05-19 15:59:31 UTC
(
hide
)
Description:
svn-diff_qt5-network_v2
Filename:
MIME Type:
Creator:
Walter Schwarzenfeld
Created:
2018-05-19 15:59:31 UTC
Size:
13.13 KB
patch
obsolete
>Index: files/patch-qsslsocket__openssl__symbols.cpp >=================================================================== >--- files/patch-qsslsocket__openssl__symbols.cpp (nonexistent) >+++ files/patch-qsslsocket__openssl__symbols.cpp (working copy) >@@ -0,0 +1,86 @@ >+--- src/network/ssl/qsslsocket_openssl_symbols.cpp.orig 2018-05-19 15:06:03 UTC >++++ src/network/ssl/qsslsocket_openssl_symbols.cpp >+@@ -146,7 +146,9 @@ DEFINEFUNC2(int, OPENSSL_init_ssl, uint6 >+ DEFINEFUNC2(int, OPENSSL_init_crypto, uint64_t opts, opts, const OPENSSL_INIT_SETTINGS *settings, settings, return 0, return) >+ DEFINEFUNC(BIO *, BIO_new, const BIO_METHOD *a, a, return 0, return) >+ DEFINEFUNC(const BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return) >++#if !defined(LIBRESSL_VERSION_NUMBER) >+ DEFINEFUNC2(int, BN_is_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return) >++#endif >+ DEFINEFUNC(int, EVP_CIPHER_CTX_reset, EVP_CIPHER_CTX *c, c, return 0, return) >+ DEFINEFUNC(int, EVP_PKEY_base_id, EVP_PKEY *a, a, return NID_undef, return) >+ DEFINEFUNC(int, RSA_bits, RSA *a, a, return 0, return) >+@@ -524,6 +526,9 @@ DEFINEFUNC(void, EC_KEY_free, EC_KEY *ec >+ DEFINEFUNC2(size_t, EC_get_builtin_curves, EC_builtin_curve * r, r, size_t nitems, nitems, return 0, return) >+ #if OPENSSL_VERSION_NUMBER >= 0x10002000L >+ DEFINEFUNC(int, EC_curve_nist2nid, const char *name, name, return 0, return) >++#if defined(LIBRESSL_VERSION_NUMBER) >++DEFINEFUNC3(int, SSL_CTX_set1_groups, SSL_CTX *a, a, int *b, b, int c, c, return -1, return) >++#endif // defined(LIBRESSL_VERSION_NUMBER) >+ #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L >+ #endif // OPENSSL_NO_EC >+ >+@@ -769,8 +774,13 @@ static QPair<QLibrary*, QLibrary*> loadO >+ #endif >+ #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so >+ // first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER> >++#if defined(LIBRESSL_VERSION_NUMBER) >++ libssl->setFileNameAndVersion(QLatin1String("/usr/local/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER)); >++ libcrypto->setFileNameAndVersion(QLatin1String("/usr/local/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER)); >++#else >+ libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER)); >+ libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER)); >++#endif >+ if (libcrypto->load() && libssl->load()) { >+ // libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found >+ return pair; >+@@ -786,9 +796,14 @@ static QPair<QLibrary*, QLibrary*> loadO >+ // disabled on macOS/iOS: >+ // macOS's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third >+ // attempt, _after_ <bundle>/Contents/Frameworks has been searched. >++#if defined(LIBRESSL_VERSION_NUMBER) >+ // iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place. >++ libssl->setFileNameAndVersion(QLatin1String("/usr/local/lib/libssl"), -1); >++ libcrypto->setFileNameAndVersion(QLatin1String("/usr/local/lib/libcrypto"), -1); >++#else >+ libssl->setFileNameAndVersion(QLatin1String("ssl"), -1); >+ libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1); >++#endif >+ if (libcrypto->load() && libssl->load()) { >+ // libssl.so.0 and libcrypto.so.0 found >+ return pair; >+@@ -979,10 +994,9 @@ bool q_resolveOpenSslSymbols() >+ RESOLVEFUNC(OPENSSL_add_all_algorithms_conf) >+ RESOLVEFUNC(SSLeay) >+ >+- if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) { >++ if (!_q_SSLeay) { >+ // OpenSSL 1.1 has deprecated and removed SSLeay. We consider a failure to >+ // resolve this symbol as a failure to resolve symbols. >+- // The right operand of '||' above is ... a bit of paranoia. >+ delete libs.first; >+ delete libs.second; >+ qCWarning(lcSsl, "Incompatible version of OpenSSL"); >+@@ -994,8 +1008,12 @@ bool q_resolveOpenSslSymbols() >+ >+ #ifndef OPENSSL_NO_EC >+ #if OPENSSL_VERSION_NUMBER >= 0x10002000L >+- if (q_SSLeay() >= 0x10002000L) >++ if (q_SSLeay() >= 0x10002000L) { >+ RESOLVEFUNC(EC_curve_nist2nid) >++#if defined(LIBRESSL_VERSION_NUMBER) >++ RESOLVEFUNC(SSL_CTX_set1_groups) >++#endif // defined(LIBRESSL_VERSION_NUMBER) >++ } >+ #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L >+ #endif // OPENSSL_NO_EC >+ >+@@ -1017,7 +1035,7 @@ bool q_resolveOpenSslSymbols() >+ RESOLVEFUNC(EC_GROUP_get_degree) >+ #endif >+ RESOLVEFUNC(BN_num_bits) >+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L >++#if !defined(BN_is_word) >+ RESOLVEFUNC(BN_is_word) >+ #endif >+ RESOLVEFUNC(BN_mod_word) > >Property changes on: files/patch-qsslsocket__openssl__symbols.cpp >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: files/patch-qsslsocket__openssl__symbols__p.h >=================================================================== >--- files/patch-qsslsocket__openssl__symbols__p.h (nonexistent) >+++ files/patch-qsslsocket__openssl__symbols__p.h (working copy) >@@ -0,0 +1,38 @@ >+--- src/network/ssl/qsslsocket_openssl_symbols_p.h.orig 2018-05-19 13:59:45 UTC >++++ src/network/ssl/qsslsocket_openssl_symbols_p.h >+ >+@@ -76,6 +76,15 @@ QT_BEGIN_NAMESPACE >+ >+ #define DUMMYARG >+ >++#if defined(LIBRESSL_VERSION_NUMBER) >++typedef _STACK STACK; >++typedef STACK OPENSSL_STACK; >++typedef void OPENSSL_INIT_SETTINGS; >++typedef int (*X509_STORE_CTX_verify_cb)(int ok,X509_STORE_CTX *ctx); >++#endif >++ >++ >++ >+ #if !defined QT_LINKED_OPENSSL >+ // **************** Shared declarations ****************** >+ // ret func(arg) >+@@ -232,7 +241,7 @@ BIO *q_BIO_new_mem_buf(void *a, int b); >+ int q_BIO_read(BIO *a, void *b, int c); >+ Q_AUTOTEST_EXPORT int q_BIO_write(BIO *a, const void *b, int c); >+ int q_BN_num_bits(const BIGNUM *a); >+-#if OPENSSL_VERSION_NUMBER >= 0x10100000L >++#if !defined(BN_is_word) >+ int q_BN_is_word(BIGNUM *a, BN_ULONG w); >+ #else >+ // BN_is_word is implemented purely as a >+@@ -454,6 +463,9 @@ void q_EC_KEY_free(EC_KEY *ecdh); >+ size_t q_EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); >+ #if OPENSSL_VERSION_NUMBER >= 0x10002000L >+ int q_EC_curve_nist2nid(const char *name); >++#if defined(LIBRESSL_VERSION_NUMBER) >++int q_SSL_CTX_set1_groups(SSL_CTX *a, int *b, int c); >++#endif // defined(LIBRESSL_VERSION_NUMBER) >+ #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L >+ #endif // OPENSSL_NO_EC >+ #if OPENSSL_VERSION_NUMBER >= 0x10002000L > >Property changes on: files/patch-qsslsocket__openssl__symbols__p.h >___________________________________________________________________ >Added: fbsd:nokeywords >## -0,0 +1 ## >+yes >\ No newline at end of property >Added: svn:eol-style >## -0,0 +1 ## >+native >\ No newline at end of property >Added: svn:keywords >## -0,0 +1 ## >+Author Date Id Rev URL >\ No newline at end of property >Added: svn:mime-type >## -0,0 +1 ## >+text/plain >\ No newline at end of property >Index: files/patch-src_network_ssl_qsslsocket__openssl__symbols.cpp >=================================================================== >--- files/patch-src_network_ssl_qsslsocket__openssl__symbols.cpp (revision 470407) >+++ files/patch-src_network_ssl_qsslsocket__openssl__symbols.cpp (nonexistent) >@@ -1,74 +0,0 @@ >-* Boilerplate for SSL_CTX_set1_groups() used in qsslcontext_openssl.cpp >-* >-* 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 2017-11-30 13:49:46 UTC >-+++ src/network/ssl/qsslsocket_openssl_symbols.cpp >-@@ -524,6 +524,9 @@ DEFINEFUNC(void, EC_KEY_free, EC_KEY *ecdh, ecdh, retu >- DEFINEFUNC2(size_t, EC_get_builtin_curves, EC_builtin_curve * r, r, size_t nitems, nitems, return 0, return) >- #if OPENSSL_VERSION_NUMBER >= 0x10002000L >- DEFINEFUNC(int, EC_curve_nist2nid, const char *name, name, return 0, return) >-+#if defined(LIBRESSL_VERSION_NUMBER) >-+DEFINEFUNC3(int, SSL_CTX_set1_groups, SSL_CTX *a, a, int *b, b, int c, c, return -1, return) >-+#endif // defined(LIBRESSL_VERSION_NUMBER) >- #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L >- #endif // OPENSSL_NO_EC >- >-@@ -769,8 +772,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl() >- #endif >- #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so >- // first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER> >-- libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER)); >-- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER)); >-+ libssl->setFileNameAndVersion(QLatin1String("%%OPENSSLLIB%%/libssl"), QLatin1String(SHLIB_VERSION_NUMBER)); >-+ libcrypto->setFileNameAndVersion(QLatin1String("%%OPENSSLLIB%%/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER)); >- if (libcrypto->load() && libssl->load()) { >- // libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found >- return pair; >-@@ -787,8 +790,8 @@ static QPair<QLibrary*, QLibrary*> loadOpenSsl() >- // macOS's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third >- // attempt, _after_ <bundle>/Contents/Frameworks has been searched. >- // iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place. >-- libssl->setFileNameAndVersion(QLatin1String("ssl"), -1); >-- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -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; >-@@ -979,10 +982,9 @@ bool q_resolveOpenSslSymbols() >- RESOLVEFUNC(OPENSSL_add_all_algorithms_conf) >- RESOLVEFUNC(SSLeay) >- >-- if (!_q_SSLeay || q_SSLeay() >= 0x10100000L) { >-+ if (!_q_SSLeay) { >- // OpenSSL 1.1 has deprecated and removed SSLeay. We consider a failure to >- // resolve this symbol as a failure to resolve symbols. >-- // The right operand of '||' above is ... a bit of paranoia. >- delete libs.first; >- delete libs.second; >- qCWarning(lcSsl, "Incompatible version of OpenSSL"); >-@@ -994,8 +996,12 @@ bool q_resolveOpenSslSymbols() >- >- #ifndef OPENSSL_NO_EC >- #if OPENSSL_VERSION_NUMBER >= 0x10002000L >-- if (q_SSLeay() >= 0x10002000L) >-+ if (q_SSLeay() >= 0x10002000L) { >- RESOLVEFUNC(EC_curve_nist2nid) >-+#if defined(LIBRESSL_VERSION_NUMBER) >-+ RESOLVEFUNC(SSL_CTX_set1_groups) >-+#endif // defined(LIBRESSL_VERSION_NUMBER) >-+ } >- #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L >- #endif // OPENSSL_NO_EC >- >-@@ -1017,7 +1023,7 @@ bool q_resolveOpenSslSymbols() >- RESOLVEFUNC(EC_GROUP_get_degree) >- #endif >- RESOLVEFUNC(BN_num_bits) >--#if OPENSSL_VERSION_NUMBER >= 0x10100000L >-+#if !defined(BN_is_word) >- RESOLVEFUNC(BN_is_word) >- #endif >- RESOLVEFUNC(BN_mod_word) > >Property changes on: files/patch-src_network_ssl_qsslsocket__openssl__symbols.cpp >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property >Index: files/patch-src_network_ssl_qsslsocket__openssl__symbols__p.h >=================================================================== >--- files/patch-src_network_ssl_qsslsocket__openssl__symbols__p.h (revision 470407) >+++ files/patch-src_network_ssl_qsslsocket__openssl__symbols__p.h (nonexistent) >@@ -1,22 +0,0 @@ >-Boilerplate for SSL_CTX_set1_groups() used in qsslcontext_openssl.cpp. >---- src/network/ssl/qsslsocket_openssl_symbols_p.h.orig 2017-11-30 13:49:46 UTC >-+++ src/network/ssl/qsslsocket_openssl_symbols_p.h >-@@ -232,7 +232,7 @@ BIO *q_BIO_new_mem_buf(void *a, int b); >- int q_BIO_read(BIO *a, void *b, int c); >- Q_AUTOTEST_EXPORT int q_BIO_write(BIO *a, const void *b, int c); >- int q_BN_num_bits(const BIGNUM *a); >--#if OPENSSL_VERSION_NUMBER >= 0x10100000L >-+#if !defined(BN_is_word) >- int q_BN_is_word(BIGNUM *a, BN_ULONG w); >- #else >- // BN_is_word is implemented purely as a >-@@ -454,6 +454,9 @@ void q_EC_KEY_free(EC_KEY *ecdh); >- size_t q_EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); >- #if OPENSSL_VERSION_NUMBER >= 0x10002000L >- int q_EC_curve_nist2nid(const char *name); >-+#if defined(LIBRESSL_VERSION_NUMBER) >-+int q_SSL_CTX_set1_groups(SSL_CTX *a, int *b, int c); >-+#endif // defined(LIBRESSL_VERSION_NUMBER) >- #endif // OPENSSL_VERSION_NUMBER >= 0x10002000L >- #endif // OPENSSL_NO_EC >- #if OPENSSL_VERSION_NUMBER >= 0x10002000L > >Property changes on: files/patch-src_network_ssl_qsslsocket__openssl__symbols__p.h >___________________________________________________________________ >Deleted: fbsd:nokeywords >## -1 +0,0 ## >-yes >\ No newline at end of property >Deleted: svn:eol-style >## -1 +0,0 ## >-native >\ No newline at end of property >Deleted: svn:mime-type >## -1 +0,0 ## >-text/plain >\ No newline at end of property
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 228344
:
193533
|
193536
|
193559
|
193786
|
196989
|
196994
|
198438
|
198440
|
198490
|
198491
|
198600
|
198607
|
198610
|
198611
|
198618