diff options
author | Steve Wills <swills@FreeBSD.org> | 2019-05-30 01:47:53 +0000 |
---|---|---|
committer | Steve Wills <swills@FreeBSD.org> | 2019-05-30 01:47:53 +0000 |
commit | 123a7a969c5ce30fe8b3d737959e941a055aab32 (patch) | |
tree | 64e2b5d4d4421a10e5b26f62e6aba036ae526477 /mail | |
parent | www/py-kallithea: Update to 0.4.0 (diff) |
mail/nullmailer: Fix send fail on GnuTLS
PR: 237613
Submitted by: David Hauweele <david@hauweele.net>
Notes
Notes:
svn path=/head/; revision=503026
Diffstat (limited to 'mail')
-rw-r--r-- | mail/nullmailer/Makefile | 2 | ||||
-rw-r--r-- | mail/nullmailer/files/patch-lib_fdbuf_tlsibuf.cc | 14 | ||||
-rw-r--r-- | mail/nullmailer/files/patch-lib_fdbuf_tlsobuf.cc | 14 |
3 files changed, 29 insertions, 1 deletions
diff --git a/mail/nullmailer/Makefile b/mail/nullmailer/Makefile index 70325bf6787e..e991aa769029 100644 --- a/mail/nullmailer/Makefile +++ b/mail/nullmailer/Makefile @@ -3,7 +3,7 @@ PORTNAME= nullmailer PORTVERSION= 1.13 -PORTREVISION= 3 +PORTREVISION= 4 PORTEPOCH= 1 CATEGORIES= mail MASTER_SITES= http://untroubled.org/nullmailer/ \ diff --git a/mail/nullmailer/files/patch-lib_fdbuf_tlsibuf.cc b/mail/nullmailer/files/patch-lib_fdbuf_tlsibuf.cc new file mode 100644 index 000000000000..bfcf9bf8802b --- /dev/null +++ b/mail/nullmailer/files/patch-lib_fdbuf_tlsibuf.cc @@ -0,0 +1,14 @@ +--- lib/fdbuf/tlsibuf.cc.orig ++++ lib/fdbuf/tlsibuf.cc +@@ -27,5 +27,10 @@ + + ssize_t tlsibuf::_read(char* buf, ssize_t len) + { +- return gnutls_record_recv(session, buf, len); ++ ssize_t rc; ++ do ++ { ++ rc = gnutls_record_recv(session, buf, len); ++ } while (rc == GNUTLS_E_AGAIN || rc == GNUTLS_E_INTERRUPTED); ++ return rc; + } diff --git a/mail/nullmailer/files/patch-lib_fdbuf_tlsobuf.cc b/mail/nullmailer/files/patch-lib_fdbuf_tlsobuf.cc new file mode 100644 index 000000000000..2d5a2253caae --- /dev/null +++ b/mail/nullmailer/files/patch-lib_fdbuf_tlsobuf.cc @@ -0,0 +1,14 @@ +--- lib/fdbuf/tlsobuf.cc.orig ++++ lib/fdbuf/tlsobuf.cc +@@ -27,5 +27,10 @@ + + ssize_t tlsobuf::_write(const char* buf, ssize_t len) + { +- return gnutls_record_send(session, buf, len); ++ ssize_t rc; ++ do ++ { ++ rc = gnutls_record_send(session, buf, len); ++ } while(rc == GNUTLS_E_AGAIN || rc == GNUTLS_E_INTERRUPTED); ++ return rc; + } |