From: Christos Tsantilas Date: Mon, 29 May 2017 05:33:59 +0000 (+1200) Subject: Bug 4682: ignoring http_access deny when client-first bumping mode is used X-Git-Tag: SQUID_3_5_26~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=121ddaafc905321969e60b836863b28e8e65ee33;p=thirdparty%2Fsquid.git Bug 4682: ignoring http_access deny when client-first bumping mode is used Squid fails to identify HTTP requests which are tunneled inside an already established client-first bumped tunnel, and this is results in ignoring http_access denied for these requests. This is a Measurement Factory project --- diff --git a/src/tunnel.cc b/src/tunnel.cc index 407113ad1b..a800a10150 100644 --- a/src/tunnel.cc +++ b/src/tunnel.cc @@ -836,7 +836,7 @@ tunnelStartShoveling(TunnelStateData *tunnelState) * Call the tunnelStartShoveling to start the blind pump. */ static void -tunnelConnectedWriteDone(const Comm::ConnectionPointer &conn, char *buf, size_t size, Comm::Flag flag, int xerrno, void *data) +tunnelConnectedWriteDone(const Comm::ConnectionPointer &conn, char *, size_t len, Comm::Flag flag, int, void *data) { TunnelStateData *tunnelState = (TunnelStateData *)data; debugs(26, 3, HERE << conn << ", flag=" << flag); @@ -848,6 +848,11 @@ tunnelConnectedWriteDone(const Comm::ConnectionPointer &conn, char *buf, size_t return; } + if (ClientHttpRequest *http = tunnelState->http.get()) { + http->out.headers_sz += len; + http->out.size += len; + } + tunnelStartShoveling(tunnelState); }