netfilter: ipset: allow a 0 netmask with hash_netiface type
Jozsef says: The correct behaviour is that if we have ipset create test1 hash:net,iface ipset add test1 0.0.0.0/0,eth0 iptables -A INPUT -m set --match-set test1 src,src then the rule should match for any traffic coming in through eth0. This removes the -EINVAL runtime test to make matching work in case packet arrived via the specified interface. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1297092 Signed-off-by: Florian Westphal <fw@strlen.de> Acked-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
4b8c4eddfc
commit
f90d2d37fb
|
@ -164,8 +164,6 @@ hash_netiface4_kadt(struct ip_set *set, const struct sk_buff *skb,
|
||||||
};
|
};
|
||||||
struct ip_set_ext ext = IP_SET_INIT_KEXT(skb, opt, set);
|
struct ip_set_ext ext = IP_SET_INIT_KEXT(skb, opt, set);
|
||||||
|
|
||||||
if (e.cidr == 0)
|
|
||||||
return -EINVAL;
|
|
||||||
if (adt == IPSET_TEST)
|
if (adt == IPSET_TEST)
|
||||||
e.cidr = HOST_MASK;
|
e.cidr = HOST_MASK;
|
||||||
|
|
||||||
|
@ -377,8 +375,6 @@ hash_netiface6_kadt(struct ip_set *set, const struct sk_buff *skb,
|
||||||
};
|
};
|
||||||
struct ip_set_ext ext = IP_SET_INIT_KEXT(skb, opt, set);
|
struct ip_set_ext ext = IP_SET_INIT_KEXT(skb, opt, set);
|
||||||
|
|
||||||
if (e.cidr == 0)
|
|
||||||
return -EINVAL;
|
|
||||||
if (adt == IPSET_TEST)
|
if (adt == IPSET_TEST)
|
||||||
e.cidr = HOST_MASK;
|
e.cidr = HOST_MASK;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue