summaryrefslogtreecommitdiff
path: root/mail/qmail/files
diff options
context:
space:
mode:
authorKurt Jaeger <pi@FreeBSD.org>2019-01-31 10:59:22 +0000
committerKurt Jaeger <pi@FreeBSD.org>2019-01-31 10:59:22 +0000
commitd9a77fcdcc273d0c42ce926a65350438df91e17d (patch)
treee6bace2a0a6024bb3437454ebb2d57f27416b269 /mail/qmail/files
parentcomms/ncid: update 1.10 to 1.10.1 (diff)
mail/qmail-tls: patches to make it work with openssl 1.1.1 in base for 12+
PR: 235336 Submitted by: erdgeist@erdgeist.org (maintainer)
Notes
Notes: svn path=/head/; revision=491703
Diffstat (limited to 'mail/qmail/files')
-rw-r--r--mail/qmail/files/netqmail-1.06-tls-20160918-freebsd-12.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/mail/qmail/files/netqmail-1.06-tls-20160918-freebsd-12.patch b/mail/qmail/files/netqmail-1.06-tls-20160918-freebsd-12.patch
new file mode 100644
index 000000000000..5302b1620017
--- /dev/null
+++ b/mail/qmail/files/netqmail-1.06-tls-20160918-freebsd-12.patch
@@ -0,0 +1,49 @@
+--- qmail-remote.c 2019-01-31 00:13:55.812794000 +0100
++++ qmail-remote.c 2019-01-31 00:21:01.440755000 +0100
+@@ -266,8 +266,8 @@
+ {
+ #ifdef TLS
+ /* shouldn't talk to the client unless in an appropriate state */
+- int state = ssl ? ssl->state : SSL_ST_BEFORE;
+- if (state & SSL_ST_OK || (!smtps && state & SSL_ST_BEFORE))
++ OSSL_HANDSHAKE_STATE state = ssl ? SSL_get_state(ssl) : TLS_ST_BEFORE;
++ if (state & TLS_ST_OK || (!smtps && state & TLS_ST_BEFORE))
+ #endif
+ substdio_putsflush(&smtpto,"QUIT\r\n");
+ /* waiting for remote side is just too ridiculous */
+@@ -502,7 +502,7 @@
+ X509_NAME *subj = X509_get_subject_name(peercert);
+ i = X509_NAME_get_index_by_NID(subj, NID_commonName, -1);
+ if (i >= 0) {
+- const ASN1_STRING *s = X509_NAME_get_entry(subj, i)->value;
++ const ASN1_STRING *s = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(subj, i));
+ if (s) { peer.len = s->length; peer.s = s->data; }
+ }
+ if (peer.len <= 0) {
+
+--- qmail-smtpd.c 2019-01-31 00:13:55.815359000 +0100
++++ qmail-smtpd.c 2019-01-31 00:21:01.443177000 +0100
+@@ -557,7 +557,7 @@
+ subj = X509_get_subject_name(peercert);
+ n = X509_NAME_get_index_by_NID(subj, NID_pkcs9_emailAddress, -1);
+ if (n >= 0) {
+- const ASN1_STRING *s = X509_NAME_get_entry(subj, n)->value;
++ const ASN1_STRING *s = X509_NAME_ENTRY_get_data(X509_NAME_get_entry(subj, n));
+ if (s) { email.len = s->length; email.s = s->data; }
+ }
+
+--- ssl_timeoutio.c 2019-01-31 00:13:55.830214000 +0100
++++ ssl_timeoutio.c 2019-01-31 00:21:01.456993000 +0100
+@@ -74,10 +74,10 @@
+
+ SSL_renegotiate(ssl);
+ r = ssl_timeoutio(SSL_do_handshake, t, rfd, wfd, ssl, NULL, 0);
+- if (r <= 0 || ssl->type == SSL_ST_CONNECT) return r;
++ if (r <= 0) return r;
+
+ /* this is for the server only */
+- ssl->state = SSL_ST_ACCEPT;
++ SSL_set_accept_state(ssl);
+ return ssl_timeoutio(SSL_do_handshake, t, rfd, wfd, ssl, NULL, 0);
+ }
+