> Is there another defined somewhere else? For some reason your Squid is
> managing to build with just "nl_inip" (no 'addr') in the field name.

There's a copy in /usr/include/netinet, but it's the same:

typedef struct  natlookup {
        i6addr_t        nl_inipaddr;
        i6addr_t        nl_outipaddr;
        i6addr_t        nl_realipaddr;
        int             nl_v;
        int             nl_flags;
        u_short         nl_inport;
        u_short         nl_outport;
        u_short         nl_realport;
} natlookup_t;

#define nl_inip         nl_inipaddr.in4
#define nl_outip        nl_outipaddr.in4
#define nl_realip       nl_realipaddr.in4
#define nl_inip6        nl_inipaddr.in6
#define nl_outip6       nl_outipaddr.in6
#define nl_realip6      nl_realipaddr.in6

... so "nl_inip" is a simple #define to nl_inipaddr.in4

This is from Squid's Intercept.cc:

    natLookup.nl_inport = htons(newConn->local.port());
    newConn->local.getInAddr(natLookup.nl_inip);
    natLookup.nl_outport = htons(newConn->remote.port());
    newConn->remote.getInAddr(natLookup.nl_outip);

Is this correct?
Should we have this in the "else" section of
  if (newConn->remote.isIPv6()) ... instead?

--
Gergely EGERVARY
_______________________________________________
squid-users mailing list
squid-users@lists.squid-cache.org
http://lists.squid-cache.org/listinfo/squid-users

Reply via email to