Index: client_side.c =================================================================== RCS file: /cvsroot/squid/squid/src/client_side.c,v retrieving revision 1.97 diff -u -r1.97 client_side.c --- client_side.c 22 May 2006 22:23:49 -0000 1.97 +++ client_side.c 23 May 2006 11:51:10 -0000 @@ -1170,8 +1170,11 @@ /* If any connection has been pinned to this client, force keep alive */ if (http->conn->pinned) { request->flags.must_keepalive = 1; - request->flags.auth = 1; - request->flags.pinned = 1; + /* If this specific host/port has been pinned to this client, flag */ + if(pconnLookup(request->host,request->port,NULL,&request->client_addr,request->client_port)) { + request->flags.auth = 1; + request->flags.pinned = 1; + } } if (httpHeaderHas(req_hdr, HDR_AUTHORIZATION)) request->flags.auth = 1; Index: forward.c =================================================================== RCS file: /cvsroot/squid/squid/src/forward.c,v retrieving revision 1.25 diff -u -r1.25 forward.c --- forward.c 23 May 2006 00:06:56 -0000 1.25 +++ forward.c 23 May 2006 11:51:11 -0000 @@ -501,7 +501,9 @@ ((fwdState->request->my_port == Config.tproxy_port) || (Config.tproxy_port == 0))) fd = pconnPop(name, port, domain, &fwdState->request->client_addr, 0); #endif - if (fd == -1 && (fd = pconnPop(name, port, domain, NULL, 0)) >= 0) { + if (fd == -1) + fd = pconnPop(name, port, domain, NULL, 0); + if(fd != -1) { if (fwdCheckRetriable(fwdState)) { debug(17, 3) ("fwdConnectStart: reusing pconn FD %d\n", fd); fwdState->server_fd = fd;