From: Ruediger Pluem Date: Tue, 12 Dec 2006 21:22:36 +0000 (+0000) Subject: * Handle request bodies larger than 2 GB by converting the Content-Length X-Git-Tag: 2.3.0~1972 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4f83ebed74b9d1588ad6712abc9e3a68014bfdb3;p=apache * Handle request bodies larger than 2 GB by converting the Content-Length header string of the request correctly to apr_off_t. PR: 40883 git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@486320 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index ee782852b7..bdd8825d99 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,10 @@ Changes with Apache 2.3.0 [Remove entries to the current 2.0 and 2.2 section below, when backported] + *) mod_proxy_http: Handle request bodies larger than 2 GB by converting + the Content-Length header of the request correctly. PR 40883. + [Ruediger Pluem, toadie ] + *) core: Do not replace a Date header set by a proxied backend server. PR 40232. [Ruediger Pluem] diff --git a/modules/proxy/mod_proxy_http.c b/modules/proxy/mod_proxy_http.c index 3c118b171f..a7538726f7 100644 --- a/modules/proxy/mod_proxy_http.c +++ b/modules/proxy/mod_proxy_http.c @@ -333,7 +333,10 @@ static apr_status_t stream_reqbody_cl(apr_pool_t *p, if (old_cl_val) { add_cl(p, bucket_alloc, header_brigade, old_cl_val); - cl_val = atol(old_cl_val); + if (APR_SUCCESS != (status = apr_strtoff(&cl_val, old_cl_val, NULL, + 0))) { + return status; + } } terminate_headers(bucket_alloc, header_brigade);