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: Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
c969aa7d2c
Коммит
1f9da25616
|
@ -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,
|
||||||
} 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);
|
||||||
|
|
Загрузка…
Ссылка в новой задаче