head 1.2; access; symbols perseant-exfatfs-base-20250801:1.2 perseant-exfatfs-base-20240630:1.2 perseant-exfatfs:1.2.0.44 perseant-exfatfs-base:1.2 cjep_sun2x:1.2.0.42 cjep_sun2x-base:1.2 cjep_staticlib_x-base1:1.2 cjep_staticlib_x:1.2.0.40 cjep_staticlib_x-base:1.2 phil-wifi-20200421:1.2 phil-wifi-20200411:1.2 phil-wifi-20200406:1.2 pgoyette-compat-merge-20190127:1.2 pgoyette-compat-20190127:1.2 pgoyette-compat-20190118:1.2 pgoyette-compat-1226:1.2 pgoyette-compat-1126:1.2 pgoyette-compat-1020:1.2 pgoyette-compat-0930:1.2 pgoyette-compat-0906:1.2 pgoyette-compat-0728:1.2 pgoyette-compat-0625:1.2 pgoyette-compat-0521:1.2 pgoyette-compat-0502:1.2 pgoyette-compat-0422:1.2 pgoyette-compat-0415:1.2 pgoyette-compat-0407:1.2 pgoyette-compat-0330:1.2 pgoyette-compat-0322:1.2 pgoyette-compat-0315:1.2 pgoyette-compat:1.2.0.38 pgoyette-compat-base:1.2 prg-localcount2-base3:1.2 prg-localcount2-base2:1.2 prg-localcount2-base1:1.2 prg-localcount2:1.2.0.36 prg-localcount2-base:1.2 pgoyette-localcount-20170426:1.2 bouyer-socketcan-base1:1.2 pgoyette-localcount-20170320:1.2 bouyer-socketcan:1.2.0.34 bouyer-socketcan-base:1.2 pgoyette-localcount-20170107:1.2 pgoyette-localcount-20161104:1.2 localcount-20160914:1.2 pgoyette-localcount-20160806:1.2 pgoyette-localcount-20160726:1.2 pgoyette-localcount:1.2.0.32 pgoyette-localcount-base:1.2 netbsd-5-2-3-RELEASE:1.2 netbsd-5-1-5-RELEASE:1.2 yamt-pagecache-base9:1.2 yamt-pagecache-tag8:1.2 tls-earlyentropy:1.2.0.28 tls-earlyentropy-base:1.2 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.2 riastradh-drm2-base3:1.2 netbsd-5-2-2-RELEASE:1.2 netbsd-5-1-4-RELEASE:1.2 netbsd-5-2-1-RELEASE:1.2 netbsd-5-1-3-RELEASE:1.2 agc-symver:1.2.0.30 agc-symver-base:1.2 tls-maxphys-base:1.2 yamt-pagecache-base8:1.2 netbsd-5-2:1.2.0.26 yamt-pagecache-base7:1.2 netbsd-5-2-RELEASE:1.2 netbsd-5-2-RC1:1.2 yamt-pagecache-base6:1.2 yamt-pagecache-base5:1.2 yamt-pagecache-base4:1.2 netbsd-5-1-2-RELEASE:1.2 netbsd-5-1-1-RELEASE:1.2 yamt-pagecache-base3:1.2 yamt-pagecache-base2:1.2 yamt-pagecache:1.2.0.24 yamt-pagecache-base:1.2 bouyer-quota2-nbase:1.2 bouyer-quota2:1.2.0.22 bouyer-quota2-base:1.2 matt-nb5-pq3:1.2.0.20 matt-nb5-pq3-base:1.2 netbsd-5-1:1.2.0.18 netbsd-5-1-RELEASE:1.2 netbsd-5-1-RC4:1.2 netbsd-5-1-RC3:1.2 netbsd-5-1-RC2:1.2 netbsd-5-1-RC1:1.2 netbsd-5-0-2-RELEASE:1.2 netbsd-5-0-1-RELEASE:1.2 jym-xensuspend-nbase:1.2 netbsd-5-0:1.2.0.16 netbsd-5-0-RELEASE:1.2 netbsd-5-0-RC4:1.2 netbsd-5-0-RC3:1.2 netbsd-5-0-RC2:1.2 jym-xensuspend:1.2.0.14 jym-xensuspend-base:1.2 netbsd-5-0-RC1:1.2 netbsd-5:1.2.0.12 netbsd-5-base:1.2 mjf-devfs2:1.2.0.10 mjf-devfs2-base:1.2 yamt-pf42-base4:1.2 yamt-pf42-base3:1.2 hpcarm-cleanup-nbase:1.2 v4-1-29:1.1.1.2 yamt-pf42-base2:1.2 yamt-pf42:1.2.0.8 yamt-pf42-base:1.2 keiichi-mipv6:1.2.0.6 keiichi-mipv6-base:1.2 cube-autoconf:1.2.0.4 cube-autoconf-base:1.2 hpcarm-cleanup:1.2.0.2 hpcarm-cleanup-base:1.2 v4-1-23:1.1.1.2 v4-1-22:1.1.1.2 v4-1-20:1.1.1.2 v4-1-19:1.1.1.2 v4-1-13:1.1.1.2 v4-1-8:1.1.1.2 v4-1-6:1.1.1.2 v4-1-5:1.1.1.2 v4-1-3:1.1.1.2 v4-1-1:1.1.1.2 v3-4-29:1.1.1.2 v3-4-27:1.1.1.2 v3-4-25:1.1.1.2 v3-4-23:1.1.1.2 v3-4-16:1.1.1.1 v3-4-9:1.1.1.1 v3-4-6:1.1.1.1 v3-4-4:1.1.1.1 v3-4-3:1.1.1.1 v3-4-2:1.1.1.1 v3-4-1:1.1.1.1 v3-3-8:1.1.1.1 v3-3-6:1.1.1.1 v3-3-5:1.1.1.1 DARRENR:1.1.1; locks; strict; comment @# @; 1.2 date 99.12.11.22.49.38; author veego; state dead; branches; next 1.1; 1.1 date 99.12.11.22.24.00; author veego; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 99.12.11.22.24.00; author veego; state Exp; branches; next 1.1.1.2; 1.1.1.2 date 2002.01.24.08.18.31; author martti; state Exp; branches; next ; desc @@ 1.2 log @We don't need these files. @ text @*** ip_input.c.orig Tue Mar 19 16:19:06 1996 --- ip_input.c Fri Mar 8 18:31:22 1996 *************** *** 77,82 **** --- 77,86 ---- int ipqmaxlen = IFQ_MAXLEN; struct in_ifaddr *in_ifaddr; /* first inet address */ struct ifqueue ipintrq; + #if defined(IPFILTER) + extern int fr_check __P((struct ip *, int, struct ifnet *, int, struct mbuf **)); + int (*fr_checkp) __P((struct ip *, int, struct ifnet *, int, struct mbuf **)); + #endif /* * We need to save the IP options in case a protocol wants to respond *************** *** 232,237 **** --- 236,254 ---- m_adj(m, ip->ip_len - m->m_pkthdr.len); } + #if defined(IPFILTER) + /* + * Check if we want to allow this packet to be processed. + * Consider it to be bad if not. + */ + { + struct mbuf *m0 = m; + + if (fr_checkp && (*fr_checkp)(ip, hlen, m->m_pkthdr.rcvif, 0, &m0)) + goto next; + ip = mtod(m = m0, struct ip *); + } + #endif /* * Process options and, if not destined for us, * ship it on. ip_dooptions returns 1 when an @ 1.1 log @Initial revision @ text @@ 1.1.1.1 log @Inital import of IP Filter 3.3.5 under the dist directory. @ text @@ 1.1.1.2 log @Import IPFilter 3.4.23 @ text @d27 2 a28 2 + if (fr_checkp) { + struct mbuf *m1 = m; d30 3 a32 3 + if ((*fr_checkp)(ip, hlen, m->m_pkthdr.rcvif, 0, &m1) || !m1) + goto next; + ip = mtod(m = m1, struct ip *); @