Line 0
Link Here
|
|
|
1 |
--- src/network/ssl/qsslsocket_openssl_symbols.cpp.orig 2019-10-25 09:16:48.000000000 +0200 |
2 |
+++ src/network/ssl/qsslsocket_openssl_symbols.cpp 2019-11-01 20:03:08.715014000 +0100 |
3 |
@@ -152,6 +152,14 @@ |
4 |
DEFINEFUNC(int, EVP_CIPHER_CTX_reset, EVP_CIPHER_CTX *c, c, return 0, return) |
5 |
DEFINEFUNC(int, EVP_PKEY_base_id, EVP_PKEY *a, a, return NID_undef, return) |
6 |
DEFINEFUNC(int, RSA_bits, RSA *a, a, return 0, return) |
7 |
+#ifdef LIBRESSL_VERSION_NUMBER |
8 |
+DEFINEFUNC(int, sk_num, OPENSSL_STACK *a, a, return -1, return) |
9 |
+DEFINEFUNC2(void, sk_pop_free, OPENSSL_STACK *a, a, void (*b)(void*), b, return, DUMMYARG) |
10 |
+DEFINEFUNC(OPENSSL_STACK *, sk_new_null, DUMMYARG, DUMMYARG, return nullptr, return) |
11 |
+DEFINEFUNC2(void, sk_push, OPENSSL_STACK *a, a, void *b, b, return, DUMMYARG) |
12 |
+DEFINEFUNC(void, sk_free, OPENSSL_STACK *a, a, return, DUMMYARG) |
13 |
+DEFINEFUNC2(void *, sk_value, OPENSSL_STACK *a, a, int b, b, return nullptr, return) |
14 |
+#else |
15 |
DEFINEFUNC(int, DSA_bits, DSA *a, a, return 0, return) |
16 |
DEFINEFUNC(int, OPENSSL_sk_num, OPENSSL_STACK *a, a, return -1, return) |
17 |
DEFINEFUNC2(void, OPENSSL_sk_pop_free, OPENSSL_STACK *a, a, void (*b)(void*), b, return, DUMMYARG) |
18 |
@@ -159,6 +167,7 @@ |
19 |
DEFINEFUNC2(void, OPENSSL_sk_push, OPENSSL_STACK *a, a, void *b, b, return, DUMMYARG) |
20 |
DEFINEFUNC(void, OPENSSL_sk_free, OPENSSL_STACK *a, a, return, DUMMYARG) |
21 |
DEFINEFUNC2(void *, OPENSSL_sk_value, OPENSSL_STACK *a, a, int b, b, return nullptr, return) |
22 |
+#endif |
23 |
DEFINEFUNC(int, SSL_session_reused, SSL *a, a, return 0, return) |
24 |
DEFINEFUNC2(unsigned long, SSL_CTX_set_options, SSL_CTX *ctx, ctx, unsigned long op, op, return 0, return) |
25 |
#ifdef TLS1_3_VERSION |
26 |
@@ -443,7 +452,7 @@ |
27 |
DEFINEFUNC2(int, SSL_CTX_use_RSAPrivateKey, SSL_CTX *a, a, RSA *b, b, return -1, return) |
28 |
DEFINEFUNC3(int, SSL_CTX_use_PrivateKey_file, SSL_CTX *a, a, const char *b, b, int c, c, return -1, return) |
29 |
DEFINEFUNC(X509_STORE *, SSL_CTX_get_cert_store, const SSL_CTX *a, a, return nullptr, return) |
30 |
-#if OPENSSL_VERSION_NUMBER >= 0x10002000L |
31 |
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER) |
32 |
DEFINEFUNC(SSL_CONF_CTX *, SSL_CONF_CTX_new, DUMMYARG, DUMMYARG, return nullptr, return); |
33 |
DEFINEFUNC(void, SSL_CONF_CTX_free, SSL_CONF_CTX *a, a, return ,return); |
34 |
DEFINEFUNC2(void, SSL_CONF_CTX_set_ssl_ctx, SSL_CONF_CTX *a, a, SSL_CTX *b, b, return, return); |
35 |
@@ -839,8 +848,8 @@ |
36 |
#endif |
37 |
#if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so |
38 |
// first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER> |
39 |
- libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER)); |
40 |
- libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER)); |
41 |
+ libssl->setFileNameAndVersion(QLatin1String("%%OPENSSLLIB%%/libssl"), QLatin1String(SHLIB_VERSION_NUMBER)); |
42 |
+ libcrypto->setFileNameAndVersion(QLatin1String("%%OPENSSLLIB%%/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER)); |
43 |
if (libcrypto->load() && libssl->load()) { |
44 |
// libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found |
45 |
return pair; |
46 |
@@ -980,12 +989,21 @@ |
47 |
RESOLVEFUNC(EVP_CIPHER_CTX_reset) |
48 |
RESOLVEFUNC(EVP_PKEY_base_id) |
49 |
RESOLVEFUNC(RSA_bits) |
50 |
+#ifdef LIBRESSL_VERSION_NUMBER |
51 |
+ RESOLVEFUNC(sk_new_null) |
52 |
+ RESOLVEFUNC(sk_push) |
53 |
+ RESOLVEFUNC(sk_free) |
54 |
+ RESOLVEFUNC(sk_num) |
55 |
+ RESOLVEFUNC(sk_pop_free) |
56 |
+ RESOLVEFUNC(sk_value) |
57 |
+#else |
58 |
RESOLVEFUNC(OPENSSL_sk_new_null) |
59 |
RESOLVEFUNC(OPENSSL_sk_push) |
60 |
RESOLVEFUNC(OPENSSL_sk_free) |
61 |
RESOLVEFUNC(OPENSSL_sk_num) |
62 |
RESOLVEFUNC(OPENSSL_sk_pop_free) |
63 |
RESOLVEFUNC(OPENSSL_sk_value) |
64 |
+#endif |
65 |
RESOLVEFUNC(DH_get0_pqg) |
66 |
RESOLVEFUNC(SSL_CTX_set_options) |
67 |
#ifdef TLS1_3_VERSION |
68 |
@@ -1024,7 +1042,9 @@ |
69 |
|
70 |
RESOLVEFUNC(SSL_SESSION_get_ticket_lifetime_hint) |
71 |
RESOLVEFUNC(DH_bits) |
72 |
+#ifndef LIBRESSL_VERSION_NUMBER |
73 |
RESOLVEFUNC(DSA_bits) |
74 |
+#endif |
75 |
|
76 |
#if QT_CONFIG(dtls) |
77 |
RESOLVEFUNC(DTLSv1_listen) |
78 |
@@ -1280,7 +1300,7 @@ |
79 |
RESOLVEFUNC(SSL_CTX_use_RSAPrivateKey) |
80 |
RESOLVEFUNC(SSL_CTX_use_PrivateKey_file) |
81 |
RESOLVEFUNC(SSL_CTX_get_cert_store); |
82 |
-#if OPENSSL_VERSION_NUMBER >= 0x10002000L |
83 |
+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(LIBRESSL_VERSION_NUMBER) |
84 |
RESOLVEFUNC(SSL_CONF_CTX_new); |
85 |
RESOLVEFUNC(SSL_CONF_CTX_free); |
86 |
RESOLVEFUNC(SSL_CONF_CTX_set_ssl_ctx); |