Bug 1371876

Summary: Apache httpd returns "200 OK" for a request exceeding LimitRequestBody when enabling mod_ext_filter
Product: Red Hat Enterprise Linux 7 Reporter: Masafumi Miura <mmiura>
Component: httpdAssignee: Luboš Uhliarik <luhliari>
Status: CLOSED ERRATA QA Contact: Jan Houska <jhouska>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: isenfeld, jorton, luhliari, mfrodl
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: httpd-2.4.6-55.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1481342 (view as bug list) Environment:
Last Closed: 2017-08-01 21:36:44 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1298243, 1481342    

Description Masafumi Miura 2016-08-31 10:26:47 UTC
### Description of problem:

Apache httpd returns "200 OK" for a request exceeding LimitRequestBody when enabling mod_ext_filter.


### Version-Release number of selected component (if applicable):

httpd-2.4.6-40.el7_2.4.x86_64


### How reproducible:

Anytime


### Steps to Reproduce:

1. Configure LimitRequestBody and mod_ext_filter:

    LimitRequestBody 100
    ExtFilterDefine testfilter mode=output cmd="/bin/sed s/foo/bar/g"
    SetOutputFilter testfilter

2. Prepare a test file which is larger than LimitRequestBody

    dd if=/dev/zero of=/tmp/testfile bs=1 count=101

3. Sent a POST request with the file 

    curl -X POST -v -s -T /tmp/testfile http://127.0.0.1/test.html


### Actual results:

Apache httpd returns "200 OK"

~~~
$ curl -X POST -v -s -T /tmp/testfile 127.0.0.1/test.html
...
> POST /test.html HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
> Host: 127.0.0.1
> Accept: */*
> Content-Length: 101
> Expect: 100-continue
> 
< HTTP/1.1 200 OK
< Date: Wed, 31 Aug 2016 10:08:21 GMT
< Server: Apache/2.2.15 (Red Hat)
< Content-Length: 0
< Connection: close
< Content-Type: text/html; charset=UTF-8
< 
~~~


### Expected results:

Apache httpd should return "413 Request Entity Too Large".


### Additional info:

You can workaround this by using mod_substitute instead if it can cover your requirement. For example:

~~~
SetOutputFilter SUBSTITUTE
Substitute s/foo/bar/i
~~~

Comment 6 errata-xmlrpc 2017-08-01 21:36:44 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2017:2175