]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Author: Frank Schmirler <squid@schmirler.de>
authorAmos Jeffries <squid3@treenet.co.nz>
Sat, 30 Jan 2010 01:21:52 +0000 (14:21 +1300)
committerAmos Jeffries <squid3@treenet.co.nz>
Sat, 30 Jan 2010 01:21:52 +0000 (14:21 +1300)
Bug 2851: Connection pinning fails when using a peer

src/client_side.h
src/peer_select.cc

index 1a62846f167be960418b81553df2258a2bd67fab..2c8ef911b7404649e515a134339f2c8ba1c472ef 100644 (file)
@@ -239,7 +239,7 @@ public:
      \param peer      if it is not NULL also check if the peer is the pinning peer
      \return          The fd of the server side connection or -1 if fails.
      */
-    int validatePinnedConnection(HttpRequest *request, const struct peer *peer=NULL);
+    int validatePinnedConnection(HttpRequest *request, const struct peer *peer);
     /**
      * returts the pinned peer if exists, NULL otherwise
      */
index 7caf9c5ec5801bc4911b90b9de72d9265c58aca2..7235853b517a161c8599bac87375ab053e9a936d 100644 (file)
@@ -385,8 +385,8 @@ peerSelectPinned(ps_state * ps)
     peer *peer;
     if (!request->pinnedConnection())
         return;
-    if (request->pinnedConnection()->validatePinnedConnection(request) != -1) {
-        peer = request->pinnedConnection()->pinnedPeer();
+    peer = request->pinnedConnection()->pinnedPeer();
+    if (request->pinnedConnection()->validatePinnedConnection(request, peer) != -1) {
         if (peer && peerAllowedToUse(peer, request)) {
             peerAddFwdServer(&ps->servers, peer, PINNED);
             if (ps->entry)