You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2002/09/12 00:39:31 UTC

DO NOT REPLY [Bug 12551] New: - mod_proxy fails to shutdown when client cancels

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12551>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12551

mod_proxy fails to shutdown when client cancels

           Summary: mod_proxy fails to shutdown when client cancels
           Product: Apache httpd-1.3
           Version: 1.3.26
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: mod_proxy
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: noel@burton-krahn.com


I have Apache-1.3.26 proxying requests to another back-end http server.  If 
the client cancels a connection while sending the parameters, the proxied 
server does not see the connection close, and it hangs.

1. start a long file upload request
2. apache opens a new connection to the back-end
3. client cancells upload
4. the connection to apache closes
5. apache blocks reading the request from the back-end
6. since apche doesn't call shutdown()  on the socket connected to the back-
end, the back-end server doesn't know the client broke the connection and 
hangs waiting for more input.

See modules/proxy_http.c line 426.  I think there should something like this 
should be inserted on line 433:

    if( i<=0) { 
        shutdown(1);
    }

What do you think?


In the bigger scheme of things, its a bad idea for a proxy server to buffer a 
whole request before reading the reply.  Could mod_proxy be redone to pipe 
both sides at once?

--Noel Burton-Krahn

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org