From 698186608b3f13f150bc934a60a84708211072cf Mon Sep 17 00:00:00 2001 From: Philipp Schafft Date: Fri, 13 Apr 2018 13:43:36 +0000 Subject: [PATCH] Fix: Send "Content-Length: 0" on 100-continue --- src/connection.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/connection.c b/src/connection.c index 71e7c754..dbbb4514 100644 --- a/src/connection.c +++ b/src/connection.c @@ -748,6 +748,7 @@ static inline void source_startup(client_t *client, const char *uri) const char *expectcontinue; const char *transfer_encoding; int status_to_send = 200; + ssize_t ret; transfer_encoding = httpp_getvar(source->parser, "transfer-encoding"); if (transfer_encoding && strcasecmp(transfer_encoding, HTTPP_ENCODING_IDENTITY) != 0) { @@ -774,7 +775,8 @@ static inline void source_startup(client_t *client, const char *uri) } client->respcode = 200; - util_http_build_header(ok->data, PER_CLIENT_REFBUF_SIZE, 0, 0, status_to_send, NULL, NULL, NULL, "", NULL, client); + ret = util_http_build_header(ok->data, PER_CLIENT_REFBUF_SIZE, 0, 0, status_to_send, NULL, NULL, NULL, NULL, NULL, client); + snprintf(ok->data + ret, PER_CLIENT_REFBUF_SIZE - ret, "Content-Length: 0\r\n\r\n"); ok->len = strlen(ok->data); /* we may have unprocessed data read in, so don't overwrite it */ ok->associated = client->refbuf;