connman: add xtables_version to fix xtables API change
authorDongxiao Xu <dongxiao.xu@intel.com>
Wed, 26 Oct 2011 02:09:16 +0000 (10:09 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 1 Nov 2011 14:51:36 +0000 (14:51 +0000)
After upgrade iptables to a newer version, some of its API are changed.
Therefore we add related fixes to the current connman.

Currently we don't upgrade connman since kernel.org still doesn't work
and we could not fetch the newer sources.

(From OE-Core rev: 36ae6edda4d4169c88eb3d34a090f9cd82534630)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-connectivity/connman/connman-0.75/xtables_version.patch [new file with mode: 0644]
meta/recipes-connectivity/connman/connman_0.75.bb

diff --git a/meta/recipes-connectivity/connman/connman-0.75/xtables_version.patch b/meta/recipes-connectivity/connman/connman-0.75/xtables_version.patch
new file mode 100644 (file)
index 0000000..13e2c36
--- /dev/null
@@ -0,0 +1,64 @@
+xtables_merge_options API change, fix its calling in connman.
+
+Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
+
+Upstream-Status: Backport
+
+diff -ruN connman-0.75-orig//src/iptables.c connman-0.75/src/iptables.c
+--- connman-0.75-orig//src/iptables.c  2011-02-22 12:16:25.000000000 +0800
++++ connman-0.75/src/iptables.c        2011-10-26 09:21:33.941164000 +0800
+@@ -1089,7 +1089,11 @@
+                       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 @@
+                               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)
+diff -ruN connman-0.75-orig//tools/iptables-test.c connman-0.75/tools/iptables-test.c
+--- connman-0.75-orig//tools/iptables-test.c   2011-02-22 12:16:25.000000000 +0800
++++ connman-0.75/tools/iptables-test.c 2011-10-26 09:23:25.701164000 +0800
+@@ -1076,7 +1076,11 @@
+                       if (xt_t->init != NULL)
+                               xt_t->init(xt_t->t);
+                       connman_iptables_globals.opts =
+-                              xtables_merge_options(connman_iptables_globals.opts,
++                              xtables_merge_options(
++#if XTABLES_VERSION_CODE > 5
++                                                   connman_iptables_globals.orig_opts,
++#endif
++                                                   connman_iptables_globals.opts,
+                                                    xt_t->extra_opts,
+                                                    &xt_t->option_offset);
+                       if (connman_iptables_globals.opts == NULL)
+@@ -1102,7 +1106,11 @@
+                               xt_m->init(xt_m->m);
+                       if (xt_m != xt_m->next) {
+                               connman_iptables_globals.opts =
+-                                      xtables_merge_options(connman_iptables_globals.opts,
++                                      xtables_merge_options(
++#if XTABLES_VERSION_CODE > 5
++                                              connman_iptables_globals.orig_opts,
++#endif
++                                              connman_iptables_globals.opts,
+                                               xt_m->extra_opts,
+                                               &xt_m->option_offset);
+                               if (connman_iptables_globals.opts == NULL)
index 4c25fcc..8a02753 100644 (file)
@@ -1,5 +1,5 @@
 require connman.inc
-PR = "r1"
+PR = "r2"
 
 EXTRA_OECONF += "\
   ac_cv_path_WPASUPPLICANT=/usr/sbin/wpa_supplicant \
@@ -21,6 +21,7 @@ EXTRA_OECONF += "\
 SRC_URI  = "\
   ${KERNELORG_MIRROR}/linux/network/connman/connman-${PV}.tar.gz \
   file://add_xuser_dbus_permission.patch \
+  file://xtables_version.patch \
   file://connman \
 "