summaryrefslogtreecommitdiff
path: root/src/iptables.c
diff options
context:
space:
mode:
authorStefan Schmidt <stefan@datenfreihafen.org>2011-07-20 16:46:06 +0200
committerMarcel Holtmann <marcel@holtmann.org>2011-07-21 11:34:09 +0200
commitfd6684752ff6f59de47e07dd850d5e3366f3ef3d (patch)
treec190165ee8845a679067b9d523e273ef3ef5e6ca /src/iptables.c
parent0ef53353b51b2e1f35d0ab70e594c9197b1a7746 (diff)
downloadconnman-fd6684752ff6f59de47e07dd850d5e3366f3ef3d.tar.gz
connman-fd6684752ff6f59de47e07dd850d5e3366f3ef3d.tar.bz2
connman-fd6684752ff6f59de47e07dd850d5e3366f3ef3d.zip
iptables: Work around API breakage introduced in iptables 1.4.11
The xtables_merge_options() paramter list got extended without version bump. These clumsy #ifdef's make it possible to work with newer and older iptables libraries. It got inspired from an iproute2 patch: https://bugs.gentoo.org/attachment.cgi?id=276401 Once all distributions start to carry 1.4.11 it can be considered to bump the minimum version for connman and remove these ifdef's.
Diffstat (limited to 'src/iptables.c')
-rw-r--r--src/iptables.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/iptables.c b/src/iptables.c
index 8f8ab53c..e852e01c 100644
--- a/src/iptables.c
+++ b/src/iptables.c
@@ -1089,7 +1089,11 @@ static int iptables_command(int argc, char *argv[])
if (xt_t->init != NULL)
xt_t->init(xt_t->t);
iptables_globals.opts =
- xtables_merge_options(iptables_globals.opts,
+ xtables_merge_options(
+#if XTABLES_VERSION_CODE > 5
+ iptables_globals.orig_opts,
+#endif
+ iptables_globals.opts,
xt_t->extra_opts,
&xt_t->option_offset);
if (iptables_globals.opts == NULL)
@@ -1113,7 +1117,11 @@ static int iptables_command(int argc, char *argv[])
xt_m->init(xt_m->m);
if (xt_m != xt_m->next) {
iptables_globals.opts =
- xtables_merge_options(iptables_globals.opts,
+ xtables_merge_options(
+#if XTABLES_VERSION_CODE > 5
+ iptables_globals.orig_opts,
+#endif
+ iptables_globals.opts,
xt_m->extra_opts,
&xt_m->option_offset);
if (iptables_globals.opts == NULL)