diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2011-06-16 12:58:20 -0400 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2011-06-16 12:58:20 -0400 |
commit | 9b03a5ef49c01515387133ac5bd47073fae56318 (patch) | |
tree | 478e7f26d795781aaa809ad757704a93814a7953 | |
parent | 9d8832320f832b9360f6bca71cc045d2e4df171b (diff) |
netfilter: ipset: use the stored first cidr value instead of '1'
Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Signed-off-by: Patrick McHardy <kaber@trash.net>
-rw-r--r-- | net/netfilter/ipset/ip_set_hash_ipportnet.c | 10 | ||||
-rw-r--r-- | net/netfilter/ipset/ip_set_hash_net.c | 8 | ||||
-rw-r--r-- | net/netfilter/ipset/ip_set_hash_netport.c | 6 |
3 files changed, 16 insertions, 8 deletions
diff --git a/net/netfilter/ipset/ip_set_hash_ipportnet.c b/net/netfilter/ipset/ip_set_hash_ipportnet.c index dcd351b587d..d2d6ab89f08 100644 --- a/net/netfilter/ipset/ip_set_hash_ipportnet.c +++ b/net/netfilter/ipset/ip_set_hash_ipportnet.c | |||
@@ -156,8 +156,9 @@ hash_ipportnet4_kadt(struct ip_set *set, const struct sk_buff *skb, | |||
156 | { | 156 | { |
157 | const struct ip_set_hash *h = set->data; | 157 | const struct ip_set_hash *h = set->data; |
158 | ipset_adtfn adtfn = set->variant->adt[adt]; | 158 | ipset_adtfn adtfn = set->variant->adt[adt]; |
159 | struct hash_ipportnet4_elem data = | 159 | struct hash_ipportnet4_elem data = { |
160 | { .cidr = h->nets[0].cidr || HOST_MASK }; | 160 | .cidr = h->nets[0].cidr ? h->nets[0].cidr : HOST_MASK |
161 | }; | ||
161 | 162 | ||
162 | if (data.cidr == 0) | 163 | if (data.cidr == 0) |
163 | return -EINVAL; | 164 | return -EINVAL; |
@@ -434,8 +435,9 @@ hash_ipportnet6_kadt(struct ip_set *set, const struct sk_buff *skb, | |||
434 | { | 435 | { |
435 | const struct ip_set_hash *h = set->data; | 436 | const struct ip_set_hash *h = set->data; |
436 | ipset_adtfn adtfn = set->variant->adt[adt]; | 437 | ipset_adtfn adtfn = set->variant->adt[adt]; |
437 | struct hash_ipportnet6_elem data = | 438 | struct hash_ipportnet6_elem data = { |
438 | { .cidr = h->nets[0].cidr || HOST_MASK }; | 439 | .cidr = h->nets[0].cidr ? h->nets[0].cidr : HOST_MASK |
440 | }; | ||
439 | 441 | ||
440 | if (data.cidr == 0) | 442 | if (data.cidr == 0) |
441 | return -EINVAL; | 443 | return -EINVAL; |
diff --git a/net/netfilter/ipset/ip_set_hash_net.c b/net/netfilter/ipset/ip_set_hash_net.c index dcbb5d4c636..050163fb609 100644 --- a/net/netfilter/ipset/ip_set_hash_net.c +++ b/net/netfilter/ipset/ip_set_hash_net.c | |||
@@ -139,7 +139,9 @@ hash_net4_kadt(struct ip_set *set, const struct sk_buff *skb, | |||
139 | { | 139 | { |
140 | const struct ip_set_hash *h = set->data; | 140 | const struct ip_set_hash *h = set->data; |
141 | ipset_adtfn adtfn = set->variant->adt[adt]; | 141 | ipset_adtfn adtfn = set->variant->adt[adt]; |
142 | struct hash_net4_elem data = { .cidr = h->nets[0].cidr || HOST_MASK }; | 142 | struct hash_net4_elem data = { |
143 | .cidr = h->nets[0].cidr ? h->nets[0].cidr : HOST_MASK | ||
144 | }; | ||
143 | 145 | ||
144 | if (data.cidr == 0) | 146 | if (data.cidr == 0) |
145 | return -EINVAL; | 147 | return -EINVAL; |
@@ -336,7 +338,9 @@ hash_net6_kadt(struct ip_set *set, const struct sk_buff *skb, | |||
336 | { | 338 | { |
337 | const struct ip_set_hash *h = set->data; | 339 | const struct ip_set_hash *h = set->data; |
338 | ipset_adtfn adtfn = set->variant->adt[adt]; | 340 | ipset_adtfn adtfn = set->variant->adt[adt]; |
339 | struct hash_net6_elem data = { .cidr = h->nets[0].cidr || HOST_MASK }; | 341 | struct hash_net6_elem data = { |
342 | .cidr = h->nets[0].cidr ? h->nets[0].cidr : HOST_MASK | ||
343 | }; | ||
340 | 344 | ||
341 | if (data.cidr == 0) | 345 | if (data.cidr == 0) |
342 | return -EINVAL; | 346 | return -EINVAL; |
diff --git a/net/netfilter/ipset/ip_set_hash_netport.c b/net/netfilter/ipset/ip_set_hash_netport.c index 72961ba72a8..d7710a9fb7c 100644 --- a/net/netfilter/ipset/ip_set_hash_netport.c +++ b/net/netfilter/ipset/ip_set_hash_netport.c | |||
@@ -153,7 +153,8 @@ hash_netport4_kadt(struct ip_set *set, const struct sk_buff *skb, | |||
153 | const struct ip_set_hash *h = set->data; | 153 | const struct ip_set_hash *h = set->data; |
154 | ipset_adtfn adtfn = set->variant->adt[adt]; | 154 | ipset_adtfn adtfn = set->variant->adt[adt]; |
155 | struct hash_netport4_elem data = { | 155 | struct hash_netport4_elem data = { |
156 | .cidr = h->nets[0].cidr || HOST_MASK }; | 156 | .cidr = h->nets[0].cidr ? h->nets[0].cidr : HOST_MASK |
157 | }; | ||
157 | 158 | ||
158 | if (data.cidr == 0) | 159 | if (data.cidr == 0) |
159 | return -EINVAL; | 160 | return -EINVAL; |
@@ -397,7 +398,8 @@ hash_netport6_kadt(struct ip_set *set, const struct sk_buff *skb, | |||
397 | const struct ip_set_hash *h = set->data; | 398 | const struct ip_set_hash *h = set->data; |
398 | ipset_adtfn adtfn = set->variant->adt[adt]; | 399 | ipset_adtfn adtfn = set->variant->adt[adt]; |
399 | struct hash_netport6_elem data = { | 400 | struct hash_netport6_elem data = { |
400 | .cidr = h->nets[0].cidr || HOST_MASK }; | 401 | .cidr = h->nets[0].cidr ? h->nets[0].cidr : HOST_MASK |
402 | }; | ||
401 | 403 | ||
402 | if (data.cidr == 0) | 404 | if (data.cidr == 0) |
403 | return -EINVAL; | 405 | return -EINVAL; |