In an upcoming libssl bump we're going to make SSL_CTX and SSL_CIPHER
opaque. The patched Qt in the wkhtmltopdf codebase is prepared for this,
but the port's patches forcing the pre-1.1.1 API codepaths will result
in a build breakage once we do that. The diff below builds on -current
and will continue building after the libssl bump.
I tried to undo as much of the patching of the qsslsocket_openssl bits
as possible. This results in a big diff that requires a major bump for
wkhtmltox (e.g., SSL_library_init() and SSL_load_error_strings() are
removed and OPENSSL_init_ssl() and SSL_CIPHER_get_bits() are added).
There are a few patches that could be removed with little effort. I'll
look into that some other time.
This still works for me in basic testing.
Index: Makefile
===================================================================
RCS file: /cvs/ports/textproc/wkhtmltopdf/Makefile,v
retrieving revision 1.24
diff -u -p -r1.24 Makefile
--- Makefile 13 Aug 2020 18:40:38 -0000 1.24
+++ Makefile 29 Apr 2021 18:06:23 -0000
@@ -14,9 +14,9 @@ QT_COMMIT = 5db36ec76b29712eb2c5bd0625c
MASTER_SITES0 = https://github.com/wkhtmltopdf/qt/archive/
DISTFILES = ${DISTNAME}.tar.gz \
wkhtmltopdf-qt-${QT_COMMIT}_1{${QT_COMMIT}}.tar.gz:0
-REVISION = 2
+REVISION = 3
-SHARED_LIBS = wkhtmltox 0.0 # 0.12
+SHARED_LIBS = wkhtmltox 1.0 # 0.12
CATEGORIES = textproc
Index: patches/patch-qt_src_network_ssl_qsslsocket_openssl_cpp
===================================================================
RCS file: /cvs/ports/textproc/wkhtmltopdf/patches/patch-qt_src_network_ssl_qsslsocket_openssl_cpp,v
retrieving revision 1.3
diff -u -p -r1.3 patch-qt_src_network_ssl_qsslsocket_openssl_cpp
--- patches/patch-qt_src_network_ssl_qsslsocket_openssl_cpp 24 Jul 2018 12:03:11 -0000 1.3
+++ patches/patch-qt_src_network_ssl_qsslsocket_openssl_cpp 29 Apr 2021 18:13:30 -0000
@@ -20,30 +20,7 @@ Index: qt/src/network/ssl/qsslsocket_ope
QSslSocketBackendPrivate::QSslSocketBackendPrivate()
: ssl(0),
ctx(0),
-@@ -225,12 +222,9 @@ QSslCipher QSslSocketBackendPrivate::QSslCipher_from_S
- ciph.d->encryptionMethod = descriptionList.at(4).mid(4);
- ciph.d->exportable = (descriptionList.size() > 6 && descriptionList.at(6) == QLatin1String("export"));
-
--#if OPENSSL_VERSION_NUMBER < 0x10100000L
- ciph.d->bits = cipher->strength_bits;
- ciph.d->supportedBits = cipher->alg_bits;
--#else
-- ciph.d->bits = q_SSL_CIPHER_get_bits(cipher, &ciph.d->supportedBits);
--
No comments:
Post a Comment