Susan Hinrichs created TS-3100:
----------------------------------

             Summary: Extend the tr-pass window to allow malformed HTTP 
commands to be blind tunneled
                 Key: TS-3100
                 URL: https://issues.apache.org/jira/browse/TS-3100
             Project: Traffic Server
          Issue Type: Bug
            Reporter: Susan Hinrichs


Some servers abuse the HTTP protocol to implement services.  ATS certainly 
should not cache responses from malformed GET, POST, etc, it should get out of 
the way if possible and pass the traffic along if the customer has marked the 
port with tr-pass.

As the code is currently written, it will make the tr-pass blind tunnel 
decision if the initial request does not parse.  But if the initial request 
does parse but the specification violation occurs later, the tr-pass decision 
is not revisited.

One ISP using ATS has reported the following scenarios.  The client sends a 
well formed GET request.  Then after the double carriage return line feeds, it 
sends some additional text.  The server interprets this as additional requests 
for information.  

Since the GET request was well formed, the connection is put on the HTTP path 
and the extra data after the carriage return line feeds is stripped before it 
is passed along to the server.  

At a minimum, I want to revisit tr-pass decision after the header has been 
parsed and the carriage return line feeds have been read in the GET case.  If 
the connection is not set to pipeline requests and there is more data in the 
buffer, pass the connection on to be blind tunneled.

I plan to review the POST and PUT paths for other early options for tr-pass 
evaluations too.
 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to