On 12/13/2016 08:57 PM, Jacob Champion wrote:
> On 12/13/2016 11:37 AM, Ruediger Pluem wrote:
>> On 12/13/2016 02:49 PM, Yann Ylavic wrote:
>>> I don't find the change too complex after all, and that's a quite
>>> critical filter for doing the right/safe thing...
>>>
>>> I'm even inclined to do the below changes, so that we are really safe
>>> (i.e. ignore any data) after EOS...
>>
>> After this patch we do the wrong thing with an EOC bucket.
>> The current contract is that an EOC bucket *anywhere* in the brigade causes 
>> the
>> header filter to go out of the way. After the patch this is broken if
>> a bad header is present. But as EOC tells us to get out of the way and do 
>> nothing,
>> we don't need to take care about bad headers. This breaks edge case with 
>> mod_proxy_http
> 
> Can you elaborate on this broken case? Is it something we can add a test for?

Have a look at line 1334 of mod_proxy_http.c:

            /*
             * If we are a reverse proxy request shutdown the connection
             * WITHOUT ANY response to trigger a retry by the client
             * if allowed (as for idempotent requests).
             * BUT currently we should not do this if the request is the
             * first request on a keepalive connection as browsers like
             * seamonkey only display an empty page in this case and do
             * not do a retry. We should also not do this on a
             * connection which times out; instead handle as
             * we normally would handle timeouts
             */


Regards

Rüdiger

Reply via email to