From 1ef4cd600f67c94a4fc38ec6afb45b0a26be806d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20Malo?= Date: Sun, 6 Jun 2004 13:23:26 +0000 Subject: [PATCH] Allow LimitRequestBody to be reset to unlimited. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit PR: 29106 Reviewed by: Jeff Trawick, Brad Nicholes, Astrid Ke�ler git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/APACHE_2_0_BRANCH@103861 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 3 +++ STATUS | 7 +------ server/core.c | 12 ++++++++++-- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/CHANGES b/CHANGES index 6c89996e762..e5edbb3ff9f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,5 +1,8 @@ Changes with Apache 2.0.50 + *) Allow LimitRequestBody to be reset to unlimited. PR 29106 + [André Malo] + *) Fix a bunch of cases where the return code of the regex compiler was not checked properly. This affects: mod_setenvif, mod_usertrack, mod_proxy, mod_proxy_ftp and core. PR 28218. [André Malo] diff --git a/STATUS b/STATUS index 272cdd46248..9fdd1973eb1 100644 --- a/STATUS +++ b/STATUS @@ -1,5 +1,5 @@ APACHE 2.0 STATUS: -*-text-*- -Last modified at [$Date: 2004/06/06 12:55:44 $] +Last modified at [$Date: 2004/06/06 13:23:26 $] Release: @@ -102,11 +102,6 @@ PATCHES TO BACKPORT FROM 2.1 docs/manual/mod/mod_ldap.xml r1.12 +1 minfrin, bnicholes - *) Allow LimitRequestBody to be reset to unlimited. PR 29106 - server/core.c: r1.279 - +1: nd, trawick, bnicholes - +1: kess (on concept) - *) Small fix to allow reverse proxying to an ftp server. Previously an attempt to do this would try and connect to 0.0.0.0, regardless of the server specified. diff --git a/server/core.c b/server/core.c index 409e7b188f3..290c99fc3f3 100644 --- a/server/core.c +++ b/server/core.c @@ -49,6 +49,10 @@ #include "mod_proxy.h" #include "ap_listen.h" +/* LimitRequestBody handling */ +#define AP_LIMIT_REQ_BODY_UNSET ((apr_off_t) -1) +#define AP_DEFAULT_LIMIT_REQ_BODY ((apr_off_t) 0) + /* LimitXMLRequestBody handling */ #define AP_LIMIT_UNSET ((long) -1) #define AP_DEFAULT_LIMIT_XML_BODY ((size_t)1000000) @@ -114,7 +118,7 @@ static void *create_core_dir_config(apr_pool_t *a, char *dir) conf->limit_nproc = NULL; #endif - conf->limit_req_body = 0; + conf->limit_req_body = AP_LIMIT_REQ_BODY_UNSET; conf->limit_xml_body = AP_LIMIT_UNSET; conf->sec_file = apr_array_make(a, 2, sizeof(ap_conf_vector_t *)); @@ -315,7 +319,7 @@ static void *merge_core_dir_configs(apr_pool_t *a, void *basev, void *newv) } #endif - if (new->limit_req_body) { + if (new->limit_req_body != AP_LIMIT_REQ_BODY_UNSET) { conf->limit_req_body = new->limit_req_body; } @@ -943,6 +947,10 @@ AP_DECLARE(apr_off_t) ap_get_limit_req_body(const request_rec *r) core_dir_config *d = (core_dir_config *)ap_get_module_config(r->per_dir_config, &core_module); + if (d->limit_req_body == AP_LIMIT_REQ_BODY_UNSET) { + return AP_DEFAULT_LIMIT_REQ_BODY; + } + return d->limit_req_body; } -- 2.47.2