]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
json: Print single set flag as non-array
authorPhil Sutter <phil@nwl.cc>
Thu, 8 May 2025 14:39:24 +0000 (16:39 +0200)
committerPhil Sutter <phil@nwl.cc>
Tue, 13 May 2025 08:48:53 +0000 (10:48 +0200)
The code obviously intended to do this already but got the array length
check wrong.

Fixes: e70354f53e9f6 ("libnftables: Implement JSON output support")
Signed-off-by: Phil Sutter <phil@nwl.cc>
73 files changed:
src/json.c
tests/shell/testcases/cache/dumps/0002_interval_0.json-nft
tests/shell/testcases/json/dumps/0001set_statements_0.json-nft
tests/shell/testcases/listing/dumps/0010sets_0.json-nft
tests/shell/testcases/listing/dumps/0012sets_0.json-nft
tests/shell/testcases/listing/dumps/0022terse_0.json-nft
tests/shell/testcases/maps/dumps/0005interval_map_add_many_elements_0.json-nft
tests/shell/testcases/maps/dumps/0006interval_map_overlap_0.json-nft
tests/shell/testcases/maps/dumps/0008interval_map_delete_0.json-nft
tests/shell/testcases/maps/dumps/0012map_concat_0.json-nft
tests/shell/testcases/maps/dumps/0013map_0.json-nft
tests/shell/testcases/maps/dumps/map_with_flags_0.json-nft
tests/shell/testcases/maps/dumps/named_limits.json-nft
tests/shell/testcases/maps/dumps/pipapo_double_flush.json-nft
tests/shell/testcases/maps/dumps/typeof_maps_add_delete.json-nft
tests/shell/testcases/maps/dumps/typeof_maps_update_0.json-nft
tests/shell/testcases/maps/dumps/vmap_timeout.json-nft
tests/shell/testcases/nft-f/dumps/0025empty_dynset_0.json-nft
tests/shell/testcases/optimizations/dumps/merge_vmaps.json-nft
tests/shell/testcases/optimizations/dumps/skip_unsupported.json-nft
tests/shell/testcases/packetpath/dumps/set_lookups.json-nft
tests/shell/testcases/rule_management/dumps/0004replace_0.json-nft
tests/shell/testcases/rule_management/dumps/0011reset_0.json-nft
tests/shell/testcases/sets/dumps/0001named_interval_0.json-nft
tests/shell/testcases/sets/dumps/0002named_interval_automerging_0.json-nft
tests/shell/testcases/sets/dumps/0004named_interval_shadow_0.json-nft
tests/shell/testcases/sets/dumps/0005named_interval_shadow_0.json-nft
tests/shell/testcases/sets/dumps/0008comments_interval_0.json-nft
tests/shell/testcases/sets/dumps/0009comments_timeout_0.json-nft
tests/shell/testcases/sets/dumps/0015rulesetflush_0.json-nft
tests/shell/testcases/sets/dumps/0022type_selective_flush_0.json-nft
tests/shell/testcases/sets/dumps/0024synproxy_0.json-nft
tests/shell/testcases/sets/dumps/0027ipv6_maps_ipv4_0.json-nft
tests/shell/testcases/sets/dumps/0028autoselect_0.json-nft
tests/shell/testcases/sets/dumps/0028delete_handle_0.json-nft
tests/shell/testcases/sets/dumps/0032restore_set_simple_0.json-nft
tests/shell/testcases/sets/dumps/0033add_set_simple_flat_0.json-nft
tests/shell/testcases/sets/dumps/0034get_element_0.json-nft
tests/shell/testcases/sets/dumps/0035add_set_elements_flat_0.json-nft
tests/shell/testcases/sets/dumps/0038meter_list_0.json-nft
tests/shell/testcases/sets/dumps/0039delete_interval_0.json-nft
tests/shell/testcases/sets/dumps/0040get_host_endian_elements_0.json-nft
tests/shell/testcases/sets/dumps/0041interval_0.json-nft
tests/shell/testcases/sets/dumps/0042update_set_0.json-nft
tests/shell/testcases/sets/dumps/0043concatenated_ranges_1.json-nft
tests/shell/testcases/sets/dumps/0044interval_overlap_1.json-nft
tests/shell/testcases/sets/dumps/0049set_define_0.json-nft
tests/shell/testcases/sets/dumps/0051set_interval_counter_0.json-nft
tests/shell/testcases/sets/dumps/0052overlap_0.json-nft
tests/shell/testcases/sets/dumps/0054comments_set_0.json-nft
tests/shell/testcases/sets/dumps/0055tcpflags_0.json-nft
tests/shell/testcases/sets/dumps/0060set_multistmt_1.json-nft
tests/shell/testcases/sets/dumps/0062set_connlimit_0.json-nft
tests/shell/testcases/sets/dumps/0063set_catchall_0.json-nft
tests/shell/testcases/sets/dumps/0064map_catchall_0.json-nft
tests/shell/testcases/sets/dumps/0069interval_merge_0.json-nft
tests/shell/testcases/sets/dumps/0071unclosed_prefix_interval_0.json-nft
tests/shell/testcases/sets/dumps/0073flat_interval_set.json-nft
tests/shell/testcases/sets/dumps/0074nested_interval_set.json-nft
tests/shell/testcases/sets/dumps/concat_interval_0.json-nft
tests/shell/testcases/sets/dumps/dynset_missing.json-nft
tests/shell/testcases/sets/dumps/exact_overlap_0.json-nft
tests/shell/testcases/sets/dumps/inner_0.json-nft
tests/shell/testcases/sets/dumps/meter_set_reuse.json-nft
tests/shell/testcases/sets/dumps/range_with_same_start_end.json-nft
tests/shell/testcases/sets/dumps/set_element_timeout_updates.json-nft
tests/shell/testcases/sets/dumps/set_eval_0.json-nft
tests/shell/testcases/sets/dumps/sets_with_ifnames.json-nft
tests/shell/testcases/transactions/dumps/0037set_0.json-nft
tests/shell/testcases/transactions/dumps/0038set_0.json-nft
tests/shell/testcases/transactions/dumps/0039set_0.json-nft
tests/shell/testcases/transactions/dumps/0047set_0.json-nft
tests/shell/testcases/transactions/dumps/doubled-set.json-nft

index 41a572018841923c5fccbcf31be2cb1667e3aa07..6b27ccb9270177f4af507c6f1694d16d7b749bd8 100644 (file)
@@ -199,7 +199,7 @@ static json_t *set_print_json(struct output_ctx *octx, const struct set *set)
        if (set->flags & NFT_SET_EVAL)
                json_array_append_new(tmp, json_pack("s", "dynamic"));
 
-       if (json_array_size(tmp) > 0) {
+       if (json_array_size(tmp) > 1) {
                json_object_set_new(root, "flags", tmp);
        } else {
                if (json_array_size(tmp))
index fa15d658dcd5c5a91e3ccc6b759662d39c08b190..5e2b9b420b6db638eb109b140077e64adbb1cdde 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
index 91db43e29ea9fc920646a8765a343be5b086d7e2..ecc7eade91a60818c02134f40e8766e1c012661f 100644 (file)
@@ -34,9 +34,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "size": 65535,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
index efca892e3667bd92f414f13f1e9fd6c55ea721f8..6aa99b4e16d246e4e82f7690fc1d7ce6b3a42361 100644 (file)
@@ -62,9 +62,7 @@
         "table": "test_arp",
         "type": "inet_service",
         "handle": 0,
-        "flags": [
-          "constant"
-        ]
+        "flags": "constant"
       }
     },
     {
         "table": "filter",
         "type": "inet_service",
         "handle": 0,
-        "flags": [
-          "constant"
-        ]
+        "flags": "constant"
       }
     },
     {
index efca892e3667bd92f414f13f1e9fd6c55ea721f8..6aa99b4e16d246e4e82f7690fc1d7ce6b3a42361 100644 (file)
@@ -62,9 +62,7 @@
         "table": "test_arp",
         "type": "inet_service",
         "handle": 0,
-        "flags": [
-          "constant"
-        ]
+        "flags": "constant"
       }
     },
     {
         "table": "filter",
         "type": "inet_service",
         "handle": 0,
-        "flags": [
-          "constant"
-        ]
+        "flags": "constant"
       }
     },
     {
index bd6383dac5e375cf573c5d89c4ab2bb3e2f1181b..1a33d6888033b482e548d3a8fe0895c6a208738a 100644 (file)
@@ -33,9 +33,7 @@
         "table": "filter",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           "10.10.10.10",
           "10.10.11.11"
index d1a46295005339fbe77184c7ab662d54631a374b..f9ac5bce9315b7415b0d31c92da0d24eaad4f340 100644 (file)
@@ -22,9 +22,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "map": "ipv4_addr",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             {
index 1e983219ae0d42776805a61c9769aab851755983..d6b32d0f8204c4abb17b7faa0435f78dcd2187c6 100644 (file)
@@ -22,9 +22,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "map": "ipv4_addr",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             {
index bd3c6cc7ebf557ba098b4e05a86a3786468ceb70..09cb6c8578ffb676285f7cc64f28261faaef722f 100644 (file)
@@ -34,9 +34,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "map": "mark",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             "127.0.0.2",
index 88bf4984dbde72b85c8c506fcb34a1a91c740178..85384c5329614738489590357cadaaa0a12d57e5 100644 (file)
@@ -50,9 +50,7 @@
         },
         "handle": 0,
         "map": "verdict",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             {
index e91a269d8e6e669f19698cc6574928dcb71341bf..2c8d21b43f20ebf1bddf3324d357bf8c0ebdca6f 100644 (file)
@@ -38,9 +38,7 @@
         ],
         "handle": 0,
         "map": "verdict",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             {
index 97b7e94e59fa414be50b15fd98f112e7dab20a7a..94ec5f751ba57494f0dd3663c1b49e051b88f021 100644 (file)
@@ -22,9 +22,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "map": "ipv4_addr",
-        "flags": [
-          "timeout"
-        ]
+        "flags": "timeout"
       }
     }
   ]
