From: Amos Jeffries Date: Fri, 24 Jun 2011 04:05:33 +0000 (+1200) Subject: Bug 3247: Domain from URL Stripped when going through peers X-Git-Tag: take08~55^2~96 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ce63af7ff2b1622e5bf176e812e5b79c14655ddc;p=thirdparty%2Fsquid.git Bug 3247: Domain from URL Stripped when going through peers Also, extra debug details on peer select routing choices --- diff --git a/src/peer_select.cc b/src/peer_select.cc index 9c3e28f6f6..9e0145d852 100644 --- a/src/peer_select.cc +++ b/src/peer_select.cc @@ -209,18 +209,21 @@ peerSelectDnsPaths(ps_state *psstate) psstate->callback = NULL; if (psstate->paths->size() < 1) { - debugs(44, DBG_IMPORTANT, "Failed to select source for '" << psstate->entry->url() << "'" ); - debugs(44, DBG_IMPORTANT, " always_direct = " << (psstate->always_direct==1?"YES":(psstate->always_direct==0?"NO":"maybe"))); - debugs(44, DBG_IMPORTANT, " never_direct = " << (psstate->never_direct==1?"YES":(psstate->never_direct==0?"NO":"maybe"))); - debugs(44, DBG_IMPORTANT, " timedout = " << psstate->ping.timedout ); + debugs(44, DBG_IMPORTANT, "Failed to select source for '" << psstate->entry->url() << "'"); + debugs(44, DBG_IMPORTANT, " always_direct = " << psstate->always_direct); + debugs(44, DBG_IMPORTANT, " never_direct = " << psstate->never_direct); + debugs(44, DBG_IMPORTANT, " timedout = " << psstate->ping.timedout); } else { - debugs(44, 2, "Found sources for '" << psstate->entry->url() << "'" ); - debugs(44, 2, " always_direct = " << (psstate->always_direct?"YES":(psstate->always_direct==0?"NO":"maybe"))); + debugs(44, 2, "Found sources for '" << psstate->entry->url() << "'"); + debugs(44, 2, " always_direct = " << psstate->always_direct); + debugs(44, 2, " never_direct = " << psstate->never_direct); for (size_t i = 0; i < psstate->paths->size(); i++) { - debugs(44, 2, " cache_peer = " << (*psstate->paths)[i]); + if ((*psstate->paths)[i]->peerType == HIER_DIRECT) + debugs(44, 2, " DIRECT = " << (*psstate->paths)[i]); + else + debugs(44, 2, " cache_peer = " << (*psstate->paths)[i]); } - debugs(44, 2, " never_direct = " << (psstate->never_direct?"YES":(psstate->never_direct==0?"NO":"maybe"))); - debugs(44, 2, " timedout = " << psstate->ping.timedout ); + debugs(44, 2, " timedout = " << psstate->ping.timedout); } psstate->ping.stop = current_time; @@ -272,6 +275,7 @@ peerSelectDnsResults(const ipcache_addrs *ia, const DnsLookupDetails &details, v else p->remote.SetPort(psstate->request->port); p->peerType = fs->code; + p->setPeer(fs->_peer); // check for a configured outgoing address for this destination... getOutgoingAddress(psstate->request, p);