]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
rule: broken handle listing of table and named objects
authorPablo Neira Ayuso <pablo@netfilter.org>
Mon, 5 Mar 2018 17:22:00 +0000 (18:22 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 5 Mar 2018 17:22:00 +0000 (18:22 +0100)
Now listing looks good:

 table ip test-ip {
        counter https-traffic {
                packets 0 bytes 0
        } # handle 1
 } # handle 847

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
src/rule.c

index 6af7d9a913feeb96517e27047ba3bbe1a9720ab4..99b12e97a1fa2829e75c752014cf9a8d6aa29673 100644 (file)
@@ -888,9 +888,12 @@ static void table_print(const struct table *table, struct output_ctx *octx)
                chain_print(chain, octx);
                delim = "\n";
        }
+       nft_print(octx, "}");
+
        if (octx->handle > 0)
                nft_print(octx, " # handle %" PRIu64, table->handle.handle.id);
-       nft_print(octx, "}\n");
+
+       nft_print(octx, "\n");
 }
 
 struct cmd *cmd_alloc(enum cmd_ops op, enum cmd_obj obj,
@@ -1502,10 +1505,12 @@ static void obj_print_declaration(const struct obj *obj,
 
        obj_print_data(obj, opts, octx);
 
-       nft_print(octx, "%s%s}%s", opts->nl, opts->tab, opts->nl);
+       nft_print(octx, "%s%s}", opts->nl, opts->tab);
 
        if (octx->handle > 0)
-               nft_print(octx, "# handle %" PRIu64, obj->handle.handle.id);
+               nft_print(octx, " # handle %" PRIu64, obj->handle.handle.id);
+
+       nft_print(octx, "%s", opts->nl);
 }
 
 void obj_print(const struct obj *obj, struct output_ctx *octx)