[Varnish] #292: Connection header delete-flags can get out of sync with headers.
Varnish
varnish-bugs at projects.linpro.no
Tue Aug 19 21:27:16 CEST 2008
#292: Connection header delete-flags can get out of sync with headers.
--------------------+-------------------------------------------------------
Reporter: phk | Owner: phk
Type: defect | Status: new
Priority: normal | Milestone: Varnish 2.0 code complete
Component: build | Version: trunk
Severity: major | Keywords:
--------------------+-------------------------------------------------------
{{{
From: Adrian Otto <aotto at mosso.com>
Subject: Re: Bug in 1.1.2: Multiple headers stripped (oops)
To: varnish-dev at projects.linpro.no
I found the reason why I hit this bug, but I need some tips to
understand how to debug what's happening in the VCL code. First, I'll
explain the bug:
1) My default.vcl is configured to strip the Cookie header in
vcl_recv like this:
sub vcl_recv {
if(req.http.Cookie) {
remove req.http.Cookie;
lookup;
}
}
2) The Connection header sent from the client browser specified that
the "TE" header should be stripped, and was so marked in position 13
of http_DoConnection::hp->hdf, indicating that header at index 13
should be skipped when headers are copied into the backend request.
3) The VCL code ran to strip the cookie header, removed it, and
shifted the other elements in the array UP one position. The Host
header followed TE at position/index 14, and became position/index 13.
4) The code for copying/morphing the client request to the backend
ran, and skipped position/index 13, which was the Host header.
5) Varnish kindly noticed that there was no Host header present in
the backend connection, and added one of it's own using the IP
address of the backend server as the content of that header.
6) The incorrect document was fetched for the backend because the
Host header was not correct.
}}}
--
Ticket URL: <http://varnish.projects.linpro.no/ticket/292>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list