index 3c6845ac43b421cfe270a2684d420444f4a1abac..07e289291539247bdacc5e24f0f9973555162d97 100644 (file)
         },
         "handle": 0,
         "map": "limit",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             {
         },
         "handle": 0,
         "map": "limit",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             {
index ef8c3930f8153a82a68776d30138d9d0ad3e4ee4..dc793a65f16dda540af429e3fcd571bfdb488629 100644 (file)
@@ -33,9 +33,7 @@
         ],
         "handle": 0,
         "map": "verdict",
-        "flags": [
-          "interval"
-        ]
+        "flags": "interval"
       }
     }
   ]
index effe02dcf8364e3956874329dc312ecb763cf709..8b18a78d6982f808060f033b62f6e05b0ba76a2d 100644 (file)
@@ -50,9 +50,7 @@
         "handle": 0,
         "map": "mark",
         "size": 64,
-        "flags": [
-          "timeout"
-        ],
+        "flags": "timeout",
         "timeout": 300,
         "stmt": [
           {
index 731514663b1aa625a051505188b8b9e905095cfd..b79237d0838db5ff2382ad21ba7c3078637f7bcc 100644 (file)
@@ -39,9 +39,7 @@
         "handle": 0,
         "map": "mark",
         "size": 65535,
-        "flags": [
-          "timeout"
-        ],
+        "flags": "timeout",
         "timeout": 360
       }
     },
@@ -61,9 +59,7 @@
         "handle": 0,
         "map": "mark",
         "size": 65535,
-        "flags": [
-          "timeout"
-        ],
+        "flags": "timeout",
         "timeout": 60
       }
     },
index 71e9a9ee9f21bec64ec506e7a910d8b20ebaad2c..2d7d8cc2306cd1a1c56bec03e6f8c6ec9a74e4e3 100644 (file)
@@ -66,9 +66,7 @@
         "type": "inet_service",
         "handle": 0,
         "map": "verdict",
