]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
nft: replace nft_rule_attr_get_u8
authorGiuseppe Longo <giuseppelng@gmail.com>
Mon, 24 Mar 2014 10:59:46 +0000 (11:59 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 24 Mar 2014 11:08:14 +0000 (12:08 +0100)
Since the family declaration has been modified in libnftnl,
from commit 3cd9cd06625f8181c713489cec2c1ce6722a7e16
the assertion is failed for {ip,ip6,arp}tables-compat
when printing rules.

iptables-compat -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
libnftnl: attribute 0 assertion failed in rule.c:273

ip6tables-compat -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
libnftnl: attribute 0 assertion failed in rule.c:273

arptables-compat -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
libnftnl: attribute 0 assertion failed in rule.c:273

Signed-off-by: Giuseppe Longo <giuseppelng@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
iptables/nft-arp.c
iptables/nft-shared.c
iptables/nft.c
iptables/xtables-events.c

index 3af1b4bfc47fc69ff504367f5c7c1dcf762a872d..562a1a29a9b4e4e0f5614e83a362481e8495abf3 100644 (file)
@@ -369,7 +369,7 @@ void nft_rule_to_arpt_entry(struct nft_rule *r, struct arpt_entry *fw)
 {
        struct nft_rule_expr_iter *iter;
        struct nft_rule_expr *expr;
-       int family = nft_rule_attr_get_u8(r, NFT_RULE_ATTR_FAMILY);
+       int family = nft_rule_attr_get_u32(r, NFT_RULE_ATTR_FAMILY);
 
        iter = nft_rule_expr_iter_create(r);
        if (iter == NULL)
index ada71e6b4073fd00db7dab21a487172b9d57a5a3..3f018fb275f417a867aeac834aa317cae6498e4c 100644 (file)
@@ -457,7 +457,7 @@ void nft_rule_to_iptables_command_state(struct nft_rule *r,
 {
        struct nft_rule_expr_iter *iter;
        struct nft_rule_expr *expr;
-       int family = nft_rule_attr_get_u8(r, NFT_RULE_ATTR_FAMILY);
+       int family = nft_rule_attr_get_u32(r, NFT_RULE_ATTR_FAMILY);
 
        iter = nft_rule_expr_iter_create(r);
        if (iter == NULL)
index 1237659f15808ee94d6736e20dcfa6b07053af84..f3ec526ddcfa4e970ed138d59c8e4f563da0bb8b 100644 (file)
@@ -1017,7 +1017,7 @@ nft_rule_print_save(const void *data,
                    unsigned int format)
 {
        const char *chain = nft_rule_attr_get_str(r, NFT_RULE_ATTR_CHAIN);
-       int family = nft_rule_attr_get_u8(r, NFT_RULE_ATTR_FAMILY);
+       int family = nft_rule_attr_get_u32(r, NFT_RULE_ATTR_FAMILY);
        struct nft_family_ops *ops;
 
        /* print chain name */
index d8a732e41b27a02511d130e748c4de19734c48a1..4746825e1be7c4ce9ca40fceaceef4f734654d64 100644 (file)
@@ -75,7 +75,7 @@ static int rule_cb(const struct nlmsghdr *nlh, int type)
                goto err_free;
        }
 
-       family = nft_rule_attr_get_u8(r, NFT_RULE_ATTR_FAMILY);
+       family = nft_rule_attr_get_u32(r, NFT_RULE_ATTR_FAMILY);
        switch (family) {
        case AF_INET:
        case AF_INET6: