[Varnish] #203: X-Forwarded-For handling

Varnish varnish-bugs at projects.linpro.no
Sat Jun 7 00:05:08 CEST 2008

#203: X-Forwarded-For handling
 Reporter:  des            |        Owner:  des   
     Type:  enhancement    |       Status:  closed
 Priority:  normal         |    Milestone:        
Component:  documentation  |      Version:  trunk 
 Severity:  normal         |   Resolution:  fixed 
 Keywords:                 |  
Changes (by phk):

  * status:  assigned => closed
  * resolution:  => fixed


 I have changed the spelling to use capital X & F in -trunk.


 PHP's {{{$headers["bla"]}}} is not RFC 2616 compliant, if the index is not
 case-folded, as section 4.2  of RFC2616 quite clearly states:

    HTTP header fields, which include general-header (section 4.5),
    request-header (section 5.3), response-header (section 6.2), and
    entity-header (section 7.1) fields, follow the same generic format as
    that given in Section 3.1 of RFC 822 [9]. Each header field consists
    of a name followed by a colon (":") and the field value. Field names
    are case-insensitive. [...]

 It could be argued, that "HTTP header fields" should be read to only
 include such headers as RFC2616 defines, such that that "X-Forwarded-For"
 header could have case-sensitive semantics, but that wouldn't make PHP's
 compliance problem any smaller really, as the RFC2616 strings would still
 be handled wrong.

 I wonder how many PHP programs out there you could trick by using all
 lower-case or upper-case HTTP headers.

Ticket URL: <http://varnish.projects.linpro.no/ticket/203#comment:8>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator

More information about the varnish-bugs mailing list