Turns out I accidentally committed one diff too many to libcrypto
(meaning one that didn't go through sthen's bulk) and as a well-deserved
punishment, I broke Qt stuff (what else?).

The diff below fixes the build of x11/qt4 for me.

The problem is that X509_getm_not{Before,After}() are now proper
functions instead of #defines accessing a X509 struct member, so
they need to be taught to the Qt dynamic linking mechanism.

Index: patches/patch-src_network_ssl_qsslcertificate_cpp
===================================================================
RCS file: patches/patch-src_network_ssl_qsslcertificate_cpp
diff -N patches/patch-src_network_ssl_qsslcertificate_cpp
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_network_ssl_qsslcertificate_cpp   26 Aug 2018 07:57:02 
-0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Index: src/network/ssl/qsslcertificate.cpp
+--- src/network/ssl/qsslcertificate.cpp.orig
++++ src/network/ssl/qsslcertificate.cpp
+@@ -698,8 +698,8 @@ QSslCertificate QSslCertificatePrivate::QSslCertificat
+     if (!x509 || !QSslSocket::supportsSsl())
+         return certificate;
+ 
+-    ASN1_TIME *nbef = q_X509_get_notBefore(x509);
+-    ASN1_TIME *naft = q_X509_get_notAfter(x509);
++    ASN1_TIME *nbef = q_X509_getm_notBefore(x509);
++    ASN1_TIME *naft = q_X509_getm_notAfter(x509);
+     certificate.d->notValidBefore = q_getTimeFromASN1(nbef);
+     certificate.d->notValidAfter = q_getTimeFromASN1(naft);
+     certificate.d->null = false;
Index: patches/patch-src_network_ssl_qsslsocket_openssl_symbols_cpp
===================================================================
RCS file: 
/cvs/ports/x11/qt4/patches/patch-src_network_ssl_qsslsocket_openssl_symbols_cpp,v
retrieving revision 1.3
diff -u -p -r1.3 patch-src_network_ssl_qsslsocket_openssl_symbols_cpp
--- patches/patch-src_network_ssl_qsslsocket_openssl_symbols_cpp        17 Sep 
2015 12:24:42 -0000      1.3
+++ patches/patch-src_network_ssl_qsslsocket_openssl_symbols_cpp        26 Aug 
2018 07:57:02 -0000
@@ -1,6 +1,7 @@
 $OpenBSD: patch-src_network_ssl_qsslsocket_openssl_symbols_cpp,v 1.3 
2015/09/17 12:24:42 dcoppa Exp $
---- src/network/ssl/qsslsocket_openssl_symbols.cpp.orig        Wed Sep 16 
13:27:39 2015
-+++ src/network/ssl/qsslsocket_openssl_symbols.cpp     Wed Sep 16 13:33:06 2015
+Index: src/network/ssl/qsslsocket_openssl_symbols.cpp
+--- src/network/ssl/qsslsocket_openssl_symbols.cpp.orig
++++ src/network/ssl/qsslsocket_openssl_symbols.cpp
 @@ -228,13 +228,17 @@ DEFINEFUNC(int, SSL_shutdown, SSL *a, a, return -1, re
  #ifndef OPENSSL_NO_SSL2
  DEFINEFUNC(const SSL_METHOD *, SSLv2_client_method, DUMMYARG, DUMMYARG, 
return 0, return)
@@ -19,7 +20,16 @@ $OpenBSD: patch-src_network_ssl_qsslsock
  DEFINEFUNC(const SSL_METHOD *, SSLv23_server_method, DUMMYARG, DUMMYARG, 
return 0, return)
  DEFINEFUNC(const SSL_METHOD *, TLSv1_server_method, DUMMYARG, DUMMYARG, 
return 0, return)
  #else
-@@ -822,13 +826,17 @@ bool q_resolveOpenSslSymbols()
+@@ -257,6 +261,8 @@ DEFINEFUNC(void, X509_free, X509 *a, a, return, DUMMYA
+ DEFINEFUNC2(X509_EXTENSION *, X509_get_ext, X509 *a, a, int b, b, return 0, 
return)
+ DEFINEFUNC(int, X509_get_ext_count, X509 *a, a, return 0, return)
+ DEFINEFUNC4(void *, X509_get_ext_d2i, X509 *a, a, int b, b, int *c, c, int 
*d, d, return 0, return)
++DEFINEFUNC(ASN1_TIME *, X509_getm_notBefore, const X509 *x, x, return 0, 
return)
++DEFINEFUNC(ASN1_TIME *, X509_getm_notAfter, const X509 *x, x, return 0, 
return)
+ DEFINEFUNC(X509_NAME *, X509_get_issuer_name, X509 *a, a, return 0, return)
+ DEFINEFUNC(X509_NAME *, X509_get_subject_name, X509 *a, a, return 0, return)
+ DEFINEFUNC(int, X509_verify_cert, X509_STORE_CTX *a, a, return -1, return)
+@@ -822,13 +828,17 @@ bool q_resolveOpenSslSymbols()
  #ifndef OPENSSL_NO_SSL2
      RESOLVEFUNC(SSLv2_client_method)
  #endif
@@ -37,3 +47,12 @@ $OpenBSD: patch-src_network_ssl_qsslsock
      RESOLVEFUNC(SSLv23_server_method)
      RESOLVEFUNC(TLSv1_server_method)
      RESOLVEFUNC(X509_NAME_entry_count)
+@@ -858,6 +868,8 @@ bool q_resolveOpenSslSymbols()
+     RESOLVEFUNC(X509_get_ext_d2i)
+     RESOLVEFUNC(X509_get_issuer_name)
+     RESOLVEFUNC(X509_get_subject_name)
++    RESOLVEFUNC(X509_getm_notAfter)
++    RESOLVEFUNC(X509_getm_notBefore)
+     RESOLVEFUNC(X509_verify_cert)
+     RESOLVEFUNC(d2i_X509)
+     RESOLVEFUNC(i2d_X509)
Index: patches/patch-src_network_ssl_qsslsocket_openssl_symbols_p_h
===================================================================
RCS file: patches/patch-src_network_ssl_qsslsocket_openssl_symbols_p_h
diff -N patches/patch-src_network_ssl_qsslsocket_openssl_symbols_p_h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_network_ssl_qsslsocket_openssl_symbols_p_h        26 Aug 
2018 07:57:02 -0000
@@ -0,0 +1,16 @@
+$OpenBSD$
+
+Index: src/network/ssl/qsslsocket_openssl_symbols_p.h
+--- src/network/ssl/qsslsocket_openssl_symbols_p.h.orig
++++ src/network/ssl/qsslsocket_openssl_symbols_p.h
+@@ -410,8 +410,8 @@ DSA *q_d2i_DSAPrivateKey(DSA **a, unsigned char **pp, 
+ #define q_sk_SSL_CIPHER_value(st, i) q_SKM_sk_value(SSL_CIPHER, (st), (i))
+ #define q_SSL_CTX_add_extra_chain_cert(ctx,x509) \
+         q_SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)
+-#define q_X509_get_notAfter(x) X509_get_notAfter(x)
+-#define q_X509_get_notBefore(x) X509_get_notBefore(x)
++#define q_X509_getm_notAfter(x) X509_getm_notAfter(x)
++#define q_X509_getm_notBefore(x) X509_getm_notBefore(x)
+ #define q_EVP_PKEY_assign_RSA(pkey,rsa) 
q_EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
+                                       (char *)(rsa))
+ #define q_EVP_PKEY_assign_DSA(pkey,dsa) 
q_EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\

Reply via email to