diff options
Diffstat (limited to 'FreeBSD/ip_output.c.diffs')
-rw-r--r-- | FreeBSD/ip_output.c.diffs | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/FreeBSD/ip_output.c.diffs b/FreeBSD/ip_output.c.diffs new file mode 100644 index 0000000..f1fe9ac --- /dev/null +++ b/FreeBSD/ip_output.c.diffs @@ -0,0 +1,36 @@ +*** /sys/netinet/ip_output.c.orig Thu Oct 24 22:27:28 1996 +--- /sys/netinet/ip_output.c Tue Feb 18 21:38:23 1997 +*************** +*** 65,70 **** +--- 65,74 ---- + static struct mbuf *ip_insertoptions __P((struct mbuf *, struct mbuf *, int *)); + static void ip_mloopback + __P((struct ifnet *, struct mbuf *, struct sockaddr_in *)); ++ #if defined(IPFILTER_LKM) || defined(IPFILTER) ++ extern int fr_check __P((struct ip *, int, struct ifnet *, int, struct mbuf **)); ++ extern int (*fr_checkp) __P((struct ip *, int, struct ifnet *, int, struct mbuf **)); ++ #endif + + /* + * IP output. The packet in mbuf chain m contains a skeletal IP +*************** +*** 330,335 **** +--- 334,351 ---- + m->m_flags &= ~M_BCAST; + + sendit: ++ #if defined(IPFILTER) || defined(IPFILTER_LKM) ++ /* ++ * looks like most checking has been done now...do a filter check ++ */ ++ if (fr_checkp) { ++ struct mbuf *m1 = m; ++ ++ if ((error = (*fr_checkp)(ip, hlen, ifp, 1, &m1)) || !m1) ++ goto done; ++ ip = mtod(m = m1, struct ip *); ++ } ++ #endif + /* + * Check with the firewall... + */ |