summaryrefslogtreecommitdiffstats
path: root/FreeBSD/ip_output.c.diffs
diff options
context:
space:
mode:
Diffstat (limited to 'FreeBSD/ip_output.c.diffs')
-rw-r--r--FreeBSD/ip_output.c.diffs36
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...
+ */
OpenPOWER on IntegriCloud