Commit 1f9da256 authored by Pablo Neira Ayuso's avatar Pablo Neira Ayuso Committed by David S. Miller

netfilter: ctnetlink: fix echo if not subscribed to any multicast group

This patch fixes echoing if the socket that has sent the request to
create/update/delete an entry is not subscribed to any multicast
group. With the current code, ctnetlink would not send the echo
message via unicast as nfnetlink_send() would be skip.
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c969aa7d
...@@ -434,7 +434,7 @@ static int ctnetlink_conntrack_event(struct notifier_block *this, ...@@ -434,7 +434,7 @@ static int ctnetlink_conntrack_event(struct notifier_block *this,
} else } else
return NOTIFY_DONE; return NOTIFY_DONE;
if (!nfnetlink_has_listeners(group)) if (!item->report && !nfnetlink_has_listeners(group))
return NOTIFY_DONE; return NOTIFY_DONE;
skb = alloc_skb(NLMSG_GOODSIZE, GFP_ATOMIC); skb = alloc_skb(NLMSG_GOODSIZE, GFP_ATOMIC);
...@@ -1502,7 +1502,8 @@ static int ctnetlink_expect_event(struct notifier_block *this, ...@@ -1502,7 +1502,8 @@ static int ctnetlink_expect_event(struct notifier_block *this,
} else } else
return NOTIFY_DONE; return NOTIFY_DONE;
if (!nfnetlink_has_listeners(NFNLGRP_CONNTRACK_EXP_NEW)) if (!item->report &&
!nfnetlink_has_listeners(NFNLGRP_CONNTRACK_EXP_NEW))
return NOTIFY_DONE; return NOTIFY_DONE;
skb = alloc_skb(NLMSG_GOODSIZE, GFP_ATOMIC); skb = alloc_skb(NLMSG_GOODSIZE, GFP_ATOMIC);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment