From: Yann Ylavic Date: Thu, 14 Feb 2019 08:45:36 +0000 (+0000) Subject: mod_proxy_http: follow up to r1853561. X-Git-Tag: 2.5.0-alpha2-ci-test-only~2157 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=551dd2df80003a8f60af5ceaa088256fe91bbb1b;p=thirdparty%2Fapache%2Fhttpd.git mod_proxy_http: follow up to r1853561. Handle "proxy-sendextracrlf" within the loop too. Btw, this extra CRLF heresy should go (at least in trunk) git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1853566 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c index 06f3ace5a74..e4902192db5 100644 --- a/modules/proxy/mod_proxy_http.c +++ b/modules/proxy/mod_proxy_http.c @@ -364,6 +364,11 @@ static int stream_reqbody_chunked(proxy_http_req_t *req) CRLF_ASCII, 5, bucket_alloc); APR_BRIGADE_INSERT_TAIL(input_brigade, e); + + if (apr_table_get(r->subprocess_env, "proxy-sendextracrlf")) { + e = apr_bucket_immortal_create(CRLF_ASCII, 2, bucket_alloc); + APR_BRIGADE_INSERT_TAIL(input_brigade, e); + } } } @@ -380,14 +385,7 @@ static int stream_reqbody_chunked(proxy_http_req_t *req) } } while (!seen_eos); - if (apr_table_get(r->subprocess_env, "proxy-sendextracrlf")) { - e = apr_bucket_immortal_create(CRLF_ASCII, 2, bucket_alloc); - APR_BRIGADE_INSERT_TAIL(input_brigade, e); - } - - /* Now we have headers-only, or the chunk EOS mark; flush it */ - return ap_proxy_pass_brigade(bucket_alloc, r, p_conn, req->origin, - input_brigade, 1); + return OK; } static int stream_reqbody_cl(proxy_http_req_t *req)