]> git.hungrycats.org Git - linux/commit
[MULTICAST]: multicast loop with include filters fix
authorDavid Stevens <dlstevens@us.ibm.com>
Sat, 24 Jan 2004 01:59:08 +0000 (17:59 -0800)
committerJames Morris <jmorris@kernel.bkbits.net>
Sat, 24 Jan 2004 01:59:08 +0000 (17:59 -0800)
commitb022a38e133a00b3077a0b249a797b885e82defc
tree0476f7abd46b7a5d6bfc90ddf197a48d87a95283
parent672ab41e9381b6418cbdf17b39b51ffd64d07792
[MULTICAST]: multicast loop with include filters fix

When sending a multicast and using looping back a copy to the
local machine, the interface filter checks can be done before the
source address is specified. For an INCLUDE filter, this won't match
the allowed sources and the packets won't be delivered locally,
even when the ultimate source address chosen is in the allowed list.

The patch below fixes the filter checks for both IGMPv3 and MLDv2
to only apply when a source address is available.

Thanks to Steven Hessing for reporting the problem and providing
a test case for reproducing it.
net/ipv4/igmp.c
net/ipv6/mcast.c