From: Jean-Philippe Menil Date: Sat, 10 Nov 2012 04:39:36 +0000 (-0700) Subject: Bug 3659: read_timeout problem with HTTPS X-Git-Tag: SQUID_3_2_4~37 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3314ccaeb0d845eff47ce2f299085334c1de970b;p=thirdparty%2Fsquid.git Bug 3659: read_timeout problem with HTTPS --- diff --git a/src/tunnel.cc b/src/tunnel.cc index c0c688a289..aa82ebee50 100644 --- a/src/tunnel.cc +++ b/src/tunnel.cc @@ -318,6 +318,14 @@ TunnelStateData::copy (size_t len, comm_err_t errcode, int xerrno, Connection &f commSetConnTimeout(from.conn, Config.Timeout.read, timeoutCall); } + /* Bump the dest connection read timeout on any activity */ + /* see Bug 3659: tunnels can be weird, with very long one-way transfers */ + if (Comm::IsConnOpen(to.conn)) { + AsyncCall::Pointer timeoutCall = commCbCall(5, 4, "tunnelTimeout", + CommTimeoutCbPtrFun(tunnelTimeout, this)); + commSetConnTimeout(to.conn, Config.Timeout.read, timeoutCall); + } + if (errcode) from.error (xerrno); else if (len == 0 || !Comm::IsConnOpen(to.conn)) {