From: Tomasz Bursztyka Date: Thu, 27 Oct 2011 07:24:51 +0000 (+0300) Subject: tools: Add x6_options matches handling to iptables-test X-Git-Tag: 2.0_alpha~1002 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d3f6815dd1935d44d96ee3847b9f0a41e8b87908;p=framework%2Fconnectivity%2Fconnman.git tools: Add x6_options matches handling to iptables-test --- diff --git a/tools/iptables-test.c b/tools/iptables-test.c index 40ae013..56598aa 100644 --- a/tools/iptables-test.c +++ b/tools/iptables-test.c @@ -1339,7 +1339,19 @@ static struct xtables_match *prepare_matches(struct connman_iptables *table, if (xt_m->init != NULL) xt_m->init(xt_m->m); - if (xt_m != xt_m->next) { + if (xt_m == xt_m->next) + goto done; + + if (xt_m->x6_options != NULL) + connman_iptables_globals.opts = + xtables_options_xfrm( +#if XTABLES_VERSION_CODE > 5 + connman_iptables_globals.orig_opts, +#endif + connman_iptables_globals.opts, + xt_m->x6_options, + &xt_m->option_offset); + else connman_iptables_globals.opts = xtables_merge_options( #if XTABLES_VERSION_CODE > 5 @@ -1349,12 +1361,12 @@ static struct xtables_match *prepare_matches(struct connman_iptables *table, xt_m->extra_opts, &xt_m->option_offset); - if (connman_iptables_globals.opts == NULL) { - g_free(xt_m->m); - xt_m = NULL; - } + if (connman_iptables_globals.opts == NULL) { + g_free(xt_m->m); + xt_m = NULL; } +done: return xt_m; }