freebsd-nq/sys/netgraph
Eugene Grosbein 49f384cb47 ng_nat: avoid panic if attached directly to ng_ether and got short packet
From the beginning, ng_nat safely assumed cleansed traffic
because of limited ways it could be attached to NETGRAPH:
ng_ipfw or ng_ppp only.

Now as it may be attached with ng_ether too, the assumption proven wrong.
Add needed check to the ng_nat. Thanks for markj for debugging this.

PR:		243096
Submitted by:	Lutz Donnerhacke <lutz@donnerhacke.de>
Reported by:	Robert James Hernandez <rob@sarcasticadmin.com>
Reviewed by:	markj and others
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D23091
2020-02-12 00:31:00 +00:00
..
atm sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
bluetooth avoid holding PCB mutex during copyin/copyout() 2019-08-30 16:35:31 +00:00
netflow Use callout_func_t instead of the deprecated timeout_t. 2019-12-10 22:06:53 +00:00
netgraph.h
ng_async.c
ng_async.h
ng_atmllc.c Correct pseudo misspelling in sys/ comments 2018-02-23 18:15:50 +00:00
ng_atmllc.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_base.c netgraph(4) callouts need to be executed in the network epoch. 2020-02-05 02:53:40 +00:00
ng_bpf.c
ng_bpf.h
ng_bridge.c netgraph/ng_bridge: Reestablish old ABI 2020-01-05 19:14:16 +00:00
ng_bridge.h netgraph/ng_bridge: Reestablish old ABI 2020-01-05 19:14:16 +00:00
ng_car.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_car.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_checksum.c
ng_checksum.h
ng_cisco.c
ng_cisco.h
ng_deflate.c Convert ng_deflate to use new zlib. 2019-08-23 07:24:36 +00:00
ng_deflate.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_device.c I doubt anybody in the world uses ng_device, but its write method should 2020-02-05 03:07:20 +00:00
ng_device.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_echo.c
ng_echo.h
ng_eiface.c Generate MAC address from the FreeBSD OUI range. 2020-01-16 20:12:15 +00:00
ng_eiface.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_etf.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_etf.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_ether_echo.c
ng_ether_echo.h
ng_ether.c Don't use if_maddr_rlock() in ng_ether(4), use epoch(9) directly instead. 2019-10-10 23:47:14 +00:00
ng_ether.h
ng_frame_relay.c
ng_frame_relay.h
ng_gif_demux.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_gif_demux.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_gif.c Catch up two more places to the V_ifnet change to a CK_STAILQ. 2018-05-24 00:06:55 +00:00
ng_gif.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_hole.c
ng_hole.h
ng_hub.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_hub.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_iface.c Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
ng_iface.h Use if_tunnel_check_nesting() for ng_iface(4). 2018-08-03 22:55:58 +00:00
ng_ip_input.c Widen NET_EPOCH coverage. 2019-10-07 22:40:05 +00:00
ng_ip_input.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_ipfw.c Remove 'dir' argument in ng_ipfw_input, since ip_fw_args now has this info. 2019-03-14 22:30:05 +00:00
ng_ipfw.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_ksocket.c Check return value from soaccept(). 2017-06-14 16:13:20 +00:00
ng_ksocket.h
ng_l2tp.c Protect access to seq->xwin[] with the seq mutex. 2019-10-03 02:34:51 +00:00
ng_l2tp.h
ng_lmi.c
ng_lmi.h
ng_message.h
ng_mppc.c
ng_mppc.h
ng_nat.c ng_nat: avoid panic if attached directly to ng_ether and got short packet 2020-02-12 00:31:00 +00:00
ng_nat.h Allow ng_nat to be attached to a ethernet interface directly via ng_ether(4) 2018-12-17 16:00:35 +00:00
ng_one2many.c
ng_one2many.h
ng_parse.c Revert r327828, r327949, r327953, r328016-r328026, r328041: 2018-01-21 15:42:36 +00:00
ng_parse.h
ng_patch.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_patch.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_pipe.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_pipe.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_ppp.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_ppp.h
ng_pppoe.c ng_pppoe(8): add support for user-supplied Host-Uniq tag. 2018-02-14 21:17:44 +00:00
ng_pppoe.h ng_pppoe(8): add support for user-supplied Host-Uniq tag. 2018-02-14 21:17:44 +00:00
ng_pptpgre.c Make ng_pptpgre(8) netgraph node be able to restore order for packets 2018-11-04 19:10:44 +00:00
ng_pptpgre.h Make ng_pptpgre(8) netgraph node be able to restore order for packets 2018-11-04 19:10:44 +00:00
ng_pred1.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_pred1.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_rfc1490.c
ng_rfc1490.h
ng_sample.c
ng_sample.h
ng_socket.c Enter the network epoch when ng_socket sends data or control from user 2020-02-05 03:06:29 +00:00
ng_socket.h
ng_socketvar.h
ng_source.c ng_source(4): correction after the change r340617 2018-11-27 04:05:38 +00:00
ng_source.h
ng_split.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_split.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_sppp.c
ng_sppp.h
ng_tag.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_tag.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_tcpmss.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_tcpmss.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_tee.c
ng_tee.h
ng_tty.c
ng_tty.h
ng_UI.c
ng_UI.h
ng_vjc.c
ng_vjc.h
ng_vlan.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ng_vlan.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
NOTES