Re: relaxed_header_parser error message in users browser

From: Henrik Nordstrom <hno@dont-contact.us>
Date: Mon, 7 Mar 2005 13:41:04 +0100 (CET)

On Tue, 8 Mar 2005, Reuben Farrelly wrote:

> HTTP request sent, awaiting response...
> 1 HTTP/1.1 200 OK
> 2 Date: Mon, 07 Mar 2005 12:19:13 GMT
> 3 Connection: keep-alive
> 4 Content-Length: 72912
> 5 Content-Disposition: inline; filename="alternatives-info-sheet.pdf"
> 6 Connection: Keep-Alive
> 7 Content-Length: 72912

This will get rejected with "relaxed_header_parser off" with error about
conflicting content-length.

With relaxed_header_parser warn you get a warning in cache.log about a
duplicate content-length.

With relaxed_header_parse on it is silently accepted by Squid, and the
second Content-Length header is ignored. The intention is that the second
content-length header should not have been forwarded either, but this
apparently was forgotten.

Fixing is trivial. Please file a bug report where I can keep track of this
minor issue.

> Firstly, the error page displayed in the browser shows the request that was
> sent, but not the actual invalid response that was received

I know.. haven't found a easy way of passing the headers to the error
message just yet.

> However if the error messsage displayed in the browser had instead the error
> the same as logged in cache.log, for example:
>
> ---
>
> The following error was encountered:
>
> Invalid Response - found two conflicting content-length headers in response
> from %HOSTNAME

Same problem as above..

> Then it might be more meaningful.

Agreed.

> Secondly, the error logged is that the content-length headers conflict.
> Strictly speaking, they don't conflict, there are just two of them which are
> identical ;-)

Just laziness in the implementation of "relaxed_header_parser off".

Regards
Henrik
Received on Mon Mar 07 2005 - 05:41:07 MST

This archive was generated by hypermail pre-2.1.9 : Fri Apr 01 2005 - 12:00:04 MST