httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Kew <n...@webthing.com>
Subject Aborting a filter.
Date Mon, 21 Jun 2004 14:53:17 GMT

I have a problem with mod_deflate's inflate filter (the one I wrote a
couple of months ago).  I've found a site that (repeatably) provides
compressed data that causes zlib to return -3 (data error). I hope I can
solve it by more detailed study of zlib, but it raises a broader issue.

The inflate-filter is error-handling in what seems an appropriate manner -
aborting the decompress and returning APR_EGENERAL.  But that then
propagates NOBODY_WROTE, and the client is getting unexpected end
of connection, which is not good.

The cop-out of a remove_output_filter and a pass_brigade is no use here,
as the error could be mid-stream, and the Content-Encoding header has
already been stripped in any case.

Instinctively I'd like to see the Client get a 500 errordoc in such cases.
But that's not an option mid-stream either.  OTOH, if it happens before
core_output_filter has got any data, is there any cleanup core can do
about this to improve the client experience?

Any thoughts?  Has this been discussed before?

-- 
Nick Kew

Mime
View raw message