]> git.ipfire.org Git - thirdparty/libnftnl.git/commitdiff
Deprecate untyped data setters
authorPhil Sutter <phil@nwl.cc>
Wed, 30 Oct 2019 17:31:59 +0000 (18:31 +0100)
committerPhil Sutter <phil@nwl.cc>
Thu, 31 Oct 2019 13:57:08 +0000 (14:57 +0100)
These functions make assumptions on size of passed data pointer and
therefore tend to hide programming mistakes. Instead either one of the
type-specific setters or the generic *_set_data() setter should be used.

Signed-off-by: Phil Sutter <phil@nwl.cc>
Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
14 files changed:
include/libnftnl/chain.h
include/libnftnl/flowtable.h
include/libnftnl/gen.h
include/libnftnl/object.h
include/libnftnl/rule.h
include/libnftnl/set.h
include/libnftnl/table.h
src/chain.c
src/flowtable.c
src/gen.c
src/object.c
src/rule.c
src/set.c
src/table.c

index f84a2a3a20f2a9d04cbc515a3590b6f1e3bdadc8..33d04e19b05fad6ef1c9c1cd3d6e94e2b5423680 100644 (file)
@@ -38,7 +38,7 @@ enum nftnl_chain_attr {
 
 bool nftnl_chain_is_set(const struct nftnl_chain *c, uint16_t attr);
 void nftnl_chain_unset(struct nftnl_chain *c, uint16_t attr);
-void nftnl_chain_set(struct nftnl_chain *t, uint16_t attr, const void *data);
+void nftnl_chain_set(struct nftnl_chain *t, uint16_t attr, const void *data) __attribute__((deprecated));
 int nftnl_chain_set_data(struct nftnl_chain *t, uint16_t attr,
                             const void *data, uint32_t data_len);
 void nftnl_chain_set_u8(struct nftnl_chain *t, uint16_t attr, uint8_t data);
index 6f6801803ca52ad3a107939977e4a3b58ad3ed85..028095ec106c5872f7cd5fe3c622604e13edbaa7 100644 (file)
@@ -33,7 +33,7 @@ enum nftnl_flowtable_attr {
 
 bool nftnl_flowtable_is_set(const struct nftnl_flowtable *c, uint16_t attr);
 void nftnl_flowtable_unset(struct nftnl_flowtable *c, uint16_t attr);
-void nftnl_flowtable_set(struct nftnl_flowtable *t, uint16_t attr, const void *data);
+void nftnl_flowtable_set(struct nftnl_flowtable *t, uint16_t attr, const void *data) __attribute__((deprecated));
 int nftnl_flowtable_set_data(struct nftnl_flowtable *t, uint16_t attr,
                             const void *data, uint32_t data_len);
 void nftnl_flowtable_set_u32(struct nftnl_flowtable *t, uint16_t attr, uint32_t data);
index c56a63ca2508bae5766f86fb64f99d9da563d722..846b8e0bc5c4e1de06b1b86ecd1df11d38c4030f 100644 (file)
@@ -25,7 +25,7 @@ enum {
 
 bool nftnl_gen_is_set(const struct nftnl_gen *gen, uint16_t attr);
 void nftnl_gen_unset(struct nftnl_gen *gen, uint16_t attr);
-int nftnl_gen_set(struct nftnl_gen *gen, uint16_t attr, const void *data);
+int nftnl_gen_set(struct nftnl_gen *gen, uint16_t attr, const void *data) __attribute__((deprecated));
 int nftnl_gen_set_data(struct nftnl_gen *gen, uint16_t attr,
                       const void *data, uint32_t data_len);
 const void *nftnl_gen_get(const struct nftnl_gen *gen, uint16_t attr);
index c5ea88e5c3a4165dd00201855a535e7400fd147f..221b15c20988d1fcd78d3141c45ca109df568943 100644 (file)
@@ -124,7 +124,7 @@ bool nftnl_obj_is_set(const struct nftnl_obj *ne, uint16_t attr);
 void nftnl_obj_unset(struct nftnl_obj *ne, uint16_t attr);
 void nftnl_obj_set_data(struct nftnl_obj *ne, uint16_t attr, const void *data,
                        uint32_t data_len);
-void nftnl_obj_set(struct nftnl_obj *ne, uint16_t attr, const void *data);
+void nftnl_obj_set(struct nftnl_obj *ne, uint16_t attr, const void *data) __attribute__((deprecated));
 void nftnl_obj_set_u8(struct nftnl_obj *ne, uint16_t attr, uint8_t val);
 void nftnl_obj_set_u16(struct nftnl_obj *ne, uint16_t attr, uint16_t val);
 void nftnl_obj_set_u32(struct nftnl_obj *ne, uint16_t attr, uint32_t val);
index 78bfead1323681f68af22e40a1ba14ed9acfdf47..e5d1ca0534b7a5a20f55dd60f74bab57e876f96e 100644 (file)
@@ -35,7 +35,7 @@ enum nftnl_rule_attr {
 
 void nftnl_rule_unset(struct nftnl_rule *r, uint16_t attr);
 bool nftnl_rule_is_set(const struct nftnl_rule *r, uint16_t attr);
-int nftnl_rule_set(struct nftnl_rule *r, uint16_t attr, const void *data);
+int nftnl_rule_set(struct nftnl_rule *r, uint16_t attr, const void *data) __attribute__((deprecated));
 int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr,
                        const void *data, uint32_t data_len);
 void nftnl_rule_set_u32(struct nftnl_rule *r, uint16_t attr, uint32_t val);
index 2ea2e9a56ce4fcd9616d59d65f667c094087ffed..db3fa686d60a2678cb57700d3614285d34072d77 100644 (file)
@@ -42,7 +42,7 @@ struct nftnl_set *nftnl_set_clone(const struct nftnl_set *set);
 
 bool nftnl_set_is_set(const struct nftnl_set *s, uint16_t attr);
 void nftnl_set_unset(struct nftnl_set *s, uint16_t attr);
-int nftnl_set_set(struct nftnl_set *s, uint16_t attr, const void *data);
+int nftnl_set_set(struct nftnl_set *s, uint16_t attr, const void *data) __attribute__((deprecated));
 int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data,
                       uint32_t data_len);
 void nftnl_set_set_u32(struct nftnl_set *s, uint16_t attr, uint32_t val);
index 44017c6a9259fa2124fafa5646fd1babe3dbc9ab..5faec8164bf6253b827471e01f9eef9f4bd15dfe 100644 (file)
@@ -29,7 +29,7 @@ enum nftnl_table_attr {
 
 bool nftnl_table_is_set(const struct nftnl_table *t, uint16_t attr);
 void nftnl_table_unset(struct nftnl_table *t, uint16_t attr);
-void nftnl_table_set(struct nftnl_table *t, uint16_t attr, const void *data);
+void nftnl_table_set(struct nftnl_table *t, uint16_t attr, const void *data) __attribute__((deprecated));
 int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr,
                         const void *data, uint32_t data_len);
 const void *nftnl_table_get(const struct nftnl_table *t, uint16_t attr);
index 84e5414f0cee738cad64ff222d7569fb04265e86..d4050d28e77d0db24113514538834e2dfe30b2d9 100644 (file)
@@ -284,7 +284,7 @@ int nftnl_chain_set_data(struct nftnl_chain *c, uint16_t attr,
        return 0;
 }
 
-EXPORT_SYMBOL(nftnl_chain_set);
+void nftnl_chain_set(struct nftnl_chain *c, uint16_t attr, const void *data) __visible;
 void nftnl_chain_set(struct nftnl_chain *c, uint16_t attr, const void *data)
 {
        nftnl_chain_set_data(c, attr, data, nftnl_chain_validate[attr]);
index f9101e849778643071517ff7713ad7278bf75acd..ed91357a8c45ef91c51b45aef3b145c34105de69 100644 (file)
@@ -171,7 +171,7 @@ int nftnl_flowtable_set_data(struct nftnl_flowtable *c, uint16_t attr,
        return 0;
 }
 
-EXPORT_SYMBOL(nftnl_flowtable_set);
+void nftnl_flowtable_set(struct nftnl_flowtable *c, uint16_t attr, const void *data) __visible;
 void nftnl_flowtable_set(struct nftnl_flowtable *c, uint16_t attr, const void *data)
 {
        nftnl_flowtable_set_data(c, attr, data, nftnl_flowtable_validate[attr]);
index 1fc909930d869b106e988e71a317d8749cc468d7..f2ac2ba03b9a4f78bae5ce2866cc52720e32d9bc 100644 (file)
--- a/src/gen.c
+++ b/src/gen.c
@@ -80,7 +80,7 @@ int nftnl_gen_set_data(struct nftnl_gen *gen, uint16_t attr,
        return 0;
 }
 
-EXPORT_SYMBOL(nftnl_gen_set);
+int nftnl_gen_set(struct nftnl_gen *gen, uint16_t attr, const void *data) __visible;
 int nftnl_gen_set(struct nftnl_gen *gen, uint16_t attr, const void *data)
 {
        return nftnl_gen_set_data(gen, attr, data, nftnl_gen_validate[attr]);
index ed8e36df358da24c8d7ab947ba212e5c1fa9a82d..c876addb6532ff34ff6e9ae5cbb43595a940c5d4 100644 (file)
@@ -112,7 +112,7 @@ void nftnl_obj_set_data(struct nftnl_obj *obj, uint16_t attr,
        obj->flags |= (1 << attr);
 }
 
-EXPORT_SYMBOL(nftnl_obj_set);
+void nftnl_obj_set(struct nftnl_obj *obj, uint16_t attr, const void *data) __visible;
 void nftnl_obj_set(struct nftnl_obj *obj, uint16_t attr, const void *data)
 {
        nftnl_obj_set_data(obj, attr, data, nftnl_obj_validate[attr]);
index 8173fcdd863d92fa55f99e1f37a5b28dbd8ab5b4..252410b6e62cb092a67ef312a3b053b34a573b36 100644 (file)
@@ -168,7 +168,7 @@ int nftnl_rule_set_data(struct nftnl_rule *r, uint16_t attr,
        return 0;
 }
 
-EXPORT_SYMBOL(nftnl_rule_set);
+int nftnl_rule_set(struct nftnl_rule *r, uint16_t attr, const void *data) __visible;
 int nftnl_rule_set(struct nftnl_rule *r, uint16_t attr, const void *data)
 {
        return nftnl_rule_set_data(r, attr, data, nftnl_rule_validate[attr]);
index 5e49a6d04f2dc9faa3f89e999d1ff9f5be59e03b..78447c676f51269814e30b3d8381290ee4634193 100644 (file)
--- a/src/set.c
+++ b/src/set.c
@@ -195,7 +195,7 @@ int nftnl_set_set_data(struct nftnl_set *s, uint16_t attr, const void *data,
        return 0;
 }
 
-EXPORT_SYMBOL(nftnl_set_set);
+int nftnl_set_set(struct nftnl_set *s, uint16_t attr, const void *data) __visible;
 int nftnl_set_set(struct nftnl_set *s, uint16_t attr, const void *data)
 {
        return nftnl_set_set_data(s, attr, data, nftnl_set_validate[attr]);
index 54259eec7d0678912e368ae7cd79ce59fff91c4f..adcfafe5ad5767fabba206ab461f5d61e894d532 100644 (file)
@@ -117,7 +117,7 @@ int nftnl_table_set_data(struct nftnl_table *t, uint16_t attr,
        return 0;
 }
 
-EXPORT_SYMBOL(nftnl_table_set);
+void nftnl_table_set(struct nftnl_table *t, uint16_t attr, const void *data) __visible;
 void nftnl_table_set(struct nftnl_table *t, uint16_t attr, const void *data)
 {
        nftnl_table_set_data(t, attr, data, nftnl_table_validate[attr]);