netfilter: ctnetlink: send event when conntrack label was modified
commit0ceabd8387
(netfilter: ctnetlink: deliver labels to userspace) sets the event bit when we raced with another packet, instead of raising the event bit when the label bit is set for the first time. commit9b21f6a909
(netfilter: ctnetlink: allow userspace to modify labels) forgot to update the event mask in the "conntrack already exists" case. Both issues result in CTA_LABELS attribute not getting included in the conntrack event. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
Родитель
5aed93875c
Коммит
797a7d66d2
|
@ -45,7 +45,7 @@ int nf_connlabel_set(struct nf_conn *ct, u16 bit)
|
|||
if (test_bit(bit, labels->bits))
|
||||
return 0;
|
||||
|
||||
if (test_and_set_bit(bit, labels->bits))
|
||||
if (!test_and_set_bit(bit, labels->bits))
|
||||
nf_conntrack_event_cache(IPCT_LABEL, ct);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -1825,6 +1825,7 @@ ctnetlink_new_conntrack(struct sock *ctnl, struct sk_buff *skb,
|
|||
nf_conntrack_eventmask_report((1 << IPCT_REPLY) |
|
||||
(1 << IPCT_ASSURED) |
|
||||
(1 << IPCT_HELPER) |
|
||||
(1 << IPCT_LABEL) |
|
||||
(1 << IPCT_PROTOINFO) |
|
||||
(1 << IPCT_NATSEQADJ) |
|
||||
(1 << IPCT_MARK),
|
||||
|
|
Загрузка…
Ссылка в новой задаче