aboutsummaryrefslogtreecommitdiffstats
path: root/mail/dovecot2
diff options
context:
space:
mode:
authoradamw <adamw@FreeBSD.org>2016-11-10 05:57:24 +0800
committeradamw <adamw@FreeBSD.org>2016-11-10 05:57:24 +0800
commit7972e479efab015744b2f932eceeecaa9d596233 (patch)
tree4fc76100fe8b64b1a022d8ec825de122c595d019 /mail/dovecot2
parented29042726450c45bcae8515b0d3f852dcbef071 (diff)
downloadfreebsd-ports-gnome-7972e479efab015744b2f932eceeecaa9d596233.tar.gz
freebsd-ports-gnome-7972e479efab015744b2f932eceeecaa9d596233.tar.zst
freebsd-ports-gnome-7972e479efab015744b2f932eceeecaa9d596233.zip
Add an upstream github commit:
https://github.com/dovecot/core/commit/b284962364068d5e9d60b8b1e98ba61b4b6593ec lib-http: client: Fixed assert failure occurring when server eturns error status early while client is still sending blocking payload. PR: 214365 Submitted by: Larry Rosenman
Diffstat (limited to 'mail/dovecot2')
-rw-r--r--mail/dovecot2/Makefile2
-rw-r--r--mail/dovecot2/files/patch-src_lib-http_http-client-request.c22
2 files changed, 23 insertions, 1 deletions
diff --git a/mail/dovecot2/Makefile b/mail/dovecot2/Makefile
index 41847954ed95..c4c532006670 100644
--- a/mail/dovecot2/Makefile
+++ b/mail/dovecot2/Makefile
@@ -14,7 +14,7 @@
PORTNAME= dovecot
PORTVERSION= 2.2.26.0
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= mail ipv6
MASTER_SITES= http://www.dovecot.org/releases/${PORTVERSION:R:R}/
PKGNAMESUFFIX= 2
diff --git a/mail/dovecot2/files/patch-src_lib-http_http-client-request.c b/mail/dovecot2/files/patch-src_lib-http_http-client-request.c
new file mode 100644
index 000000000000..00ed2253e804
--- /dev/null
+++ b/mail/dovecot2/files/patch-src_lib-http_http-client-request.c
@@ -0,0 +1,22 @@
+--- src/lib-http/http-client-request.c.orig 2016-10-27 12:26:28 UTC
++++ src/lib-http/http-client-request.c
+@@ -786,10 +786,16 @@ int http_client_request_send_payload(str
+ i_assert(data != NULL);
+
+ ret = http_client_request_continue_payload(&req, data, size);
+- if (ret < 0)
++ if (ret < 0) {
++ /* failed to send payload */
+ *_req = NULL;
+- else {
+- i_assert(ret == 0);
++ } else if (ret > 0) {
++ /* premature end of request;
++ server sent error before all payload could be sent */
++ ret = -1;
++ *_req = NULL;
++ } else {
++ /* not finished sending payload */
+ i_assert(req != NULL);
+ }
+ return ret;