[Varnish] #731: Can't remove illegal header without terminal colon

Varnish varnish-bugs at varnish-cache.org
Thu Jul 1 19:39:10 CEST 2010


#731: Can't remove illegal header without terminal colon
-------------------+--------------------------------------------------------
 Reporter:  slink  |        Type:  defect
   Status:  new    |    Priority:  normal
Milestone:         |   Component:  build 
  Version:  trunk  |    Severity:  normal
 Keywords:         |  
-------------------+--------------------------------------------------------
 I needed to find a server-side solution for a broken client which
 constructs malformed requests with a carriage return after the URI like

 {{{
 GET URI\r HTTP/1.1
 }}}

 After parsing this request with http_splitline, we get an illegal header

 {{{
  HTTP/1.1
 }}}

 which I would like to remove in a VCL. This rightly can't be done in VCL-
 code alone, but I would like to use the following inline C-Code to remove
 it:

 {{{
         C{
             VRT_SetHdr(sp, HDR_REQ, "\011 HTTP/1.1", 0);
         }C
 }}}

 which triggers a failed assertion in http_IsHdr due to the missing colon,
 so this is a request to remove the respective assertion.

 Yes,I know this is somewhere between a defect and an enhancement, I hope a
 ticket is the right place for it.

 Thank you, Nils

-- 
Ticket URL: <http://varnish-cache.org/ticket/731>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator




More information about the varnish-bugs mailing list