summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-09-19 20:11:27 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-09-19 22:54:25 +0200
commit628203491deffcf01ee010152419ced8f549e57e (patch)
tree4df452f38817f1babcfa3b3b368f9d83db8a49b3 /src
parent8cabd12d31c1f02ab67bd6e2ecf32f005b2a6f87 (diff)
src: replace size_t by uint32_t in set/get interfaces
This patch breaks the ABI to shrink the size parameter from 8 to 4 bytes in x86_64. The maximum length of netlink attributes is 2 bytes, so 4 bytes as attribute payload length should be enough. After this patch, size_t is only used in the nft_*_snprintf interfaces. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r--src/expr.c14
-rw-r--r--src/expr/bitwise.c4
-rw-r--r--src/expr/byteorder.c4
-rw-r--r--src/expr/cmp.c4
-rw-r--r--src/expr/counter.c4
-rw-r--r--src/expr/ct.c4
-rw-r--r--src/expr/data_reg.c6
-rw-r--r--src/expr/data_reg.h2
-rw-r--r--src/expr/exthdr.c4
-rw-r--r--src/expr/immediate.c4
-rw-r--r--src/expr/limit.c4
-rw-r--r--src/expr/log.c4
-rw-r--r--src/expr/lookup.c4
-rw-r--r--src/expr/match.c4
-rw-r--r--src/expr/meta.c4
-rw-r--r--src/expr/nat.c4
-rw-r--r--src/expr/payload.c4
-rw-r--r--src/expr/target.c4
-rw-r--r--src/expr_ops.h6
-rw-r--r--src/set_elem.c8
20 files changed, 48 insertions, 48 deletions
diff --git a/src/expr.c b/src/expr.c
index d565637..2605029 100644
--- a/src/expr.c
+++ b/src/expr.c
@@ -61,7 +61,7 @@ EXPORT_SYMBOL(nft_rule_expr_is_set);
void
nft_rule_expr_set(struct nft_rule_expr *expr, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
switch(type) {
case NFT_RULE_EXPR_ATTR_NAME: /* cannot be modified */
@@ -110,7 +110,7 @@ nft_rule_expr_set_str(struct nft_rule_expr *expr, uint16_t type, const char *str
EXPORT_SYMBOL(nft_rule_expr_set_str);
const void *nft_rule_expr_get(const struct nft_rule_expr *expr,
- uint16_t type, size_t *data_len)
+ uint16_t type, uint32_t *data_len)
{
const void *ret;
@@ -133,7 +133,7 @@ EXPORT_SYMBOL(nft_rule_expr_get);
uint8_t nft_rule_expr_get_u8(const struct nft_rule_expr *expr, uint16_t type)
{
const void *data;
- size_t data_len;
+ uint32_t data_len;
data = nft_rule_expr_get(expr, type, &data_len);
if (data == NULL)
@@ -149,7 +149,7 @@ EXPORT_SYMBOL(nft_rule_expr_get_u8);
uint16_t nft_rule_expr_get_u16(const struct nft_rule_expr *expr, uint16_t type)
{
const void *data;
- size_t data_len;
+ uint32_t data_len;
data = nft_rule_expr_get(expr, type, &data_len);
if (data == NULL)
@@ -165,7 +165,7 @@ EXPORT_SYMBOL(nft_rule_expr_get_u16);
uint32_t nft_rule_expr_get_u32(const struct nft_rule_expr *expr, uint16_t type)
{
const void *data;
- size_t data_len;
+ uint32_t data_len;
data = nft_rule_expr_get(expr, type, &data_len);
if (data == NULL)
@@ -181,7 +181,7 @@ EXPORT_SYMBOL(nft_rule_expr_get_u32);
uint64_t nft_rule_expr_get_u64(const struct nft_rule_expr *expr, uint16_t type)
{
const void *data;
- size_t data_len;
+ uint32_t data_len;
data = nft_rule_expr_get(expr, type, &data_len);
if (data == NULL)
@@ -196,7 +196,7 @@ EXPORT_SYMBOL(nft_rule_expr_get_u64);
const char *nft_rule_expr_get_str(const struct nft_rule_expr *expr, uint16_t type)
{
- size_t data_len;
+ uint32_t data_len;
return (const char *)nft_rule_expr_get(expr, type, &data_len);
}
diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c
index 9d521b1..f293069 100644
--- a/src/expr/bitwise.c
+++ b/src/expr/bitwise.c
@@ -33,7 +33,7 @@ struct nft_expr_bitwise {
static int
nft_rule_expr_bitwise_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_bitwise *bitwise = nft_expr_data(e);
@@ -63,7 +63,7 @@ nft_rule_expr_bitwise_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_bitwise_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_bitwise *bitwise = nft_expr_data(e);
diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c
index 1034a31..f05ddb5 100644
--- a/src/expr/byteorder.c
+++ b/src/expr/byteorder.c
@@ -33,7 +33,7 @@ struct nft_expr_byteorder {
static int
nft_rule_expr_byteorder_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_byteorder *byteorder = nft_expr_data(e);
@@ -61,7 +61,7 @@ nft_rule_expr_byteorder_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_byteorder_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_byteorder *byteorder = nft_expr_data(e);
diff --git a/src/expr/cmp.c b/src/expr/cmp.c
index b9f0f6a..c6789b6 100644
--- a/src/expr/cmp.c
+++ b/src/expr/cmp.c
@@ -32,7 +32,7 @@ struct nft_expr_cmp {
static int
nft_rule_expr_cmp_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_cmp *cmp = nft_expr_data(e);
@@ -55,7 +55,7 @@ nft_rule_expr_cmp_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_cmp_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_cmp *cmp = nft_expr_data(e);
diff --git a/src/expr/counter.c b/src/expr/counter.c
index 971b5b1..bba9261 100644
--- a/src/expr/counter.c
+++ b/src/expr/counter.c
@@ -30,7 +30,7 @@ struct nft_expr_counter {
static int
nft_rule_expr_counter_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_counter *ctr = nft_expr_data(e);
@@ -49,7 +49,7 @@ nft_rule_expr_counter_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_counter_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_counter *ctr = nft_expr_data(e);
diff --git a/src/expr/ct.c b/src/expr/ct.c
index 2fc6629..ccefa1b 100644
--- a/src/expr/ct.c
+++ b/src/expr/ct.c
@@ -37,7 +37,7 @@ struct nft_expr_ct {
static int
nft_rule_expr_ct_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_ct *ct = nft_expr_data(e);
@@ -59,7 +59,7 @@ nft_rule_expr_ct_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_ct_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_ct *ct = nft_expr_data(e);
diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c
index 64a6c16..2b9ecee 100644
--- a/src/expr/data_reg.c
+++ b/src/expr/data_reg.c
@@ -219,7 +219,7 @@ nft_data_reg_value_snprintf_json(char *buf, size_t size,
ret = snprintf(buf, len, "\"data_reg\": { \"type\" : \"value\", ");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = snprintf(buf+offset, len, "\"len\" : %zd, ", reg->len);
+ ret = snprintf(buf+offset, len, "\"len\" : %u, ", reg->len);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
for (i = 0; i < div_round_up(reg->len, sizeof(uint32_t)); i++) {
@@ -255,7 +255,7 @@ int nft_data_reg_value_snprintf_xml(char *buf, size_t size,
ret = snprintf(buf, len, "<data_reg type=\"value\">");
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
- ret = snprintf(buf+offset, len, "<len>%zd</len>", reg->len);
+ ret = snprintf(buf+offset, len, "<len>%u</len>", reg->len);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
for (i = 0; i < div_round_up(reg->len, sizeof(uint32_t)); i++) {
@@ -452,7 +452,7 @@ static int
__nft_parse_data(union nft_data_reg *data, const struct nlattr *attr)
{
void *orig = mnl_attr_get_payload(attr);
- size_t data_len = mnl_attr_get_payload_len(attr);
+ uint32_t data_len = mnl_attr_get_payload_len(attr);
if (data_len == 0)
return -1;
diff --git a/src/expr/data_reg.h b/src/expr/data_reg.h
index 98c3a4c..8a6a235 100644
--- a/src/expr/data_reg.h
+++ b/src/expr/data_reg.h
@@ -11,7 +11,7 @@ enum {
union nft_data_reg {
struct {
uint32_t val[4];
- size_t len;
+ uint32_t len;
};
struct {
int verdict;
diff --git a/src/expr/exthdr.c b/src/expr/exthdr.c
index 9ca66e5..1290f3f 100644
--- a/src/expr/exthdr.c
+++ b/src/expr/exthdr.c
@@ -39,7 +39,7 @@ struct nft_expr_exthdr {
static int
nft_rule_expr_exthdr_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_exthdr *exthdr = nft_expr_data(e);
@@ -64,7 +64,7 @@ nft_rule_expr_exthdr_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_exthdr_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_exthdr *exthdr = nft_expr_data(e);
diff --git a/src/expr/immediate.c b/src/expr/immediate.c
index facb8f5..e824801 100644
--- a/src/expr/immediate.c
+++ b/src/expr/immediate.c
@@ -29,7 +29,7 @@ struct nft_expr_immediate {
static int
nft_rule_expr_immediate_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_immediate *imm = nft_expr_data(e);
@@ -58,7 +58,7 @@ nft_rule_expr_immediate_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_immediate_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_immediate *imm = nft_expr_data(e);
diff --git a/src/expr/limit.c b/src/expr/limit.c
index 6c06ce5..6954014 100644
--- a/src/expr/limit.c
+++ b/src/expr/limit.c
@@ -30,7 +30,7 @@ struct nft_expr_limit {
static int
nft_rule_expr_limit_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_limit *limit = nft_expr_data(e);
@@ -49,7 +49,7 @@ nft_rule_expr_limit_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_limit_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_limit *limit = nft_expr_data(e);
diff --git a/src/expr/log.c b/src/expr/log.c
index feb4184..0a8e86c 100644
--- a/src/expr/log.c
+++ b/src/expr/log.c
@@ -30,7 +30,7 @@ struct nft_expr_log {
};
static int nft_rule_expr_log_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_log *log = nft_expr_data(e);
@@ -58,7 +58,7 @@ static int nft_rule_expr_log_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_log_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_log *log = nft_expr_data(e);
diff --git a/src/expr/lookup.c b/src/expr/lookup.c
index b9b0229..1f10e15 100644
--- a/src/expr/lookup.c
+++ b/src/expr/lookup.c
@@ -35,7 +35,7 @@ struct nft_expr_lookup {
static int
nft_rule_expr_lookup_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_lookup *lookup = nft_expr_data(e);
@@ -58,7 +58,7 @@ nft_rule_expr_lookup_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_lookup_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_lookup *lookup = nft_expr_data(e);
diff --git a/src/expr/match.c b/src/expr/match.c
index 9f98462..91e59ff 100644
--- a/src/expr/match.c
+++ b/src/expr/match.c
@@ -36,7 +36,7 @@ struct nft_expr_match {
static int
nft_rule_expr_match_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_match *mt = nft_expr_data(e);
@@ -63,7 +63,7 @@ nft_rule_expr_match_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_match_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_match *mt = nft_expr_data(e);
diff --git a/src/expr/meta.c b/src/expr/meta.c
index 91a689e..98d83b0 100644
--- a/src/expr/meta.c
+++ b/src/expr/meta.c
@@ -33,7 +33,7 @@ struct nft_expr_meta {
static int
nft_rule_expr_meta_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_meta *meta = nft_expr_data(e);
@@ -52,7 +52,7 @@ nft_rule_expr_meta_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_meta_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_meta *meta = nft_expr_data(e);
diff --git a/src/expr/nat.c b/src/expr/nat.c
index da28ede..3c40b93 100644
--- a/src/expr/nat.c
+++ b/src/expr/nat.c
@@ -35,7 +35,7 @@ struct nft_expr_nat {
static int
nft_rule_expr_nat_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_nat *nat = nft_expr_data(e);
@@ -67,7 +67,7 @@ nft_rule_expr_nat_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_nat_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_nat *nat = nft_expr_data(e);
diff --git a/src/expr/payload.c b/src/expr/payload.c
index 2b9f5e0..d76e2c4 100644
--- a/src/expr/payload.c
+++ b/src/expr/payload.c
@@ -35,7 +35,7 @@ struct nft_expr_payload {
static int
nft_rule_expr_payload_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_payload *payload = nft_expr_data(e);
@@ -60,7 +60,7 @@ nft_rule_expr_payload_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_payload_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_payload *payload = nft_expr_data(e);
diff --git a/src/expr/target.c b/src/expr/target.c
index 8dc752a..19eedde 100644
--- a/src/expr/target.c
+++ b/src/expr/target.c
@@ -36,7 +36,7 @@ struct nft_expr_target {
static int
nft_rule_expr_target_set(struct nft_rule_expr *e, uint16_t type,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
struct nft_expr_target *tg = nft_expr_data(e);
@@ -63,7 +63,7 @@ nft_rule_expr_target_set(struct nft_rule_expr *e, uint16_t type,
static const void *
nft_rule_expr_target_get(const struct nft_rule_expr *e, uint16_t type,
- size_t *data_len)
+ uint32_t *data_len)
{
struct nft_expr_target *tg = nft_expr_data(e);
diff --git a/src/expr_ops.h b/src/expr_ops.h
index 12973ce..becc85a 100644
--- a/src/expr_ops.h
+++ b/src/expr_ops.h
@@ -21,10 +21,10 @@ struct expr_ops {
struct list_head head;
const char *name;
- size_t alloc_len;
+ uint32_t alloc_len;
int max_attr;
- int (*set)(struct nft_rule_expr *e, uint16_t type, const void *data, size_t data_len);
- const void *(*get)(const struct nft_rule_expr *e, uint16_t type, size_t *data_len);
+ int (*set)(struct nft_rule_expr *e, uint16_t type, const void *data, uint32_t data_len);
+ const void *(*get)(const struct nft_rule_expr *e, uint16_t type, uint32_t *data_len);
int (*parse)(struct nft_rule_expr *e, struct nlattr *attr);
void (*build)(struct nlmsghdr *nlh, struct nft_rule_expr *e);
int (*snprintf)(char *buf, size_t len, uint32_t type, uint32_t flags, struct nft_rule_expr *e);
diff --git a/src/set_elem.c b/src/set_elem.c
index ec4a1a6..a9e0751 100644
--- a/src/set_elem.c
+++ b/src/set_elem.c
@@ -77,7 +77,7 @@ void nft_set_elem_attr_unset(struct nft_set_elem *s, uint16_t attr)
EXPORT_SYMBOL(nft_set_elem_attr_unset);
void nft_set_elem_attr_set(struct nft_set_elem *s, uint16_t attr,
- const void *data, size_t data_len)
+ const void *data, uint32_t data_len)
{
switch(attr) {
case NFT_SET_ELEM_ATTR_FLAGS:
@@ -119,7 +119,7 @@ void nft_set_elem_attr_set_str(struct nft_set_elem *s, uint16_t attr, const char
}
EXPORT_SYMBOL(nft_set_elem_attr_set_str);
-const void *nft_set_elem_attr_get(struct nft_set_elem *s, uint16_t attr, size_t *data_len)
+const void *nft_set_elem_attr_get(struct nft_set_elem *s, uint16_t attr, uint32_t *data_len)
{
if (!(s->flags & (1 << attr)))
return NULL;
@@ -144,7 +144,7 @@ EXPORT_SYMBOL(nft_set_elem_attr_get);
const char *nft_set_elem_attr_get_str(struct nft_set_elem *s, uint16_t attr)
{
- size_t size;
+ uint32_t size;
return nft_set_elem_attr_get(s, attr, &size);
}
@@ -152,7 +152,7 @@ EXPORT_SYMBOL(nft_set_elem_attr_get_str);
uint32_t nft_set_elem_attr_get_u32(struct nft_set_elem *s, uint16_t attr)
{
- size_t size;
+ uint32_t size;
uint32_t val = *((uint32_t *)nft_set_elem_attr_get(s, attr, &size));
return val;
}