From: Amos Jeffries Date: Sun, 31 May 2009 00:32:47 +0000 (+1200) Subject: Fix false NAT lookup errors. X-Git-Tag: SQUID_3_2_0_1~989 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fa71b86734bf92f1ae9a556de4f876c900204cdd;p=thirdparty%2Fsquid.git Fix false NAT lookup errors. Turns out the getsockopt result test was inverted. Also update SOL_IP parameter to current IPPROTO values. --- diff --git a/src/ip/IpIntercept.cc b/src/ip/IpIntercept.cc index dffdea9008..cdb8f01c34 100644 --- a/src/ip/IpIntercept.cc +++ b/src/ip/IpIntercept.cc @@ -132,7 +132,7 @@ IpIntercept::NetfilterInterception(int fd, const IpAddress &me, IpAddress &dst, /** \par * Try NAT lookup for REDIRECT or DNAT targets. */ - if ( getsockopt(fd, SOL_IP, SO_ORIGINAL_DST, lookup->ai_addr, &lookup->ai_addrlen) == 0) { + if ( getsockopt(fd, IPPROTO_IP, SO_ORIGINAL_DST, lookup->ai_addr, &lookup->ai_addrlen) != 0) { if (!silent) { debugs(89, DBG_IMPORTANT, HERE << " NF getsockopt(SO_ORIGINAL_DST) failed on FD " << fd << ": " << xstrerror()); last_reported = squid_curtime;