Source: qt4-x11
Version: 4:4.8.7+dfsg-11
Followup-For: Bug #828522
Hello,
Please try adding the attached patch, which should fix the rest of
incompatibilities between qt4-x11 and OpenSSL 1.1.0. With this patch I'm
able to successfully use Psi jabber client together with Qt4 built
against OpenSSL 1.1.0.
Also please note, that I had to apply two more fixes to build Qt4
properly (see second attachment):
- In debian/rules define DEB_HOST_ARCH
- In qt4-x11-4.8.7+dfsg/config.tests/unix/alsa/alsatest.cpp support
libasound2 >= 1.1.0
--
With best wishes
Dmitry
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.12.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8), LANGUAGE=en_GB:en
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
diff -pur qt4-x11-4.8.7+dfsg-old/src/network/ssl/qsslsocket_openssl_p.h
qt4-x11-4.8.7+dfsg/src/network/ssl/qsslsocket_openssl_p.h
--- qt4-x11-4.8.7+dfsg-old/src/network/ssl/qsslsocket_openssl_p.h
2015-05-07 17:14:44.0 +0300
+++ qt4-x11-4.8.7+dfsg/src/network/ssl/qsslsocket_openssl_p.h 2017-10-14
03:09:55.942302611 +0300
@@ -84,6 +84,10 @@
#include
#endif
+#if OPENSSL_VERSION_NUMBER >= 0x1010L
+#define OPENSSL_NO_SSL2
+#endif
+
#if OPENSSL_VERSION_NUMBER >= 0x1000L
typedef _STACK STACK;
#endif
diff -pur qt4-x11-4.8.7+dfsg-old/src/network/ssl/qsslsocket_openssl_symbols.cpp
qt4-x11-4.8.7+dfsg/src/network/ssl/qsslsocket_openssl_symbols.cpp
--- qt4-x11-4.8.7+dfsg-old/src/network/ssl/qsslsocket_openssl_symbols.cpp
2017-10-14 03:35:00.0 +0300
+++ qt4-x11-4.8.7+dfsg/src/network/ssl/qsslsocket_openssl_symbols.cpp
2017-10-14 03:26:33.356393367 +0300
@@ -117,9 +117,11 @@ DEFINEFUNC3(int, BIO_read, BIO *a, a, vo
DEFINEFUNC(BIO_METHOD *, BIO_s_mem, void, DUMMYARG, return 0, return)
DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1,
return)
DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return)
+#if OPENSSL_VERSION_NUMBER < 0x1010L
DEFINEFUNC(int, CRYPTO_num_locks, DUMMYARG, DUMMYARG, return 0, return)
DEFINEFUNC(void, CRYPTO_set_locking_callback, void (*a)(int, int, const char
*, int), a, return, DUMMYARG)
DEFINEFUNC(void, CRYPTO_set_id_callback, unsigned long (*a)(), a, return,
DUMMYARG)
+#endif
DEFINEFUNC(void, CRYPTO_free, void *a, a, return, DUMMYARG)
DEFINEFUNC(void, DSA_free, DSA *a, a, return, DUMMYARG)
#if OPENSSL_VERSION_NUMBER < 0x00908000L
@@ -157,6 +159,7 @@ DEFINEFUNC2(int, PEM_write_bio_RSA_PUBKE
DEFINEFUNC2(void, RAND_seed, const void *a, a, int b, b, return, DUMMYARG)
DEFINEFUNC(int, RAND_status, void, DUMMYARG, return -1, return)
DEFINEFUNC(void, RSA_free, RSA *a, a, return, DUMMYARG)
+#if OPENSSL_VERSION_NUMBER < 0x1010L
DEFINEFUNC(int, sk_num, STACK *a, a, return -1, return)
DEFINEFUNC2(void, sk_pop_free, STACK *a, a, void (*b)(void*), b, return,
DUMMYARG)
#if OPENSSL_VERSION_NUMBER >= 0x1000L
@@ -166,6 +169,12 @@ DEFINEFUNC2(void *, sk_value, STACK *a,
DEFINEFUNC(void, sk_free, STACK *a, a, return, DUMMYARG)
DEFINEFUNC2(char *, sk_value, STACK *a, a, int b, b, return 0, return)
#endif
+#else
+DEFINEFUNC(int, OPENSSL_sk_num, STACK *a, a, return -1, return)
+DEFINEFUNC2(void, OPENSSL_sk_pop_free, STACK *a, a, void (*b)(void*), b,
return, DUMMYARG)
+DEFINEFUNC(void, OPENSSL_sk_free, _STACK *a, a, return, DUMMYARG)
+DEFINEFUNC2(void *, OPENSSL_sk_value, STACK *a, a, int b, b, return 0, return)
+#endif
DEFINEFUNC(int, SSL_accept, SSL *a, a, return -1, return)
DEFINEFUNC(int, SSL_clear, SSL *a, a, return -1, return)
DEFINEFUNC3(char *, SSL_CIPHER_description, SSL_CIPHER *a, a, char *b, b, int
c, c, return 0, return)
@@ -213,8 +222,12 @@ DEFINEFUNC(long, SSL_get_verify_result,
#else
DEFINEFUNC(long, SSL_get_verify_result, SSL *a, a, return -1, return)
#endif
+#if OPENSSL_VERSION_NUMBER < 0x1010L
DEFINEFUNC(int, SSL_library_init, void, DUMMYARG, return -1, return)
DEFINEFUNC(void, SSL_load_error_strings, void, DUMMYARG, return, DUMMYARG)
+#else
+DEFINEFUNC2(int, OPENSSL_init_ssl, uint64_t opts, opts, void *settings,
settings, return -1, return)
+#endif
DEFINEFUNC(SSL *, SSL_new, SSL_CTX *a, a, return 0, return)
#if OPENSSL_VERSION_NUMBER >= 0x0090806fL && !defined(OPENSSL_NO_TLSEXT)
DEFINEFUNC4(long, SSL_ctrl, SSL *a, a, int cmd, cmd, long larg, larg, void
*parg, parg, return -1, return)
@@ -231,7 +244,11 @@ DEFINEFUNC(const SSL_METHOD *, SSLv2_cli
#ifndef OPENSSL_NO_SSL3_METHOD
DEFINEFUNC(const SSL_METHOD *, SSLv3_client_method, DUMMYARG, DUMMYARG, return
0, return)
#endif
+#if OPENSSL_VERSION_NUMBER < 0x1010L
DEFINEFUNC(const SSL_METHOD *, SSLv23_client_method, DUMMYARG, DUMMYARG,
return 0, return)
+#else
+DEFINEFUNC(const SSL_METHOD *, TLS_client_method, DUMMYARG, DUMMYARG, return
0, return)
+#endif
DEFINEFUNC(const