-        "flags": [
-          "timeout"
-        ],
+        "flags": "timeout",
         "gc-interval": 10,
         "elem": [
           [
         },
         "handle": 0,
         "map": "verdict",
-        "flags": [
-          "timeout"
-        ],
+        "flags": "timeout",
         "gc-interval": 10,
         "elem": [
           [
index 0cde23b00000af30e0dee357b15265ce89371633..63d6764172ff6d7a4bd7eafa54820aa22c4276e9 100644 (file)
@@ -27,9 +27,7 @@
           "inet_service"
         ],
         "handle": 0,
-        "flags": [
-          "dynamic"
-        ],
+        "flags": "dynamic",
         "elem": [
           {
             "elem": {
@@ -64,9 +62,7 @@
           "inet_service"
         ],
         "handle": 0,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
@@ -82,9 +78,7 @@
           "inet_service"
         ],
         "handle": 0,
-        "flags": [
-          "dynamic"
-        ],
+        "flags": "dynamic",
         "elem": [
           {
             "elem": {
index e87f1c4c082eb3423b9dac11957904f967b3cafa..f058d6f1db069f99387877e1dddf64c47ab0eb96 100644 (file)
@@ -46,9 +46,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "size": 65535,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
index d6347b1eeed6e73c52dcb15b148b5edbc7db8e34..bf5a8cec5363041ac6ea47a83bdf84e2e24647f0 100644 (file)
@@ -29,9 +29,7 @@
         "table": "x",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
index bcf6914e95cb90b73e9d6d1c8db8e7659218b9d8..23f4b17fc53c3271a2c86ccabc45710a219581d0 100644 (file)
@@ -36,9 +36,7 @@
           "iface_index"
         ],
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "concat": [
         "table": "t",
         "type": "iface_index",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           "lo"
         ]
index 767e80f14ff262e38acc30526eb58354d3aa03fc..811cb73804f5d847602bce660826d701600fce5f 100644 (file)
@@ -38,9 +38,7 @@
         "table": "t",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ]
+        "flags": "interval"
       }
     },
     {
index bc242467e22a7c30bbc29d00c09d385c15367ef9..e57dee799b4f345d6f84f9409f4c81285d530744 100644 (file)
@@ -38,9 +38,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "size": 65535,
-        "flags": [
-          "dynamic"
-        ],
+        "flags": "dynamic",
         "elem": [
           {
             "elem": {
index b9c66a21aa0849ab9fb2b698f79cb1532ab536a5..9200154a6ed85c9d1fd63edd896fee36379986e0 100644 (file)
@@ -29,9 +29,7 @@
         "table": "t",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "range": [
@@ -55,9 +53,7 @@
         "table": "t",
         "type": "ipv6_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
@@ -81,9 +77,7 @@
         "table": "t",
         "type": "inet_proto",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "range": [
         "table": "t",
         "type": "inet_service",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "range": [
index 4c0be67000a023d4ff49870da9ea010af8a64788..b083ecb52bb529e9b8dcd7cae9d6306db487533a 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
index c55858fa9c9b93cec5b7edc59bf5e8a9c5a6bb90..c79d9ba8518af7faa929f08cc4e3aeb369034eec 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "ipv6_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
index a75681f36cb8e117fd5cdc2e9477c6fe96aa871a..464661e62ae14da2efe9b633f81ac606bacc64c1 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "ipv6_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
index c6f5aa68837cee4a79a10293c1c8c9833e8af14b..e7152413d4bb9c508238641b938e31126f6e4040 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "elem": {
index 2418b39a76a060f520e66afea862c21a80b1d5c7..a67a06707106d5e141826e9b2c292a7f43d1b541 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "timeout"
-        ],
+        "flags": "timeout",
         "elem": [
           {
             "elem": {
index 6268e216aa03c53d60fdb613a600f70a9150bb2f..86d7eb6a4b6b1bda92dc14fd3fa959f1c37bca17 100644 (file)
@@ -36,9 +36,7 @@
         "table": "filter",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
index c617139235c239598fbfa2cb8a145aab023029b6..dcb62eb739d5643477bc1f83ef0f20ff024654c1 100644 (file)
@@ -49,9 +49,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "size": 1024,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
index 0af613333592d63b33f222efdf4dcf9e8aadc1cb..dd71bb394442df482f792d453db46cac1bd3688b 100644 (file)
@@ -58,9 +58,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "map": "synproxy",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             {
index b9251ffa589001316abc48e20c9d370d66abb793..75d8b46d86a109b12ef4617d3a016fb81d4bbdf8 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "ipv6_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
index 5968b2e0c11f061a90facf148ff5849170a1542f..05fc072c3ca7fd9e730e939e87a6ae3eff214257 100644 (file)
@@ -34,9 +34,7 @@
         "type": "inet_proto",
         "handle": 0,
         "size": 65535,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
@@ -47,9 +45,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "size": 65535,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
@@ -60,9 +56,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "size": 1024,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
index 96314141bc0848a559ca668712e2a3f9c4e9a624..9e5f708df3a74e1e9f84679a50062c7ea8dcedb6 100644 (file)
@@ -30,9 +30,7 @@
         "table": "test-ip",
         "type": "inet_service",
         "handle": 0,
-        "flags": [
-          "timeout"
-        ],
+        "flags": "timeout",
         "timeout": 10845
       }
     },
index 4d194bff1b164847b634ba40a5a6eee4fd3d5f84..7a723150c1a35d3e30fb96a9c5da97429c5f30f1 100644 (file)
@@ -25,9 +25,7 @@
           "ipv4_addr"
         ],
         "handle": 0,
-        "flags": [
-          "timeout"
-        ]
+        "flags": "timeout"
       }
     },
     {
@@ -40,9 +38,7 @@
           "inet_service"
         ],
         "handle": 0,
-        "flags": [
-          "timeout"
-        ]
+        "flags": "timeout"
       }
     }
   ]
index 16684438c37f2f444d8101834b9192ef90ac98de..5697652859078bca04dac13b6b9f1cc76840b878 100644 (file)
@@ -25,9 +25,7 @@
           "ipv4_addr"
         ],
         "handle": 0,
-        "flags": [
-          "timeout"
-        ]
+        "flags": "timeout"
       }
     },
     {
@@ -40,9 +38,7 @@
           "inet_service"
         ],
         "handle": 0,
-        "flags": [
-          "timeout"
-        ]
+        "flags": "timeout"
       }
     }
   ]
