linux/net/bridge
Herbert Xu 47e0e1ca13 netfilter 03/09: bridge: Disable PPPOE/VLAN processing by default
The PPPOE/VLAN processing code in the bridge netfilter is broken
by design.  The VLAN tag and the PPPOE session ID are an integral
part of the packet flow information, yet they're completely
ignored by the bridge netfilter.  This is potentially a security
hole as it treats all VLANs and PPPOE sessions as the same.

What's more, it's actually broken for PPPOE as the bridge netfilter
tries to trim the packets to the IP length without adjusting the
PPPOE header (and adjusting the PPPOE header isn't much better
since the PPPOE peer may require the padding to be present).

Therefore we should disable this by default.

It does mean that people relying on this feature may lose networking
depending on how their bridge netfilter rules are configured.
However, IMHO the problems this code causes are serious enough to
warrant this.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-01-12 21:18:34 -08:00
..
netfilter net/bridge/netfilter: move a dereference below a NULL test 2009-01-11 00:06:33 -08:00
br_device.c netdev: add more functions to netdevice ops 2008-11-20 20:14:53 -08:00
br_fdb.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-07-18 02:39:39 -07:00
br_forward.c net: Discard and warn about LRO'd skbs received for forwarding 2008-06-19 16:22:28 -07:00
br_if.c netdev: add more functions to netdevice ops 2008-11-20 20:14:53 -08:00
br_input.c bridge: handle process all link-local frames 2008-06-17 16:09:45 -07:00
br_ioctl.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-09-08 16:59:05 -07:00
br_netfilter.c netfilter 03/09: bridge: Disable PPPOE/VLAN processing by default 2009-01-12 21:18:34 -08:00
br_netlink.c netns bridge: allow bridges in netns! 2008-09-08 16:19:58 -07:00
br_notify.c netns bridge: allow bridges in netns! 2008-09-08 16:19:58 -07:00
br_private_stp.h net: remove CVS keywords 2008-06-11 21:00:38 -07:00
br_private.h netns bridge: cleanup bridges during netns stop 2008-09-08 16:20:18 -07:00
br_stp_bpdu.c netns bridge: allow bridges in netns! 2008-09-08 16:19:58 -07:00
br_stp_if.c bridge: make bridge address settings sticky 2008-06-17 16:10:06 -07:00
br_stp_timer.c net: remove CVS keywords 2008-06-11 21:00:38 -07:00
br_stp.c bridge: Eliminate unnecessary forward delay 2008-08-05 18:42:51 -07:00
br_sysfs_br.c netdevice: safe convert to netdev_priv() #part-4 2008-11-12 23:39:10 -08:00
br_sysfs_if.c
br.c netns bridge: cleanup bridges during netns stop 2008-09-08 16:20:18 -07:00
Kconfig bridge: Use STP demux 2008-07-05 21:25:56 -07:00
Makefile