]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
Merge branch 'opts' of git://dev.medozas.de/iptables
authorPatrick McHardy <kaber@trash.net>
Tue, 12 Apr 2011 14:05:39 +0000 (16:05 +0200)
committerPatrick McHardy <kaber@trash.net>
Tue, 12 Apr 2011 14:05:39 +0000 (16:05 +0200)
1  2 
include/xtables.h.in
ip6tables.c
iptables.c
xtables.c

Simple merge
diff --cc ip6tables.c
Simple merge
diff --cc iptables.c
index cf27227803a8695a002e01dbad09596bab955849,2c1528eac0861628d0f83455d9878d579895d629..0441dce31ac360d16a790cf2958b6698deb5b00f
@@@ -1398,16 -1416,20 +1410,20 @@@ static void command_match(struct iptabl
        m->m->u.user.revision = m->revision;
        if (m->init != NULL)
                m->init(m->m);
-       if (m != m->next) {
-               /* Merge options for non-cloned matches */
+       if (m == m->next)
+               return;
+       /* Merge options for non-cloned matches */
+       if (m->x6_options != NULL)
+               opts = xtables_options_xfrm(iptables_globals.orig_opts, opts,
+                                           m->x6_options, &m->option_offset);
+       else if (m->extra_opts != NULL)
                opts = xtables_merge_options(iptables_globals.orig_opts, opts,
                                             m->extra_opts, &m->option_offset);
-               if (opts == NULL)
-                       xtables_error(OTHER_PROBLEM, "can't alloc memory!");
-       }
+       if (opts == NULL)
+               xtables_error(OTHER_PROBLEM, "can't alloc memory!");
  }
  
 -int do_command(int argc, char *argv[], char **table, struct iptc_handle **handle)
 +int do_command4(int argc, char *argv[], char **table, struct iptc_handle **handle)
  {
        struct iptables_command_state cs;
        struct ipt_entry *e = NULL;
diff --cc xtables.c
Simple merge