summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2013-06-19 11:46:37 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2013-06-19 11:49:24 +0200
commit33669157102ce46d3727450f40204029b7d63c6b (patch)
tree02cbe7b234862950c572588550d0408b0cd83f97 /src
parent1d1b818f3d6713b0a79bb1c0bda71446f08428af (diff)
set: add missing set/unset support for NFT_SET_ATTR_DATA_[TYPE|LEN]
While at it, use fixed length uint32_t instead of size_t. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src')
-rw-r--r--src/internal.h4
-rw-r--r--src/set.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/src/internal.h b/src/internal.h
index 7c0f8e9..fffca3d 100644
--- a/src/internal.h
+++ b/src/internal.h
@@ -42,9 +42,9 @@ struct nft_set {
char *table;
char *name;
uint32_t key_type;
- size_t key_len;
+ uint32_t key_len;
uint32_t data_type;
- size_t data_len;
+ uint32_t data_len;
struct list_head element_list;
uint32_t flags;
diff --git a/src/set.c b/src/set.c
index 8abbca4..b8d431e 100644
--- a/src/set.c
+++ b/src/set.c
@@ -82,6 +82,8 @@ void nft_set_attr_unset(struct nft_set *s, uint16_t attr)
case NFT_SET_ATTR_FLAGS:
case NFT_SET_ATTR_KEY_TYPE:
case NFT_SET_ATTR_KEY_LEN:
+ case NFT_SET_ATTR_DATA_TYPE:
+ case NFT_SET_ATTR_DATA_LEN:
case NFT_SET_ATTR_FAMILY:
break;
default:
@@ -116,6 +118,12 @@ void nft_set_attr_set(struct nft_set *s, uint16_t attr, const void *data)
case NFT_SET_ATTR_KEY_LEN:
s->key_len = *((uint32_t *)data);
break;
+ case NFT_SET_ATTR_DATA_TYPE:
+ s->data_type = *((uint32_t *)data);
+ break;
+ case NFT_SET_ATTR_DATA_LEN:
+ s->data_len = *((uint32_t *)data);
+ break;
case NFT_SET_ATTR_FAMILY:
s->family = *((uint32_t *)data);
break;