summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2018-05-16 21:59:12 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2018-05-16 23:00:57 +0200
commit35fedcf540bfacbd1a46b593be1b8a3e96bd67e0 (patch)
treedb55afbdf623ffaf22d22d25b44898e244bf3625
parentbd82e03e15df882497eee46e4ba5db1442d88248 (diff)
segtree: missing comments in range and prefix expressions in sets
table inet filter { set spamhaus { type ipv4_addr flags interval elements = { 1.2.3.8/31 comment "evil people", 3.3.3.16-3.3.3.20 comment "more than evil" } } } Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--src/segtree.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/segtree.c b/src/segtree.c
index e1339daf..7a443632 100644
--- a/src/segtree.c
+++ b/src/segtree.c
@@ -829,6 +829,9 @@ void interval_map_decompose(struct expr *set)
tmp = range_expr_alloc(&low->location, expr_value(low), tmp);
tmp = set_elem_expr_alloc(&low->location, tmp);
+ if (low->comment)
+ tmp->comment = xstrdup(low->comment);
+
if (low->ops->type == EXPR_MAPPING)
tmp = mapping_expr_alloc(&tmp->location, tmp, low->right);
@@ -843,6 +846,9 @@ void interval_map_decompose(struct expr *set)
prefix->len = expr_value(i)->len;
prefix = set_elem_expr_alloc(&low->location, prefix);
+ if (low->comment)
+ prefix->comment = xstrdup(low->comment);
+
if (low->ops->type == EXPR_MAPPING)
prefix = mapping_expr_alloc(&low->location, prefix,
low->right);