diff options
-rw-r--r-- | mail/qmail-tls/Makefile | 2 | ||||
-rw-r--r-- | mail/qmail/Makefile | 7 | ||||
-rw-r--r-- | mail/qmail/files/netqmail-1.06-tls-20160918-freebsd-12.patch | 49 |
3 files changed, 55 insertions, 3 deletions
diff --git a/mail/qmail-tls/Makefile b/mail/qmail-tls/Makefile index bf2df38a3be2..f22907acda76 100644 --- a/mail/qmail-tls/Makefile +++ b/mail/qmail-tls/Makefile @@ -3,7 +3,7 @@ PORTNAME= qmail PORTVERSION= ${QMAIL_VERSION}.${TLS_PATCH_DATE} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= mail PKGNAMESUFFIX= -tls diff --git a/mail/qmail/Makefile b/mail/qmail/Makefile index aac9aeaf4f79..2ddf31d208f7 100644 --- a/mail/qmail/Makefile +++ b/mail/qmail/Makefile @@ -134,6 +134,8 @@ BARRIER_DNS_CNAME= yes PATCH_DIST_STRIP+= -p1 +.include <bsd.port.options.mk> + .if !defined(BARRIER_DNS_PATCH) # Patch necessary to cope with non-RFC >512 dns entries # Since AOL has been using those, the problem has skyrocketed from minor to @@ -168,6 +170,9 @@ PATCHFILES+= netqmail-mysql-${MYSQL_PATCH_VERSION}.patch:mysql PATCH_SITES+= http://inoa.net/qmail-tls/:tls TLS_PATCH_NAME= ${QMAIL_PORTNAME}-${QMAIL_VERSION}-tls-${TLS_PATCH_DATE}.patch PATCHFILES+= ${TLS_PATCH_NAME}:tls +.if ${OPSYS} == FreeBSD && ${OSVERSION} >= 1200000 +EXTRA_PATCHES+= ${FILESDIR}/netqmail-1.06-tls-20160918-freebsd-12.patch +.endif .endif PATCH_SITES+= LOCAL/bdrewery/qmail/:dns,sendmail_flagf,rfc2821,ldap,mysql,tls,quota,blockexec,doublebounce,spf,spf_tls,localtime,qmtpc_outgoingip @@ -382,8 +387,6 @@ TLS_USES= ssl NO_MTREE= yes NO_PREFIX_RMDIR=yes -.include <bsd.port.options.mk> - .if ${ARCH} == "amd64" && !defined(SLAVE_LDAP) \ && !defined(SLAVE_SPAMCONTROL) EXTRA_PATCHES+= ${FILESDIR}/extra-patch-amd64 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); + } + |