From: Amos Jeffries Date: Sat, 6 Jun 2009 00:07:53 +0000 (+1200) Subject: Fix false NAT lookup errors. X-Git-Tag: SQUID_3_1_0_9~34 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a6f6dc8f4b8aec6aeb8a5a768d363215e0d6c92d;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;