netfilter: ipset: Use HOST_MASK literal to represent host address CIDR len
Signed-off-by: Sergey Popovich <popovich_sergei@mail.ua> Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:
parent
d25472e470
commit
cabfd139aa
7 changed files with 11 additions and 9 deletions
|
@ -36,6 +36,7 @@ IP_SET_MODULE_DESC("bitmap:ip", IPSET_TYPE_REV_MIN, IPSET_TYPE_REV_MAX);
|
||||||
MODULE_ALIAS("ip_set_bitmap:ip");
|
MODULE_ALIAS("ip_set_bitmap:ip");
|
||||||
|
|
||||||
#define MTYPE bitmap_ip
|
#define MTYPE bitmap_ip
|
||||||
|
#define HOST_MASK 32
|
||||||
|
|
||||||
/* Type structure */
|
/* Type structure */
|
||||||
struct bitmap_ip {
|
struct bitmap_ip {
|
||||||
|
@ -177,7 +178,7 @@ bitmap_ip_uadt(struct ip_set *set, struct nlattr *tb[],
|
||||||
} else if (tb[IPSET_ATTR_CIDR]) {
|
} else if (tb[IPSET_ATTR_CIDR]) {
|
||||||
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
||||||
|
|
||||||
if (!cidr || cidr > 32)
|
if (!cidr || cidr > HOST_MASK)
|
||||||
return -IPSET_ERR_INVALID_CIDR;
|
return -IPSET_ERR_INVALID_CIDR;
|
||||||
ip_set_mask_from_to(ip, ip_to, cidr);
|
ip_set_mask_from_to(ip, ip_to, cidr);
|
||||||
} else
|
} else
|
||||||
|
@ -280,7 +281,7 @@ bitmap_ip_create(struct net *net, struct ip_set *set, struct nlattr *tb[],
|
||||||
} else if (tb[IPSET_ATTR_CIDR]) {
|
} else if (tb[IPSET_ATTR_CIDR]) {
|
||||||
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
||||||
|
|
||||||
if (cidr >= 32)
|
if (cidr >= HOST_MASK)
|
||||||
return -IPSET_ERR_INVALID_CIDR;
|
return -IPSET_ERR_INVALID_CIDR;
|
||||||
ip_set_mask_from_to(first_ip, last_ip, cidr);
|
ip_set_mask_from_to(first_ip, last_ip, cidr);
|
||||||
} else
|
} else
|
||||||
|
@ -289,7 +290,7 @@ bitmap_ip_create(struct net *net, struct ip_set *set, struct nlattr *tb[],
|
||||||
if (tb[IPSET_ATTR_NETMASK]) {
|
if (tb[IPSET_ATTR_NETMASK]) {
|
||||||
netmask = nla_get_u8(tb[IPSET_ATTR_NETMASK]);
|
netmask = nla_get_u8(tb[IPSET_ATTR_NETMASK]);
|
||||||
|
|
||||||
if (netmask > 32)
|
if (netmask > HOST_MASK)
|
||||||
return -IPSET_ERR_INVALID_NETMASK;
|
return -IPSET_ERR_INVALID_NETMASK;
|
||||||
|
|
||||||
first_ip &= ip_set_hostmask(netmask);
|
first_ip &= ip_set_hostmask(netmask);
|
||||||
|
|
|
@ -36,6 +36,7 @@ IP_SET_MODULE_DESC("bitmap:ip,mac", IPSET_TYPE_REV_MIN, IPSET_TYPE_REV_MAX);
|
||||||
MODULE_ALIAS("ip_set_bitmap:ip,mac");
|
MODULE_ALIAS("ip_set_bitmap:ip,mac");
|
||||||
|
|
||||||
#define MTYPE bitmap_ipmac
|
#define MTYPE bitmap_ipmac
|
||||||
|
#define HOST_MASK 32
|
||||||
#define IP_SET_BITMAP_STORED_TIMEOUT
|
#define IP_SET_BITMAP_STORED_TIMEOUT
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
@ -346,7 +347,7 @@ bitmap_ipmac_create(struct net *net, struct ip_set *set, struct nlattr *tb[],
|
||||||
} else if (tb[IPSET_ATTR_CIDR]) {
|
} else if (tb[IPSET_ATTR_CIDR]) {
|
||||||
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
||||||
|
|
||||||
if (cidr >= 32)
|
if (cidr >= HOST_MASK)
|
||||||
return -IPSET_ERR_INVALID_CIDR;
|
return -IPSET_ERR_INVALID_CIDR;
|
||||||
ip_set_mask_from_to(first_ip, last_ip, cidr);
|
ip_set_mask_from_to(first_ip, last_ip, cidr);
|
||||||
} else
|
} else
|
||||||
|
|
|
@ -147,7 +147,7 @@ hash_ip4_uadt(struct ip_set *set, struct nlattr *tb[],
|
||||||
} else if (tb[IPSET_ATTR_CIDR]) {
|
} else if (tb[IPSET_ATTR_CIDR]) {
|
||||||
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
||||||
|
|
||||||
if (!cidr || cidr > 32)
|
if (!cidr || cidr > HOST_MASK)
|
||||||
return -IPSET_ERR_INVALID_CIDR;
|
return -IPSET_ERR_INVALID_CIDR;
|
||||||
ip_set_mask_from_to(ip, ip_to, cidr);
|
ip_set_mask_from_to(ip, ip_to, cidr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,7 +149,7 @@ hash_ipmark4_uadt(struct ip_set *set, struct nlattr *tb[],
|
||||||
} else if (tb[IPSET_ATTR_CIDR]) {
|
} else if (tb[IPSET_ATTR_CIDR]) {
|
||||||
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
||||||
|
|
||||||
if (!cidr || cidr > 32)
|
if (!cidr || cidr > HOST_MASK)
|
||||||
return -IPSET_ERR_INVALID_CIDR;
|
return -IPSET_ERR_INVALID_CIDR;
|
||||||
ip_set_mask_from_to(ip, ip_to, cidr);
|
ip_set_mask_from_to(ip, ip_to, cidr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -170,7 +170,7 @@ hash_ipport4_uadt(struct ip_set *set, struct nlattr *tb[],
|
||||||
} else if (tb[IPSET_ATTR_CIDR]) {
|
} else if (tb[IPSET_ATTR_CIDR]) {
|
||||||
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
||||||
|
|
||||||
if (!cidr || cidr > 32)
|
if (!cidr || cidr > HOST_MASK)
|
||||||
return -IPSET_ERR_INVALID_CIDR;
|
return -IPSET_ERR_INVALID_CIDR;
|
||||||
ip_set_mask_from_to(ip, ip_to, cidr);
|
ip_set_mask_from_to(ip, ip_to, cidr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -176,7 +176,7 @@ hash_ipportip4_uadt(struct ip_set *set, struct nlattr *tb[],
|
||||||
} else if (tb[IPSET_ATTR_CIDR]) {
|
} else if (tb[IPSET_ATTR_CIDR]) {
|
||||||
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
u8 cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
||||||
|
|
||||||
if (!cidr || cidr > 32)
|
if (!cidr || cidr > HOST_MASK)
|
||||||
return -IPSET_ERR_INVALID_CIDR;
|
return -IPSET_ERR_INVALID_CIDR;
|
||||||
ip_set_mask_from_to(ip, ip_to, cidr);
|
ip_set_mask_from_to(ip, ip_to, cidr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -248,7 +248,7 @@ hash_ipportnet4_uadt(struct ip_set *set, struct nlattr *tb[],
|
||||||
} else if (tb[IPSET_ATTR_CIDR]) {
|
} else if (tb[IPSET_ATTR_CIDR]) {
|
||||||
cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
cidr = nla_get_u8(tb[IPSET_ATTR_CIDR]);
|
||||||
|
|
||||||
if (!cidr || cidr > 32)
|
if (!cidr || cidr > HOST_MASK)
|
||||||
return -IPSET_ERR_INVALID_CIDR;
|
return -IPSET_ERR_INVALID_CIDR;
|
||||||
ip_set_mask_from_to(ip, ip_to, cidr);
|
ip_set_mask_from_to(ip, ip_to, cidr);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue