diff options
author | adamw <adamw@FreeBSD.org> | 2016-11-10 05:57:24 +0800 |
---|---|---|
committer | adamw <adamw@FreeBSD.org> | 2016-11-10 05:57:24 +0800 |
commit | 7972e479efab015744b2f932eceeecaa9d596233 (patch) | |
tree | 4fc76100fe8b64b1a022d8ec825de122c595d019 /mail/dovecot2 | |
parent | ed29042726450c45bcae8515b0d3f852dcbef071 (diff) | |
download | freebsd-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/Makefile | 2 | ||||
-rw-r--r-- | mail/dovecot2/files/patch-src_lib-http_http-client-request.c | 22 |
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; |