dovecot-2.2: lib-http: server: Fixed server waiting for payload ...
dovecot at dovecot.org
dovecot at dovecot.org
Tue Aug 5 18:25:32 UTC 2014
details: http://hg.dovecot.org/dovecot-2.2/rev/72db5dc3d402
changeset: 17682:72db5dc3d402
user: Stephan Bosch <stephan at rename-it.nl>
date: Tue Aug 05 20:23:32 2014 +0200
description:
lib-http: server: Fixed server waiting for payload of already failed request.
diffstat:
src/lib-http/http-server-private.h | 3 ++-
src/lib-http/http-server-request.c | 2 ++
2 files changed, 4 insertions(+), 1 deletions(-)
diffs (32 lines):
diff -r 6785b41831d3 -r 72db5dc3d402 src/lib-http/http-server-private.h
--- a/src/lib-http/http-server-private.h Tue Aug 05 17:43:31 2014 +0200
+++ b/src/lib-http/http-server-private.h Tue Aug 05 20:23:32 2014 +0200
@@ -82,6 +82,7 @@
unsigned int payload_halted:1;
unsigned int sent_100_continue:1;
+ unsigned int failed:1;
};
struct http_server_connection {
@@ -175,7 +176,7 @@
static inline bool
http_server_request_is_complete(struct http_server_request *req)
{
- return (req->conn->input_broken ||
+ return (req->failed || req->conn->input_broken ||
(req->next != NULL && !http_server_request_is_new(req->next)) ||
!http_server_connection_pending_payload(req->conn));
}
diff -r 6785b41831d3 -r 72db5dc3d402 src/lib-http/http-server-request.c
--- a/src/lib-http/http-server-request.c Tue Aug 05 17:43:31 2014 +0200
+++ b/src/lib-http/http-server-request.c Tue Aug 05 20:23:32 2014 +0200
@@ -187,6 +187,8 @@
{
struct http_server_response *resp;
+ req->failed = TRUE;
+
resp = http_server_response_create(req, status, reason);
http_server_response_add_header
(resp, "Content-Type", "text/plain; charset=utf-8");
More information about the dovecot-cvs
mailing list