kumquat-buildroot/package/libnftnl/libnftnl-0001-rename-xfree.patch
Gustavo Zacarias d081d439c9 libnftnl: bump to version 1.0.3
Also add hash file.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-16 23:49:03 +01:00

551 lines
14 KiB
Diff

Rename xfree() to libnftnl_xfree() to avoid symbol naming conflict
When ELF binaries and shared libraries are used, the internal
functions of libnftnl such as xfree() are not visible to the outside
world (their visibility is 'hidden'). Therefore, the fact that other
programs (especially nftables) may have symbols with the same name
does not cause any problem.
However, when doing static linking on a non-ELF platform (such as
Blackfin, which uses the FLAT binary format), there is no way of
encoding this visibility. Therefore, the xfree() symbols of libnftnl
becomes visible to the outside world, causing a conflict with the
xfree() symbol defined by nftables.
To solve this, this patch renames the libnftnl xfree() function to
libnftnl_xfree().
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
[Gustavo: update for version 1.0.3]
diff -Nura libnftnl-1.0.3.orig/src/chain.c libnftnl-1.0.3/src/chain.c
--- libnftnl-1.0.3.orig/src/chain.c 2014-12-16 08:16:44.082395482 -0300
+++ libnftnl-1.0.3/src/chain.c 2014-12-16 08:17:05.994151598 -0300
@@ -89,11 +89,11 @@
void nft_chain_free(struct nft_chain *c)
{
if (c->table != NULL)
- xfree(c->table);
+ nftnl_xfree(c->table);
if (c->type != NULL)
- xfree(c->type);
+ nftnl_xfree(c->type);
- xfree(c);
+ nftnl_xfree(c);
}
EXPORT_SYMBOL(nft_chain_free);
@@ -111,7 +111,7 @@
switch (attr) {
case NFT_CHAIN_ATTR_TABLE:
if (c->table) {
- xfree(c->table);
+ nftnl_xfree(c->table);
c->table = NULL;
}
break;
@@ -119,7 +119,7 @@
break;
case NFT_CHAIN_ATTR_TYPE:
if (c->type) {
- xfree(c->type);
+ nftnl_xfree(c->type);
c->type = NULL;
}
break;
@@ -164,7 +164,7 @@
break;
case NFT_CHAIN_ATTR_TABLE:
if (c->table)
- xfree(c->table);
+ nftnl_xfree(c->table);
c->table = strdup(data);
break;
@@ -194,7 +194,7 @@
break;
case NFT_CHAIN_ATTR_TYPE:
if (c->type)
- xfree(c->type);
+ nftnl_xfree(c->type);
c->type = strdup(data);
break;
@@ -915,7 +915,7 @@
list_del(&r->head);
nft_chain_free(r);
}
- xfree(list);
+ nftnl_xfree(list);
}
EXPORT_SYMBOL(nft_chain_list_free);
@@ -994,6 +994,6 @@
void nft_chain_list_iter_destroy(struct nft_chain_list_iter *iter)
{
- xfree(iter);
+ nftnl_xfree(iter);
}
EXPORT_SYMBOL(nft_chain_list_iter_destroy);
diff -Nura libnftnl-1.0.3.orig/src/common.c libnftnl-1.0.3/src/common.c
--- libnftnl-1.0.3.orig/src/common.c 2014-12-16 08:16:44.082395482 -0300
+++ libnftnl-1.0.3/src/common.c 2014-12-16 08:17:05.997151702 -0300
@@ -48,7 +48,7 @@
void nft_parse_err_free(struct nft_parse_err *err)
{
- xfree(err);
+ nftnl_xfree(err);
}
EXPORT_SYMBOL(nft_parse_err_free);
diff -Nura libnftnl-1.0.3.orig/src/expr/data_reg.c libnftnl-1.0.3/src/expr/data_reg.c
--- libnftnl-1.0.3.orig/src/expr/data_reg.c 2014-12-16 08:16:44.083395516 -0300
+++ libnftnl-1.0.3/src/expr/data_reg.c 2014-12-16 08:17:06.055153703 -0300
@@ -130,7 +130,7 @@
NFT_XML_OPT, err);
if (chain != NULL) {
if (reg->chain)
- xfree(reg->chain);
+ nftnl_xfree(reg->chain);
reg->chain = strdup(chain);
}
diff -Nura libnftnl-1.0.3.orig/src/expr/immediate.c libnftnl-1.0.3/src/expr/immediate.c
--- libnftnl-1.0.3.orig/src/expr/immediate.c 2014-12-16 08:16:44.083395516 -0300
+++ libnftnl-1.0.3/src/expr/immediate.c 2014-12-16 08:17:06.052153599 -0300
@@ -47,7 +47,7 @@
break;
case NFT_EXPR_IMM_CHAIN:
if (imm->data.chain)
- xfree(imm->data.chain);
+ nftnl_xfree(imm->data.chain);
imm->data.chain = strdup(data);
break;
diff -Nura libnftnl-1.0.3.orig/src/expr/log.c libnftnl-1.0.3/src/expr/log.c
--- libnftnl-1.0.3.orig/src/expr/log.c 2014-12-16 08:16:44.083395516 -0300
+++ libnftnl-1.0.3/src/expr/log.c 2014-12-16 08:17:06.038153116 -0300
@@ -40,7 +40,7 @@
switch(type) {
case NFT_EXPR_LOG_PREFIX:
if (log->prefix)
- xfree(log->prefix);
+ nftnl_xfree(log->prefix);
log->prefix = strdup(data);
break;
@@ -154,7 +154,7 @@
if (tb[NFTA_LOG_PREFIX]) {
if (log->prefix)
- xfree(log->prefix);
+ nftnl_xfree(log->prefix);
log->prefix = strdup(mnl_attr_get_str(tb[NFTA_LOG_PREFIX]));
e->flags |= (1 << NFT_EXPR_LOG_PREFIX);
@@ -331,7 +331,7 @@
{
struct nft_expr_log *log = nft_expr_data(e);
- xfree(log->prefix);
+ nftnl_xfree(log->prefix);
}
struct expr_ops expr_ops_log = {
diff -Nura libnftnl-1.0.3.orig/src/expr/match.c libnftnl-1.0.3/src/expr/match.c
--- libnftnl-1.0.3.orig/src/expr/match.c 2014-12-16 08:16:44.083395516 -0300
+++ libnftnl-1.0.3/src/expr/match.c 2014-12-16 08:17:06.043153289 -0300
@@ -53,7 +53,7 @@
break;
case NFT_EXPR_MT_INFO:
if (mt->data)
- xfree(mt->data);
+ nftnl_xfree(mt->data);
mt->data = data;
mt->data_len = data_len;
@@ -150,7 +150,7 @@
void *match_data;
if (match->data)
- xfree(match->data);
+ nftnl_xfree(match->data);
match_data = calloc(1, len);
if (match_data == NULL)
@@ -240,7 +240,7 @@
{
struct nft_expr_match *match = nft_expr_data(e);
- xfree(match->data);
+ nftnl_xfree(match->data);
}
struct expr_ops expr_ops_match = {
diff -Nura libnftnl-1.0.3.orig/src/expr/target.c libnftnl-1.0.3/src/expr/target.c
--- libnftnl-1.0.3.orig/src/expr/target.c 2014-12-16 08:16:44.083395516 -0300
+++ libnftnl-1.0.3/src/expr/target.c 2014-12-16 08:17:06.026152702 -0300
@@ -53,7 +53,7 @@
break;
case NFT_EXPR_TG_INFO:
if (tg->data)
- xfree(tg->data);
+ nftnl_xfree(tg->data);
tg->data = data;
tg->data_len = data_len;
@@ -150,7 +150,7 @@
void *target_data;
if (target->data)
- xfree(target->data);
+ nftnl_xfree(target->data);
target_data = calloc(1, len);
if (target_data == NULL)
@@ -241,7 +241,7 @@
{
struct nft_expr_target *target = nft_expr_data(e);
- xfree(target->data);
+ nftnl_xfree(target->data);
}
struct expr_ops expr_ops_target = {
diff -Nura libnftnl-1.0.3.orig/src/expr.c libnftnl-1.0.3/src/expr.c
--- libnftnl-1.0.3.orig/src/expr.c 2014-12-16 08:16:44.082395482 -0300
+++ libnftnl-1.0.3/src/expr.c 2014-12-16 08:17:05.996151667 -0300
@@ -52,7 +52,7 @@
if (expr->ops->free)
expr->ops->free(expr);
- xfree(expr);
+ nftnl_xfree(expr);
}
EXPORT_SYMBOL(nft_rule_expr_free);
diff -Nura libnftnl-1.0.3.orig/src/gen.c libnftnl-1.0.3/src/gen.c
--- libnftnl-1.0.3.orig/src/gen.c 2014-12-16 08:16:44.082395482 -0300
+++ libnftnl-1.0.3/src/gen.c 2014-12-16 08:17:05.999151770 -0300
@@ -37,7 +37,7 @@
void nft_gen_free(struct nft_gen *gen)
{
- xfree(gen);
+ nftnl_xfree(gen);
}
EXPORT_SYMBOL(nft_gen_free);
diff -Nura libnftnl-1.0.3.orig/src/internal.h libnftnl-1.0.3/src/internal.h
--- libnftnl-1.0.3.orig/src/internal.h 2014-12-16 08:16:44.083395516 -0300
+++ libnftnl-1.0.3/src/internal.h 2014-12-16 08:17:06.014152288 -0300
@@ -16,7 +16,7 @@
#include <libnftnl/common.h>
#include <linux/netfilter/nf_tables.h>
-#define xfree(ptr) free((void *)ptr);
+#define nftnl_xfree(ptr) free((void *)ptr);
#define BASE_DEC 10
#define BASE_HEX 16
diff -Nura libnftnl-1.0.3.orig/src/mxml.c libnftnl-1.0.3/src/mxml.c
--- libnftnl-1.0.3.orig/src/mxml.c 2014-12-16 08:16:44.084395550 -0300
+++ libnftnl-1.0.3/src/mxml.c 2014-12-16 08:17:06.079154531 -0300
@@ -84,7 +84,7 @@
goto err_expr;
tree = mxmlLoadString(NULL, xml_text, MXML_OPAQUE_CALLBACK);
- xfree(xml_text);
+ nftnl_xfree(xml_text);
if (tree == NULL)
goto err_expr;
diff -Nura libnftnl-1.0.3.orig/src/rule.c libnftnl-1.0.3/src/rule.c
--- libnftnl-1.0.3.orig/src/rule.c 2014-12-16 08:16:44.083395516 -0300
+++ libnftnl-1.0.3/src/rule.c 2014-12-16 08:17:06.062153945 -0300
@@ -75,11 +75,11 @@
nft_rule_expr_free(e);
if (r->table != NULL)
- xfree(r->table);
+ nftnl_xfree(r->table);
if (r->chain != NULL)
- xfree(r->chain);
+ nftnl_xfree(r->chain);
- xfree(r);
+ nftnl_xfree(r);
}
EXPORT_SYMBOL(nft_rule_free);
@@ -97,13 +97,13 @@
switch (attr) {
case NFT_RULE_ATTR_TABLE:
if (r->table) {
- xfree(r->table);
+ nftnl_xfree(r->table);
r->table = NULL;
}
break;
case NFT_RULE_ATTR_CHAIN:
if (r->chain) {
- xfree(r->chain);
+ nftnl_xfree(r->chain);
r->chain = NULL;
}
break;
@@ -139,13 +139,13 @@
switch(attr) {
case NFT_RULE_ATTR_TABLE:
if (r->table)
- xfree(r->table);
+ nftnl_xfree(r->table);
r->table = strdup(data);
break;
case NFT_RULE_ATTR_CHAIN:
if (r->chain)
- xfree(r->chain);
+ nftnl_xfree(r->chain);
r->chain = strdup(data);
break;
@@ -395,7 +395,7 @@
if (tb[NFTA_EXPR_DATA]) {
if (expr->ops->parse(expr, tb[NFTA_EXPR_DATA]) < 0) {
- xfree(expr);
+ nftnl_xfree(expr);
return -1;
}
}
@@ -491,7 +491,7 @@
mnl_attr_get_payload(tb[NFTA_RULE_USERDATA]);
if (r->user.data)
- xfree(r->user.data);
+ nftnl_xfree(r->user.data);
r->user.len = mnl_attr_get_payload_len(tb[NFTA_RULE_USERDATA]);
@@ -1064,7 +1064,7 @@
void nft_rule_expr_iter_destroy(struct nft_rule_expr_iter *iter)
{
- xfree(iter);
+ nftnl_xfree(iter);
}
EXPORT_SYMBOL(nft_rule_expr_iter_destroy);
@@ -1094,7 +1094,7 @@
list_del(&r->head);
nft_rule_free(r);
}
- xfree(list);
+ nftnl_xfree(list);
}
EXPORT_SYMBOL(nft_rule_list_free);
@@ -1179,6 +1179,6 @@
void nft_rule_list_iter_destroy(struct nft_rule_list_iter *iter)
{
- xfree(iter);
+ nftnl_xfree(iter);
}
EXPORT_SYMBOL(nft_rule_list_iter_destroy);
diff -Nura libnftnl-1.0.3.orig/src/ruleset.c libnftnl-1.0.3/src/ruleset.c
--- libnftnl-1.0.3.orig/src/ruleset.c 2014-12-16 08:16:44.083395516 -0300
+++ libnftnl-1.0.3/src/ruleset.c 2014-12-16 08:17:06.008152081 -0300
@@ -48,7 +48,7 @@
nft_set_list_free(r->set_list);
if (r->flags & (1 << NFT_RULESET_ATTR_RULELIST))
nft_rule_list_free(r->rule_list);
- xfree(r);
+ nftnl_xfree(r);
}
EXPORT_SYMBOL(nft_ruleset_free);
diff -Nura libnftnl-1.0.3.orig/src/set.c libnftnl-1.0.3/src/set.c
--- libnftnl-1.0.3.orig/src/set.c 2014-12-16 08:16:44.084395550 -0300
+++ libnftnl-1.0.3/src/set.c 2014-12-16 08:17:06.077154462 -0300
@@ -47,15 +47,15 @@
struct nft_set_elem *elem, *tmp;
if (s->table != NULL)
- xfree(s->table);
+ nftnl_xfree(s->table);
if (s->name != NULL)
- xfree(s->name);
+ nftnl_xfree(s->name);
list_for_each_entry_safe(elem, tmp, &s->element_list, head) {
list_del(&elem->head);
nft_set_elem_free(elem);
}
- xfree(s);
+ nftnl_xfree(s);
}
EXPORT_SYMBOL(nft_set_free);
@@ -71,14 +71,14 @@
case NFT_SET_ATTR_TABLE:
if (s->flags & (1 << NFT_SET_ATTR_TABLE))
if (s->table) {
- xfree(s->table);
+ nftnl_xfree(s->table);
s->table = NULL;
}
break;
case NFT_SET_ATTR_NAME:
if (s->flags & (1 << NFT_SET_ATTR_NAME))
if (s->name) {
- xfree(s->name);
+ nftnl_xfree(s->name);
s->name = NULL;
}
break;
@@ -122,13 +122,13 @@
switch(attr) {
case NFT_SET_ATTR_TABLE:
if (s->table)
- xfree(s->table);
+ nftnl_xfree(s->table);
s->table = strdup(data);
break;
case NFT_SET_ATTR_NAME:
if (s->name)
- xfree(s->name);
+ nftnl_xfree(s->name);
s->name = strdup(data);
break;
@@ -963,7 +963,7 @@
list_del(&s->head);
nft_set_free(s);
}
- xfree(list);
+ nftnl_xfree(list);
}
EXPORT_SYMBOL(nft_set_list_free);
@@ -1047,7 +1047,7 @@
void nft_set_list_iter_destroy(struct nft_set_list_iter *iter)
{
- xfree(iter);
+ nftnl_xfree(iter);
}
EXPORT_SYMBOL(nft_set_list_iter_destroy);
diff -Nura libnftnl-1.0.3.orig/src/set_elem.c libnftnl-1.0.3/src/set_elem.c
--- libnftnl-1.0.3.orig/src/set_elem.c 2014-12-16 08:16:44.084395550 -0300
+++ libnftnl-1.0.3/src/set_elem.c 2014-12-16 08:17:06.072154290 -0300
@@ -44,11 +44,11 @@
{
if (s->flags & (1 << NFT_SET_ELEM_ATTR_CHAIN)) {
if (s->data.chain) {
- xfree(s->data.chain);
+ nftnl_xfree(s->data.chain);
s->data.chain = NULL;
}
}
- xfree(s);
+ nftnl_xfree(s);
}
EXPORT_SYMBOL(nft_set_elem_free);
@@ -64,7 +64,7 @@
case NFT_SET_ELEM_ATTR_CHAIN:
if (s->flags & (1 << NFT_SET_ELEM_ATTR_CHAIN)) {
if (s->data.chain) {
- xfree(s->data.chain);
+ nftnl_xfree(s->data.chain);
s->data.chain = NULL;
}
}
@@ -98,7 +98,7 @@
break;
case NFT_SET_ELEM_ATTR_CHAIN: /* NFTA_SET_ELEM_DATA */
if (s->data.chain)
- xfree(s->data.chain);
+ nftnl_xfree(s->data.chain);
s->data.chain = strdup(data);
break;
@@ -716,7 +716,7 @@
void nft_set_elems_iter_destroy(struct nft_set_elems_iter *iter)
{
- xfree(iter);
+ nftnl_xfree(iter);
}
EXPORT_SYMBOL(nft_set_elems_iter_destroy);
diff -Nura libnftnl-1.0.3.orig/src/table.c libnftnl-1.0.3/src/table.c
--- libnftnl-1.0.3.orig/src/table.c 2014-12-16 08:16:44.082395482 -0300
+++ libnftnl-1.0.3/src/table.c 2014-12-16 08:17:06.001151840 -0300
@@ -45,9 +45,9 @@
void nft_table_free(struct nft_table *t)
{
if (t->flags & (1 << NFT_TABLE_ATTR_NAME))
- xfree(t->name);
+ nftnl_xfree(t->name);
- xfree(t);
+ nftnl_xfree(t);
}
EXPORT_SYMBOL(nft_table_free);
@@ -65,7 +65,7 @@
switch (attr) {
case NFT_TABLE_ATTR_NAME:
if (t->name) {
- xfree(t->name);
+ nftnl_xfree(t->name);
t->name = NULL;
}
break;
@@ -95,7 +95,7 @@
switch (attr) {
case NFT_TABLE_ATTR_NAME:
if (t->name)
- xfree(t->name);
+ nftnl_xfree(t->name);
t->name = strdup(data);
break;
@@ -486,7 +486,7 @@
list_del(&r->head);
nft_table_free(r);
}
- xfree(list);
+ nftnl_xfree(list);
}
EXPORT_SYMBOL(nft_table_list_free);
@@ -565,6 +565,6 @@
void nft_table_list_iter_destroy(struct nft_table_list_iter *iter)
{
- xfree(iter);
+ nftnl_xfree(iter);
}
EXPORT_SYMBOL(nft_table_list_iter_destroy);
diff -Nura libnftnl-1.0.3.orig/src/utils.c libnftnl-1.0.3/src/utils.c
--- libnftnl-1.0.3.orig/src/utils.c 2014-12-16 08:16:44.083395516 -0300
+++ libnftnl-1.0.3/src/utils.c 2014-12-16 08:17:06.064154014 -0300
@@ -206,7 +206,7 @@
out:
if (buf != _buf)
- xfree(buf);
+ nftnl_xfree(buf);
return ret;
}