From 3251e0530b3dc718acc70168285d030e36d9aee4 Mon Sep 17 00:00:00 2001 From: Jacek Tomasiak Date: Wed, 14 Jun 2023 18:24:05 +0200 Subject: conntrack: don't override mark when filtering by status When creating new rules with (e.g. with `conntrack -I -m 123 -u UNSET ...`), the mark from `-m` was overriden by value from `-u`. This behavior was introduced in 1a5828f491c6a1593f30cb5f1551fe9f9cf76a8d ("conntrack: enable kernel-based status filtering with -L -u STATUS") for filtering the output of `-L` option but caused a regression in other cases. [ fw@strlen.de: likely copy&waste bug, status and mark are completely different things ] Fixes: 1a5828f491c6 ("conntrack: enable kernel-based status filtering with -L -u STATUS") Signed-off-by: Jacek Tomasiak Signed-off-by: Jacek Tomasiak Signed-off-by: Florian Westphal --- src/conntrack.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/conntrack.c b/src/conntrack.c index bf72739..89800b7 100644 --- a/src/conntrack.c +++ b/src/conntrack.c @@ -3007,8 +3007,7 @@ static void do_parse(struct ct_cmd *ct_cmd, int argc, char *argv[]) if (tmpl->filter_status_kernel.mask == 0) tmpl->filter_status_kernel.mask = status; - tmpl->mark.value = status; - tmpl->filter_status_kernel.val = tmpl->mark.value; + tmpl->filter_status_kernel.val = status; tmpl->filter_status_kernel_set = true; break; case 'e': -- cgit v1.2.3