]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Bug 4682: ignoring http_access deny when client-first bumping mode is used
authorChristos Tsantilas <chtsanti@users.sourceforge.net>
Mon, 29 May 2017 05:33:59 +0000 (17:33 +1200)
committerAmos Jeffries <squid3@treenet.co.nz>
Mon, 29 May 2017 05:33:59 +0000 (17:33 +1200)
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

src/tunnel.cc

index 407113ad1bfd8315133bd061e34613f5443ddcb3..a800a1015003356be42acb65378f42d643024690 100644 (file)
@@ -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);
 }