From: Amos Jeffries Date: Thu, 8 Sep 2011 14:11:05 +0000 (+1200) Subject: Bug 3335: ICAP service is down X-Git-Tag: take08~4^2~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7a70200f0ff0340da8decbbea79f295c5b85c890;p=thirdparty%2Fsquid.git Bug 3335: ICAP service is down --- diff --git a/src/adaptation/icap/Xaction.cc b/src/adaptation/icap/Xaction.cc index 4a13a596c3..1f2d4f935a 100644 --- a/src/adaptation/icap/Xaction.cc +++ b/src/adaptation/icap/Xaction.cc @@ -161,6 +161,11 @@ Adaptation::Icap::Xaction::dnsLookupDone(const ipcache_addrs *ia) connection->remote = ia->in_addrs[ia->cur]; connection->remote.SetPort(s.cfg().port); getOutgoingAddress(NULL, connection); + if (connection->remote.IsIPv4() && !connection->local.SetIPv4()) { + // This should never happen. getOutgoing should match by family or skip. + Must(connection->local.IsAnyAddr()); + return; + } // TODO: service bypass status may differ from that of a transaction typedef CommCbMemFunT ConnectDialer;