HardenedBSD/sys/net
Kristof Provost 59a6666ec9 if_ovpn: cope with loops
User misconfiguration may lead to routing loops where we try to send the tunnel
packet into the tunnel. This eventually leads to stack overflows and panics.

Avoid this using if_tunnel_check_nesting(), which will drop the packet if we're
looping or we hit three layers of nested tunnels.

MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2024-05-13 12:11:06 +02:00
..
altq sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
route fib_algo(4): Lower level of algorithm switching messages to LOG_INFO 2024-02-05 23:44:38 +01:00
bpf_buffer.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
bpf_buffer.h
bpf_filter.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
bpf_jitter.c
bpf_jitter.h
bpf_zerocopy.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
bpf_zerocopy.h
bpf.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
bpf.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
bpfdesc.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
bridgestp.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
bridgestp.h
debugnet_inet.c
debugnet_int.h
debugnet.c debugnet: Fix logging of frame length 2024-04-09 00:47:10 +08:00
debugnet.h
dlt.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
ethernet.h Teach if_smsc to get MAC from bootargs. 2023-12-07 12:32:01 +01:00
firewire.h
ieee8023ad_lacp.c
ieee8023ad_lacp.h
ieee_oui.h
if_arp.h Support ARP for 802 networks 2024-04-23 12:30:53 -04:00
if_bridge.c if_bridge: Minor style fixes 2024-04-26 02:19:11 +08:00
if_bridgevar.h
if_clone.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_clone.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_dead.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
if_disc.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_dl.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_edsc.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_enc.c
if_enc.h
if_epair.c sys: Use mbufq_empty instead of comparing mbufq_len against 0 2024-01-09 11:00:46 -08:00
if_ethersubr.c ethernet: Fix logging of frame length 2024-04-09 00:44:33 +08:00
if_fwsubr.c net: bandaid for plugging a fw_com leak in fwip_detach() 2024-02-15 01:00:49 +00:00
if_gif.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_gif.h
if_gre.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_gre.h
if_infiniband.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
if_ipsec.c
if_ipsec.h
if_lagg.c lagg: remove use of net epoch in the ioctl paths 2024-05-06 15:27:32 -07:00
if_lagg.h
if_llatbl.c if_llatbl: Fix a typo in a KASSERT message 2024-01-20 21:00:22 +01:00
if_llatbl.h
if_llc.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_loop.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_me.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_media.c
if_media.h
if_mib.c
if_mib.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
if_ovpn.c if_ovpn: cope with loops 2024-05-13 12:11:06 +02:00
if_ovpn.h
if_pflog.h pflog: pass the action to pflog directly 2024-01-04 23:08:08 +01:00
if_pfsync.h
if_private.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_stf.c
if_stf.h
if_strings.h
if_tap.h
if_tun.h
if_tuntap.c bpf: Make BPF interop consistent with if_loop 2024-04-19 14:48:37 -04:00
if_types.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_var.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
if_vlan_var.h
if_vlan.c
if_vxlan.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
if_vxlan.h
if.c if: guard against if_ioctl being NULL 2024-05-06 11:39:08 +02:00
if.h net: Fix two typos in source code comments 2024-01-20 17:28:12 +01:00
ifdi_if.m
iflib.c iflib: Add subinterface interrupt allocation function 2024-04-18 16:14:02 -07:00
iflib.h iflib: Add subinterface interrupt allocation function 2024-04-18 16:14:02 -07:00
ifq.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
ifq.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
infiniband.h
mp_ring.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
mp_ring.h
mppc.h
mppcc.c
mppcd.c sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
netisr_internal.h
netisr.c
netisr.h
netmap_legacy.h
netmap_user.h
netmap_virt.h
netmap.h
paravirt.h
pfil.c pfil: PFIL_PASS never frees the mbuf 2024-01-29 14:10:19 +01:00
pfil.h
pfkeyv2.h libipsec: make const-correct 2024-04-22 22:36:34 -06:00
pflow.h pflow: show socket status in verbose mode 2024-01-25 17:37:51 +01:00
pfvar.h pf: convert kill/clear state to use netlink 2024-02-28 23:26:18 +01:00
ppp_defs.h
radix.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
radix.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rndis.h net: Fix typo (triple S) 2023-12-27 20:24:32 -07:00
route.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
route.h sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
rss_config.c
rss_config.h
rtsock.c Revert "sockets: retire sorflush()" 2024-02-03 13:08:41 -08:00
sff8436.h
sff8472.h
slcompress.c sys: Remove ancient SCCS tags. 2023-11-26 22:23:30 -07:00
slcompress.h
toeplitz.c sys: Automated cleanup of cdefs and other formatting 2023-11-26 22:24:00 -07:00
toeplitz.h
vnet.c vnet: (read) lock the vnet list while iterating it 2023-12-07 13:34:47 +01:00
vnet.h vnet: remove unneeded backslash 2024-03-15 12:17:04 -07:00