httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nick Kew <>
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

View raw message