Compilation of pfil-2.1.10 fails in SunOS/pkt.c under Solaris 7 (SPARC):
"pkt.c", line 242: warning: improper pointer/integer combination: op "="
"pkt.c", line 267: assignment type mismatch:
        struct in_addr {union {..} S_un} "=" uint

For line 267, the following prevents the failure:
<       src = ipif->ipif_local_addr;
---
>       src.s_addr = ipif->ipif_local_addr;

But line 242 seems to be more severe. There is no prototype for ire_lookup()
in /usr/include/inet/ip_ire.h and this symbol does in fact not exist in the
kernel. The only ire lookup functions with a single argument (of type ipaddr_t)
are ire_cache_lookup() and ire_lookup_loop_multi(). But ire_lookup() seems
to have existed in early versions of Solaris 2.x.
In previous versions of pfil, this error did not show up, since ire_lookup()
was never used under Solaris 7 and higher (in pkt.c and qif.c) because of
#ifdef MATCH_IRE_DSTONLY (which _is_ defined in /usr/include/inet/ip_ire.h).

Reply via email to