index bfc0e4a0f5886ec4db7a82e477e267dfb756eec1..4f5ba0aaac57889531da61b9f34cf53631d26be8 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "inet_service",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           10,
           {
@@ -49,9 +47,7 @@
         "table": "t",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           "10.0.0.1",
           {
@@ -91,9 +87,7 @@
           "inet_service"
         ],
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "concat": [
index e4c77147b88f66d57193f8721ff1e3f6cd487227..f9fe4e6f113ea526a1708f5cb46612762a418936 100644 (file)
@@ -21,9 +21,7 @@
         "table": "x",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ]
+        "flags": "interval"
       }
     }
   ]
index 5b13f59a72615f2e45ccabae03199211d3947c71..6f6555d224371751cbaa17e4a4febff50d3a3c79 100644 (file)
@@ -44,9 +44,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "size": 128,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
index d6e46aad20a5084dcdaee5dcfe9b4777e1abb4f6..afa819584e5b31df94b0b07034c38210d9d193ce 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "range": [
index 4b6cf03c4596137ee8ed0dfbe2eb06e71969b444..486ca453281e433a745c15b54b04d75817f9e686 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "mark",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "range": [
index 14a393305a3f3ffa4bd610ce3ce0c2a7e0b8657e..c59a65ae29fd878729c89cb916e652ee20e01357 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           "192.168.2.196"
         ]
index bc1d4cc2284d8eff274d4951c497bd0a405665aa..3f98e120d19bd2fb368aa5fee0e4ae886c861bc7 100644 (file)
@@ -39,9 +39,7 @@
         "type": "ether_addr",
         "handle": 0,
         "size": 65535,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
index 92b59c861de1043a1718b37bbbd7908c0febc3da..5ce063d7e43045a9a007d099882fcf6926192401 100644 (file)
@@ -24,9 +24,7 @@
           "ipv6_addr"
         ],
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "concat": [
           "ipv4_addr"
         ],
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "concat": [
index f4aae383524ffce3e413200a0430bf1e366edaf7..8f82990af70d6b79ddf9b94c20f31ffa2286d40a 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "inet_service",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           25,
           30,
index f8495bab8b0f3d9a0bd44fa7cb40a2a9dbc5db66..98ccafd463cc4dded493e3ac9e29bdfbaaef812e 100644 (file)
@@ -33,9 +33,7 @@
         "table": "filter",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "auto-merge": true,
         "elem": [
           "1.1.1.1"
index b468b5f9044cade46b73d6b768d58c78ffc6eeee..96cb397f0c5840d62502c1052b5116d0ad006054 100644 (file)
@@ -33,9 +33,7 @@
         "table": "x",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "elem": {
index 96d5fbccd7d4099d27624c0f1cdc534cb1d1edf2..1ea8ede677aa35cfdbf4ba5e48a92a8981a26de5 100644 (file)
@@ -21,9 +21,7 @@
         "table": "filter",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "auto-merge": true,
         "elem": [
           "10.10.10.10",
index 3fd6d37e181033fe82b0bda5499ee67b5ddc9239..a729392270c01404e9f7cfe7288bf2aacf1a07fa 100644 (file)
@@ -22,9 +22,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "comment": "test",
-        "flags": [
-          "interval"
-        ]
+        "flags": "interval"
       }
     },
     {
@@ -36,9 +34,7 @@
         "handle": 0,
         "comment": "another test",
         "map": "ipv4_addr",
-        "flags": [
-          "interval"
-        ]
+        "flags": "interval"
       }
     }
   ]
index e37139f334466102cc2016e8c576131a6e3066c4..0232ad6f28e3b996b534bae7ea5b5d81cb10d158 100644 (file)
@@ -21,9 +21,7 @@
         "table": "test",
         "type": "tcp_flag",
         "handle": 0,
-        "flags": [
-          "constant"
-        ],
+        "flags": "constant",
         "elem": [
           {
             "|": [
index 6098dc563141f29b44091901c52653552ff5a7b7..99805e553da0e26192891f851096b221e011121a 100644 (file)
@@ -34,9 +34,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "size": 65535,
-        "flags": [
-          "dynamic"
-        ],
+        "flags": "dynamic",
         "elem": [
           {
             "elem": {
index c5e60e36c89ea75cb8ca31e621d165b8ae45e66f..7a948b1da0cffc33313774c0a2a0a609339ca680 100644 (file)
@@ -22,9 +22,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "size": 65535,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
@@ -35,9 +33,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "size": 65535,
-        "flags": [
-          "dynamic"
-        ],
+        "flags": "dynamic",
         "stmt": [
           {
             "ct count": {
index 3006f75a8fcc6a38863261fda18cd6b9486d8839..fcfe9830f36006af3850522e2057732eac1b14ca 100644 (file)
@@ -55,9 +55,7 @@
         "table": "x",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "elem": {
index 64dd26670528be2c18c808484e7df59d54189396..b7496ac853f109a4ddfb4cb8e865fe477a833277 100644 (file)
@@ -50,9 +50,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "map": "ipv4_addr",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             {
index d7b32f8cc0e2492390dd2cf60d8267bc9584f8be..7868cb33591609fc5546d8783458b4d1f648a430 100644 (file)
@@ -21,9 +21,7 @@
         "table": "x",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "auto-merge": true,
         "elem": [
           {
index 6b579a2e09fffc6cc2ff01bacf8aa9e80ea751fa..588c2b1b6689c92d69025074f29779331beff17f 100644 (file)
@@ -29,9 +29,7 @@
         "table": "t",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
@@ -55,9 +53,7 @@
         "table": "t",
         "type": "ipv6_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
index e2fb6214238fa77878b8ec12177ecdc1417b55db..e4649a7d0c22eb99db9e8b7e6f2f00cc507a1c2c 100644 (file)
@@ -32,9 +32,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "map": "counter",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             {
index e2fb6214238fa77878b8ec12177ecdc1417b55db..e4649a7d0c22eb99db9e8b7e6f2f00cc507a1c2c 100644 (file)
@@ -32,9 +32,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "map": "counter",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             {
index d65065e4f0947a4eee012c5c46dd6b01676c7f01..3283f26958f71f45e4efde206b0cd5fcba600d30 100644 (file)
@@ -25,9 +25,7 @@
           "inet_service"
         ],
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "stmt": [
           {
             "counter": null
@@ -45,9 +43,7 @@
           "mark"
         ],
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "concat": [
index ad8a7cc0564a8c9635b9d8246ce28a0661a78164..9de5b821f79e7421d68e89cf98d7d0d5a8f18def 100644 (file)
@@ -34,9 +34,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "size": 65535,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
index 958d1e5cf6caf55b2e628c7b4156ff78febad67b..7bba69d54556a8ab58501c26ad51f256d28e9036 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
index e5dc198f436be28f371eb80956f927d00ad4763b..581d534012e447987b501492676033536f3581c1 100644 (file)
@@ -74,9 +74,7 @@
         },
         "handle": 0,
         "size": 65535,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
index ab4ac06184d03750f4a557ed93de76f3662d8acb..9210c90b158d41ff97eb99b5be0ed47c5a088b12 100644 (file)
@@ -33,9 +33,7 @@
         ],
         "handle": 0,
         "size": 65535,
-        "flags": [
-          "dynamic"
-        ]
+        "flags": "dynamic"
       }
     },
     {
index c4682475917e569fd895b9230d4bef9ec950f282..e1daa8f86529fed6dec54d36c24901dfa69203bb 100644 (file)
@@ -21,9 +21,7 @@
         "table": "t",
         "type": "inet_service",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           10,
           30,
index d92d8d7a549408796d50a2c48eb82844cb9c7e54..acb2f1f4944acb9f00d4e167d0227840a36cb52c 100644 (file)
@@ -40,9 +40,7 @@
           }
         },
         "handle": 0,
-        "flags": [
-          "timeout"
-        ],
+        "flags": "timeout",
         "timeout": 60
       }
     }
index 6f692381b6f7c6ca4df2ace436b8cff935f5a8bf..6f4f4c61600b227912fc250e73056f763b0e076b 100644 (file)
@@ -33,9 +33,7 @@
         "table": "nat",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ]
+        "flags": "interval"
       }
     },
     {
index ac4284293c32ab492b7aab112c8b23eda5cbe564..77ca50868f26ffb59e0a2e957cb5e3b44d744b04 100644 (file)
@@ -71,9 +71,7 @@
         "table": "testifsets",
         "type": "ifname",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           "abcdef*",
           "othername",
           "ifname"
         ],
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "concat": [
         "type": "ifname",
         "handle": 0,
         "map": "verdict",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             "abcdef*",
index e4c77147b88f66d57193f8721ff1e3f6cd487227..f9fe4e6f113ea526a1708f5cb46612762a418936 100644 (file)
@@ -21,9 +21,7 @@
         "table": "x",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ]
+        "flags": "interval"
       }
     }
   ]
index 0a36f4a809a0dd522a5353aedd4cdb4af4846c02..5f97d09e82c6ca58abe4ffa024574bb26d67e73f 100644 (file)
@@ -21,9 +21,7 @@
         "table": "x",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
index 0a36f4a809a0dd522a5353aedd4cdb4af4846c02..5f97d09e82c6ca58abe4ffa024574bb26d67e73f 100644 (file)
@@ -21,9 +21,7 @@
         "table": "x",
         "type": "ipv4_addr",
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "prefix": {
index a7e677b2e702c15789f158276a1317f83c14eb7b..fb6348f229b575d6534c30229310c4d0f8c7419c 100644 (file)
@@ -22,9 +22,7 @@
         "type": "ipv4_addr",
         "handle": 0,
         "map": "classid",
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           [
             "10.1.26.2",
index 2dced1240528f2ddbf0467b14e67c405c831c7d3..1b9af211945ec91daefe2b795a89ce1d515e1660 100644 (file)
@@ -24,9 +24,7 @@
           "ifname"
         ],
         "handle": 0,
-        "flags": [
-          "interval"
-        ],
+        "flags": "interval",
         "elem": [
           {
             "concat": [