]> granicus.if.org Git - apache/commitdiff
Forward-port from mod_dav 1.0:
authorJoe Orton <jorton@apache.org>
Sun, 14 Mar 2004 20:53:58 +0000 (20:53 +0000)
committerJoe Orton <jorton@apache.org>
Sun, 14 Mar 2004 20:53:58 +0000 (20:53 +0000)
* server/util_xml.c (ap_xml_parse_input): Give a 413 (Request Entity
Too Large) not a 400 if the client exceeds the configured XML request
body limit.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@102959 13f79535-47bb-0310-9956-ffa450edef68

server/util_xml.c

index a8bd36d25fc4c7d34a55286f66656636f885d2c9..069345d310468a0ed1148abaf2161ca68c64b517 100644 (file)
@@ -36,6 +36,7 @@ AP_DECLARE(int) ap_xml_parse_input(request_rec * r, apr_xml_doc **pdoc)
     char errbuf[200];
     apr_size_t total_read = 0;
     apr_size_t limit_xml_body = ap_get_limit_xml_body(r);
+    int result = HTTP_BAD_REQUEST;
 
     parser = apr_xml_parser_create(r->pool);
     brigade = apr_brigade_create(r->pool, r->connection->bucket_alloc);
@@ -81,6 +82,7 @@ AP_DECLARE(int) ap_xml_parse_input(request_rec * r, apr_xml_doc **pdoc)
                 ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
                               "XML request body is larger than the configured "
                               "limit of %lu", (unsigned long)limit_xml_body);
+                result = HTTP_REQUEST_ENTITY_TOO_LARGE;
                 goto read_error;
             }
 
@@ -124,5 +126,5 @@ AP_DECLARE(int) ap_xml_parse_input(request_rec * r, apr_xml_doc **pdoc)
     apr_brigade_destroy(brigade);
 
     /* Apache will supply a default error, plus the error log above. */
-    return HTTP_BAD_REQUEST;
+    return result;
 }