netfilter: ip[6]t_REJECT: tcp-reset using wrong MAC source if bridged
authorPhil Oester <kernel@linuxace.com>
Wed, 26 Jun 2013 21:16:28 +0000 (17:16 -0400)
committerPablo Neira Ayuso <pablo@netfilter.org>
Tue, 27 Aug 2013 22:13:12 +0000 (00:13 +0200)
commitaffe759dbaa9e6c08b0da0a11d1933b61f199f51
treef232ec8dcf549c3903b3a959480e79e9dba573c1
parent35fdb94b453bc69b7bc74b717f1e03d41d4bcdba
netfilter: ip[6]t_REJECT: tcp-reset using wrong MAC source if bridged

As reported by Casper Gripenberg, in a bridged setup, using ip[6]t_REJECT
with the tcp-reset option sends out reset packets with the src MAC address
of the local bridge interface, instead of the MAC address of the intended
destination.  This causes some routers/firewalls to drop the reset packet
as it appears to be spoofed.  Fix this by bypassing ip[6]_local_out and
setting the MAC of the sender in the tcp reset packet.

This closes netfilter bugzilla #531.

Signed-off-by: Phil Oester <kernel@linuxace.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
net/ipv4/netfilter/ipt_REJECT.c
net/ipv6/netfilter/ip6t_REJECT.c