Allow ipnat redirect rules to work for non-TCP/UDP packets.

PR:             70038
Submitted by:   fming@borderware.com
Reviewed by:    darrenr
Obtained from:  fming@borderware.com
This commit is contained in:
Darren Reed 2004-12-17 02:29:34 +00:00
parent bea5945e6f
commit 8a377db272

View File

@ -132,7 +132,7 @@ u_long fr_defnatage = DEF_NAT_AGE,
fr_defnaticmpage = 6; /* 3 seconds */
natstat_t nat_stats;
int fr_nat_lock = 0;
#if (SOLARIS || defined(__sgi)) && defined(_KERNEL)
#ifdef USE_MUTEX
extern kmutex_t ipf_rw;
extern KRWLOCK_T ipf_nat;
#endif
@ -2613,8 +2613,10 @@ maskloop:
hv = NAT_HASH_FN(iph, 0, ipf_rdrrules_sz);
for (np = rdr_rules[hv]; np; np = np->in_rnext) {
if ((np->in_ifp && (np->in_ifp != ifp)) ||
(np->in_p && (np->in_p != fin->fin_p)) ||
(np->in_flags && !(nflags & np->in_flags)))
(np->in_p && (np->in_p != fin->fin_p)))
continue;
if ((np->in_flags & IPN_RF) &&
!(nflags & np->in_flags))
continue;
if (np->in_flags & IPN_FILTER) {
if (!nat_match(fin, np, ip))