opnsense-src/sys/netinet
Julian Elischer bb60f459a0 Add optional code to change the way that divert and ipfw work together.
Prior to this change, Accidental recursion protection was done by
the diverted daemon feeding back the divert port number it got
the packet on, as the port number on a sendto(). IPFW knew not to
redivert a packet to this port (again). Processing of the ruleset
started at the beginning again, skipping that divert port.

The new semantic (which is how we should have done it the first time)
is that the port number in the sendto() is the rule number AFTER which
processing should restart, and on a recvfrom(), the port number is the
rule number which caused the diversion. This is much more flexible,
and also more intuitive. If the user uses the same sockaddr received
when resending, processing resumes at the rule number following that
that caused the diversion. The user can however select to resume rule
processing at any rule. (0 is restart at the beginning)

To enable the new code use

option	IPFW_DIVERT_RESTART

This should become the default as soon as people have looked at it a bit
1998-05-25 10:37:48 +00:00
..
libalias Primary verison of NetBIOS over TCP/IP. Now you can connect Windows 1998-05-24 03:03:10 +00:00
fil.c Make this compile.. There are some unpleasing hacks in here. 1998-03-21 11:34:28 +00:00
icmp_var.h Some staticized variables were still declared to be extern. 1997-09-07 05:27:26 +00:00
if_atm.c Back out DIAGNOSTIC changes. 1998-02-06 12:14:30 +00:00
if_atm.h Forward declare some structs so that this file is more self-sufficient. 1998-02-03 21:52:02 +00:00
if_ether.c Get more details on the "arpresolve: can't allocate llinfo" bogon. 1998-05-23 08:03:40 +00:00
if_ether.h Make INET a proper option. 1998-01-08 23:42:31 +00:00
if_fddi.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
igmp.c Last major round (Unless Bruce thinks of somthing :-) of malloc changes. 1997-10-12 20:26:33 +00:00
igmp.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
igmp_var.h Some staticized variables were still declared to be extern. 1997-09-07 05:27:26 +00:00
in.c Last major round (Unless Bruce thinks of somthing :-) of malloc changes. 1997-10-12 20:26:33 +00:00
in.h Added fast IP forwarding code by Matt Thomas <matt@3am-software.com> via 1998-05-19 14:04:36 +00:00
in_cksum.c Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
in_hostcache.c Remove a bunch of variables which were unused both in GENERIC and LINT. 1997-11-07 08:53:44 +00:00
in_hostcache.h Add for public examination the beginnings of the per-host cache support 1997-06-18 01:24:28 +00:00
in_pcb.c Convert socket structures to be type-stable and add a version number. 1998-05-15 20:11:40 +00:00
in_pcb.h Convert socket structures to be type-stable and add a version number. 1998-05-15 20:11:40 +00:00
in_proto.c Make this compile.. There are some unpleasing hacks in here. 1998-03-21 11:34:28 +00:00
in_rmx.c Eradicate the variable "time" from the kernel, using various measures. 1998-03-30 09:56:58 +00:00
in_systm.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
in_var.h Added fast IP forwarding code by Matt Thomas <matt@3am-software.com> via 1998-05-19 14:04:36 +00:00
ip.h NetBSD PR# 2772 1998-02-26 08:31:53 +00:00
ip_auth.c Some patchups for when this code is compiled in userland (!). 1998-03-21 13:37:44 +00:00
ip_auth.h Import kernel parts of ipfilter-3.2.1 1997-11-16 05:55:52 +00:00
ip_compat.h Import kernel parts of ipfilter v3.2.3 1998-03-21 10:11:54 +00:00
ip_divert.c Add optional code to change the way that divert and ipfw work together. 1998-05-25 10:37:48 +00:00
ip_fil.c allow open on all minors 1998-03-27 18:03:13 +00:00
ip_fil.h Some patchups for when this code is compiled in userland (!). 1998-03-21 13:37:44 +00:00
ip_flow.c Fix a typo-bug in ipflow_reap that could cause a NULL pointer 1998-05-19 17:47:11 +00:00
ip_flow.h Move (private) struct ipflow out of ip_var.h, to reduce dependencies 1998-05-19 15:53:50 +00:00
ip_frag.c Make this compile.. There are some unpleasing hacks in here. 1998-03-21 11:34:28 +00:00
ip_frag.h Import kernel parts of ipfilter-3.2.1 1997-11-16 05:55:52 +00:00
ip_ftp_pxy.c Make this compile.. There are some unpleasing hacks in here. 1998-03-21 11:34:28 +00:00
ip_fw.c Add optional code to change the way that divert and ipfw work together. 1998-05-25 10:37:48 +00:00
ip_fw.h Added #include of <sys/queue.h> so that this file is more "self"-sufficent. 1998-02-03 22:19:35 +00:00
ip_icmp.c ICMP Timestamp Request messages could have harbored the same sort of 1997-08-25 16:29:27 +00:00
ip_icmp.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
ip_input.c Add optional code to change the way that divert and ipfw work together. 1998-05-25 10:37:48 +00:00
ip_log.c Use read_random() 1998-04-06 11:40:42 +00:00
ip_mroute.c Seventy-odd "its" / "it's" typos in comments fixed as per kern/6108. 1998-04-17 22:37:19 +00:00
ip_mroute.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
ip_nat.c Make this compile.. There are some unpleasing hacks in here. 1998-03-21 11:34:28 +00:00
ip_nat.h Import kernel parts of ipfilter-3.2.1 1997-11-16 05:55:52 +00:00
ip_output.c Add optional code to change the way that divert and ipfw work together. 1998-05-25 10:37:48 +00:00
ip_proxy.c Make this compile.. There are some unpleasing hacks in here. 1998-03-21 11:34:28 +00:00
ip_proxy.h Import kernel parts of ipfilter v3.2.3 1998-03-21 10:11:54 +00:00
ip_state.c Make this compile.. There are some unpleasing hacks in here. 1998-03-21 11:34:28 +00:00
ip_state.h Import kernel parts of ipfilter-3.2.1 1997-11-16 05:55:52 +00:00
ip_var.h Add optional code to change the way that divert and ipfw work together. 1998-05-25 10:37:48 +00:00
ipl.h Import kernel parts of ipfilter v3.2.3 1998-03-21 10:11:54 +00:00
mlf_ipl.c In the words of the submitter: 1998-05-07 04:58:58 +00:00
raw_ip.c Convert socket structures to be type-stable and add a version number. 1998-05-15 20:11:40 +00:00
tcp.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
tcp_debug.c Make INET a proper option. 1998-01-08 23:42:31 +00:00
tcp_debug.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
tcp_fsm.h Fix all areas of the system (or at least all those in LINT) to avoid storing 1997-08-16 19:16:27 +00:00
tcp_input.c Grumble...It seems I'm suffering from some mental disease. Do it correct now. 1998-05-18 17:11:24 +00:00
tcp_output.c Take IP options into account when calculating the allowable length 1998-05-24 18:41:04 +00:00
tcp_reass.c Grumble...It seems I'm suffering from some mental disease. Do it correct now. 1998-05-18 17:11:24 +00:00
tcp_seq.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
tcp_subr.c Convert socket structures to be type-stable and add a version number. 1998-05-15 20:11:40 +00:00
tcp_timer.c Ensure that TCP_REXMTVAL doesn't return a value less than t_rttmin. This 1998-04-24 09:25:39 +00:00
tcp_timer.h Some staticized variables were still declared to be extern. 1997-09-07 05:27:26 +00:00
tcp_timewait.c Convert socket structures to be type-stable and add a version number. 1998-05-15 20:11:40 +00:00
tcp_usrreq.c Improved connection establishment performance by doing local port lookups via 1998-01-27 09:15:13 +00:00
tcp_var.h Convert socket structures to be type-stable and add a version number. 1998-05-15 20:11:40 +00:00
tcpip.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
udp.h Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
udp_usrreq.c Convert socket structures to be type-stable and add a version number. 1998-05-15 20:11:40 +00:00
udp_var.h Convert socket structures to be type-stable and add a version number. 1998-05-15 20:11:40 +00:00