[Havp-users] Handling of Via header is not RFC compliant
Status: Beta
Brought to you by:
havp
From: Youssef G. <dj...@pa...> - 2010-07-25 20:01:03
|
Hello, HAVP is not handling the Via HTTP header correctly (regarding RFC) RFC2616 section 14.45 states : ... The received-protocol version is appended to the Via field value when the message is forwarded so that information about the protocol capabilities of upstream applications remains visible to all recipients... For example, a request message could be sent from an HTTP/1.0 user agent to an internal proxy code-named "fred", which uses HTTP/1.1 to forward the request to a public proxy at nowhere.com, which completes the request by forwarding it to the origin server at www.ics.uci.edu. The request received by www.ics.uci.edu would then have the following Via header field: Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1) But the code is not "appending" the HAVP signature to the existing Via header it's creating a new header with the HAVP signature at the beginning of it. File connectiontobrowser.cpp (lines 201-203) ... header += "Via: 1.0 HAVP"; header += via; header += "\r\n"; ... Suppose we have a havp between 2 squid instances (squid1 and squid2) - In the current situation we end up with a bogus Via header like : Via: 1.0 HAVP, 1.1 squid1, 1.0 squid2 - The correct Via header would be : Via: 1.1 squid1, 1.0 HAVP, 1.0 squid2 It's not critical or urgent but simply wrong. Hope this help :) Youssef Ghorbal |