Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions acinclude/os-deps.m4
Original file line number Diff line number Diff line change
Expand Up @@ -925,11 +925,13 @@ AC_DEFUN([SQUID_CHECK_BROKEN_SOLARIS_IPFILTER],[
## Solaris 10+ backported IPv6 NAT to their IPFilter v4.1 instead of using v5
AC_CHECK_MEMBERS([
struct natlookup.nl_inipaddr.in6,
struct natlookup.nl_realipaddr.in6
],,,[
struct natlookup.nl_realipaddr.in6],,,[
#if USE_SOLARIS_IPFILTER_MINOR_T_HACK
#define minor_t fubar
#endif
#if HAVE_SYS_PARAM_H
#include <sys/param.h>
#endif
#if HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
Expand All @@ -955,7 +957,11 @@ AC_DEFUN([SQUID_CHECK_BROKEN_SOLARIS_IPFILTER],[
#elif HAVE_NETINET_IP_FIL_H
#include <netinet/ip_fil.h>
#endif
#if HAVE_IP_NAT_H
#include <ip_nat.h>
#elif HAVE_NETINET_IP_NAT_H
#include <netinet/ip_nat.h>
#endif
])

])
4 changes: 2 additions & 2 deletions src/ip/Intercept.cc
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ Ip::Intercept::IpfInterception(const Comm::ConnectionPointer &newConn, int silen
memset(&natLookup, 0, sizeof(natLookup));
// for NAT lookup set local and remote IP:port's
if (newConn->remote.isIPv6()) {
#if HAVE_NATLOOKUP_NL_INIPADDR_IN6
#if HAVE_STRUCT_NATLOOKUP_NL_INIPADDR_IN6
natLookup.nl_v = 6;
newConn->local.getInAddr(natLookup.nl_inipaddr.in6);
newConn->remote.getInAddr(natLookup.nl_outipaddr.in6);
Expand Down Expand Up @@ -292,7 +292,7 @@ Ip::Intercept::IpfInterception(const Comm::ConnectionPointer &newConn, int silen
debugs(89, 9, HERE << "address: " << newConn);
return false;
} else {
#if HAVE_NATLOOKUP_NL_REALIPADDR_IN6
#if HAVE_STRUCT_NATLOOKUP_NL_REALIPADDR_IN6
if (newConn->remote.isIPv6())
newConn->local = natLookup.nl_realipaddr.in6;
else
Expand Down