diff options
Diffstat (limited to 'contrib/ipfilter/FreeBSD-2.2/ip_output.c.diffs')
-rw-r--r-- | contrib/ipfilter/FreeBSD-2.2/ip_output.c.diffs | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/contrib/ipfilter/FreeBSD-2.2/ip_output.c.diffs b/contrib/ipfilter/FreeBSD-2.2/ip_output.c.diffs new file mode 100644 index 0000000..d3cebd0 --- /dev/null +++ b/contrib/ipfilter/FreeBSD-2.2/ip_output.c.diffs @@ -0,0 +1,69 @@ +*** /sys/netinet/ip_output.c.orig Sat May 24 14:07:24 1997 +--- /sys/netinet/ip_output.c Sat May 24 15:00:29 1997 +*************** +*** 67,72 **** +--- 67,76 ---- + #else + #undef COMPAT_IPFW + #endif ++ #if defined(IPFILTER_LKM) || defined(IPFILTER) ++ extern int (*fr_checkp) __P((struct ip *, int, struct ifnet *, int, struct mbuf **)); ++ #endif ++ + + u_short ip_id; + +*************** +*** 75,81 **** + __P((struct ifnet *, struct mbuf *, struct sockaddr_in *)); + static int ip_getmoptions + __P((int, struct ip_moptions *, struct mbuf **)); +! static int ip_optcopy __P((struct ip *, struct ip *)); + static int ip_pcbopts __P((struct mbuf **, struct mbuf *)); + static int ip_setmoptions + __P((int, struct ip_moptions **, struct mbuf *)); +--- 79,85 ---- + __P((struct ifnet *, struct mbuf *, struct sockaddr_in *)); + static int ip_getmoptions + __P((int, struct ip_moptions *, struct mbuf **)); +! int ip_optcopy __P((struct ip *, struct ip *)); + static int ip_pcbopts __P((struct mbuf **, struct mbuf *)); + static int ip_setmoptions + __P((int, struct ip_moptions **, struct mbuf *)); +*************** +*** 338,343 **** +--- 342,358 ---- + * - Wrap: fake packet's addr/port <unimpl.> + * - Encapsulate: put it in another IP and send out. <unimp.> + */ ++ #if defined(IPFILTER_LKM) || defined(IPFILTER) ++ if (fr_checkp) { ++ struct mbuf *m1 = m; ++ ++ if ((*fr_checkp)(ip, hlen, ifp, 1, &m1)) ++ error = EHOSTUNREACH; ++ if (error || !m1) ++ goto done; ++ ip = mtod(m = m1, struct ip *); ++ } ++ #endif + + #ifdef COMPAT_IPFW + if (ip_nat_ptr && !(*ip_nat_ptr)(&ip, &m, ifp, IP_NAT_OUT)) { +*************** +*** 559,565 **** + * Copy options from ip to jp, + * omitting those not copied during fragmentation. + */ +! static int + ip_optcopy(ip, jp) + struct ip *ip, *jp; + { +--- 574,580 ---- + * Copy options from ip to jp, + * omitting those not copied during fragmentation. + */ +! int + ip_optcopy(ip, jp) + struct ip *ip, *jp; + { |