Bug 57960

Summary: PUT truncates response body; status_line appears to be (incorrectly) overridden in dav_error_response
Product: Apache httpd-2 Reporter: Johnny Fuery <jj>
Component: mod_davAssignee: Apache HTTPD Bugs Mailing List <bugs>
Status: NEW ---    
Severity: normal    
Priority: P2    
Version: 2.4.7   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS X 10.1   

Description Johnny Fuery 2015-05-27 22:48:38 UTC
Given a successful PUT request in Apache 2.2.22:

curl -u foo:bar -T test.docx https://drive.meruscase.com/test.docx

<title>201 Created</title>
<p>Resource /new3.docx has been created.</p>
<hr />
<address>Apache/2.2.22 (Ubuntu) Server at drive.meruscase.com Port 80</address>

The same request in 2.4.7:


Note that this is ONLY the content of the constant "DAV_RESPONSE_BODY_1", without the accompanying content as expected.


A current (as of authoring date) review of mod_dav.c indicates this addition on line 317

From [ http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/dav/main/mod_dav.c?revision=1665625&view=markup ]

 r->status_line = ap_get_status_line(status);

...which is subsequently outputted at the point of truncation.

An older revision [ http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/dav/main/mod_dav.c?revision=606693&view=markup ]

...where this issue was not present did not include this add'l line. Interim commits at some points include a comment indicating "not sure if this works, need to test" :-)

Both apache builds were installed on Ubuntu LTS 12.x and 14.x, the respective "blessed" versions that ship with each OS. The issue was reproduced on a "virgin" copy of Ubuntu 14.04 with only mod_dav and mod_dav_fs installed.