------------------------------------------------------------ revno: 12382 revision-id: squid3@treenet.co.nz-20121110041659-qwnngfzwkc3moiz6 parent: squid3@treenet.co.nz-20121110041300-8xn3kvttaya96vg6 fixes bug(s): http://bugs.squid-cache.org/show_bug.cgi?id=3659 author: Jean-Philippe Menil committer: Amos Jeffries branch nick: 3.3 timestamp: Fri 2012-11-09 21:16:59 -0700 message: Bug 3659: read_timeout problem with HTTPS ------------------------------------------------------------ # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: squid3@treenet.co.nz-20121110041659-qwnngfzwkc3moiz6 # target_branch: http://bzr.squid-cache.org/bzr/squid3/3.3 # testament_sha1: 7523b56a1f580682869c8ec6d1604b969953b3f3 # timestamp: 2012-11-10 04:27:40 +0000 # source_branch: http://bzr.squid-cache.org/bzr/squid3/3.3 # base_revision_id: squid3@treenet.co.nz-20121110041300-\ # 8xn3kvttaya96vg6 # # Begin patch === modified file 'src/tunnel.cc' --- src/tunnel.cc 2012-10-04 09:14:06 +0000 +++ src/tunnel.cc 2012-11-10 04:16:59 +0000 @@ -327,6 +327,14 @@ 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)) {