summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Spil <brnrd@FreeBSD.org>2017-07-27 11:20:12 +0000
committerBernard Spil <brnrd@FreeBSD.org>2017-07-27 11:20:12 +0000
commit02bc8b0d803a38cd4a0cd69bd58623e6d2a56cc7 (patch)
tree60922bef637456a53b78aee7d78540b0c7bd6853
parentdevel/rubygem-statsd-instrument: Update to version 2.1.4. (diff)
mail/qmail-tls: Fix build with LibreSSL
- Replace direct struct access with get/setters PR: 218590 Approved by: erdgeist (maintainer) MFH: 2017Q3
Notes
Notes: svn path=/head/; revision=446735
-rw-r--r--mail/qmail/files/patch-LibreSSL26
1 files changed, 26 insertions, 0 deletions
diff --git a/mail/qmail/files/patch-LibreSSL b/mail/qmail/files/patch-LibreSSL
new file mode 100644
index 000000000000..4a7ada8bbf54
--- /dev/null
+++ b/mail/qmail/files/patch-LibreSSL
@@ -0,0 +1,26 @@
+--- qmail-remote.c.orig 2017-05-14 13:50:09 UTC
++++ qmail-remote.c
+@@ -266,7 +266,7 @@ char *append;
+ {
+ #ifdef TLS
+ /* shouldn't talk to the client unless in an appropriate state */
+- int state = ssl ? ssl->state : SSL_ST_BEFORE;
++ int state = SSL_get_state(ssl);
+ if (state & SSL_ST_OK || (!smtps && state & SSL_ST_BEFORE))
+ #endif
+ substdio_putsflush(&smtpto,"QUIT\r\n");
+--- ssl_timeoutio.c.orig 2017-05-14 13:50:09 UTC
++++ ssl_timeoutio.c
+@@ -74,10 +74,10 @@ int ssl_timeoutrehandshake(int t, int rf
+
+ 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 || SSL_get_state(ssl) == SSL_ST_CONNECT) return r;
+
+ /* this is for the server only */
+- ssl->state = SSL_ST_ACCEPT;
++ SSL_set_connect_state(ssl);
+ return ssl_timeoutio(SSL_do_handshake, t, rfd, wfd, ssl, NULL, 0);
+ }
+