package/connman: fix crash due to iptables 1.6.0 update

iptables was updated to version 1.6.0 in commit
https://git.busybox.net/buildroot/commit/?id=35dc775 however, connman
1.31 crashes when iptables 1.6.0 is used.

This issues has already been fixed upstream but is not currently available
in a release.  To fix connman include the upstream patch. See
http://git.kernel.org/cgit/network/connman/connman.git/commit/?id=acea08a

Signed-off-by: Martin Bark <martin@barkynet.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Martin Bark 2016-03-07 10:19:10 +00:00 committed by Thomas Petazzoni
parent 1a3c8498ab
commit c0e5c9c685

View File

@ -0,0 +1,38 @@
From acea08a0e4234a4c1a87bedc087c73ff36de0c7b Mon Sep 17 00:00:00 2001
From: Wu Zheng <wu.zheng@intel.com>
Date: Thu, 28 Jan 2016 18:04:17 +0800
Subject: iptables: Add missing function item of xtables to match iptables 1.6
The struct of xtables_globals has been modified in iptables 1.6.
If connman runs with iptables 1.6, it can crash.
Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
0xb7dea89c in xtables_find_target () from /usr/lib/libxtables.so.11
0xb7deac1c in ?? () from /usr/lib/libxtables.so.11
0xb7dea793 in xtables_find_target () from /usr/lib/libxtables.so.11
The the missing function item of xtables is added to xtables_globals.
Signed-off-by: Martin Bark <martin@barkynet.com>
---
src/iptables.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/iptables.c b/src/iptables.c
index bc0c763..5ef757a 100644
--- a/src/iptables.c
+++ b/src/iptables.c
@@ -1566,6 +1566,9 @@ struct xtables_globals iptables_globals = {
.option_offset = 0,
.opts = iptables_opts,
.orig_opts = iptables_opts,
+#if XTABLES_VERSION_CODE > 10
+ .compat_rev = xtables_compatible_revision,
+#endif
};
static struct xtables_target *prepare_target(struct connman_iptables *table,
--
cgit v0.12