iptables: state match incompatibilty across versions
As reported in Debian bug #718810 [1], state match rules added in < 1.4.16
iptables versions are incorrectly displayed by >= 1.4.16 iptables versions.
Issue bisected to commit 0d701631 (libxt_state: replace as an alias to
xt_conntrack).
Fix this by adding the missing .print and .save functions for state match
aliases in the conntrack match.
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=718810
Signed-off-by: Phil Oester <kernel@linuxace.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
diff --git a/extensions/libxt_conntrack.c b/extensions/libxt_conntrack.c
index 9f7b5db..128bbd2 100644
--- a/extensions/libxt_conntrack.c
+++ b/extensions/libxt_conntrack.c
@@ -1272,6 +1272,8 @@
.size = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo1)),
.userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo1)),
.help = state_help,
+ .print = state_print,
+ .save = state_save,
.x6_parse = state_ct1_parse,
.x6_options = state_opts,
},
@@ -1285,6 +1287,8 @@
.size = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo2)),
.userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo2)),
.help = state_help,
+ .print = state_print,
+ .save = state_save,
.x6_parse = state_ct23_parse,
.x6_options = state_opts,
},
@@ -1298,6 +1302,8 @@
.size = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo3)),
.userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo3)),
.help = state_help,
+ .print = state_print,
+ .save = state_save,
.x6_parse = state_ct23_parse,
.x6_options = state_opts,
},