From: Jan Engelhardt Date: Wed, 5 Aug 2009 16:13:11 +0000 (+0200) Subject: Merge branch 'stable' X-Git-Tag: v1.4.5~6 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=8e4dacaed17701cb1891b962bb856e0e8cfbb5c8;p=thirdparty%2Fiptables.git Merge branch 'stable' Conflicts: extensions/libxt_conntrack.c Signed-off-by: Jan Engelhardt --- 8e4dacaed17701cb1891b962bb856e0e8cfbb5c8 diff --cc extensions/libxt_conntrack.c index edcaaa88,68d40f8c..c9f8182b --- a/extensions/libxt_conntrack.c +++ b/extensions/libxt_conntrack.c @@@ -1034,49 -1103,99 +1103,97 @@@ static void conntrack_mt6_save(const vo conntrack_dump((const void *)match->data, "--", NFPROTO_IPV6, true); } + static void + conntrack1_mt4_save(const void *ip, const struct xt_entry_match *match) + { + const struct xt_conntrack_mtinfo1 *info = (void *)match->data; + struct xt_conntrack_mtinfo2 up; + + cinfo_transform(&up, info); + conntrack_dump(&up, "--", NFPROTO_IPV4, true); + } + + static void + conntrack1_mt6_save(const void *ip, const struct xt_entry_match *match) + { + const struct xt_conntrack_mtinfo1 *info = (void *)match->data; + struct xt_conntrack_mtinfo2 up; + + cinfo_transform(&up, info); + conntrack_dump(&up, "--", NFPROTO_IPV6, true); + } + -static struct xtables_match conntrack_mt_v0_reg = { - .version = XTABLES_VERSION, - .name = "conntrack", - .revision = 0, - .family = NFPROTO_IPV4, - .size = XT_ALIGN(sizeof(struct xt_conntrack_info)), - .userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_info)), - .help = conntrack_mt_help, - .parse = conntrack_parse, - .final_check = conntrack_mt_check, - .print = conntrack_print, - .save = conntrack_save, - .extra_opts = conntrack_mt_opts_v0, -}; - -static struct xtables_match conntrack_mt_v1_reg = { - .version = XTABLES_VERSION, - .name = "conntrack", - .revision = 1, - .family = NFPROTO_IPV4, - .size = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo1)), - .userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo1)), - .help = conntrack_mt_help, - .parse = conntrack1_mt4_parse, - .final_check = conntrack_mt_check, - .print = conntrack1_mt4_print, - .save = conntrack1_mt4_save, - .extra_opts = conntrack_mt_opts, -}; - -static struct xtables_match conntrack_mt6_v1_reg = { - .version = XTABLES_VERSION, - .name = "conntrack", - .revision = 1, - .family = NFPROTO_IPV6, - .size = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo1)), - .userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo1)), - .help = conntrack_mt_help, - .parse = conntrack1_mt6_parse, - .final_check = conntrack_mt_check, - .print = conntrack1_mt6_print, - .save = conntrack1_mt6_save, - .extra_opts = conntrack_mt_opts, -}; - -static struct xtables_match conntrack_mt_v2_reg = { - .version = XTABLES_VERSION, - .name = "conntrack", - .revision = 2, - .family = NFPROTO_IPV4, - .size = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo2)), - .userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo2)), - .help = conntrack_mt_help, - .parse = conntrack2_mt4_parse, - .final_check = conntrack_mt_check, - .print = conntrack_mt_print, - .save = conntrack_mt_save, - .extra_opts = conntrack_mt_opts, -}; - -static struct xtables_match conntrack_mt6_v2_reg = { - .version = XTABLES_VERSION, - .name = "conntrack", - .revision = 2, - .family = NFPROTO_IPV6, - .size = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo2)), - .userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo2)), - .help = conntrack_mt_help, - .parse = conntrack2_mt6_parse, - .final_check = conntrack_mt_check, - .print = conntrack_mt6_print, - .save = conntrack_mt6_save, - .extra_opts = conntrack_mt_opts, +static struct xtables_match conntrack_mt_reg[] = { + { + .version = XTABLES_VERSION, + .name = "conntrack", + .revision = 0, + .family = NFPROTO_IPV4, + .size = XT_ALIGN(sizeof(struct xt_conntrack_info)), + .userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_info)), + .help = conntrack_mt_help, + .parse = conntrack_parse, + .final_check = conntrack_mt_check, + .print = conntrack_print, + .save = conntrack_save, + .extra_opts = conntrack_mt_opts_v0, + }, + { + .version = XTABLES_VERSION, + .name = "conntrack", + .revision = 1, + .family = NFPROTO_IPV4, + .size = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo1)), + .userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo1)), + .help = conntrack_mt_help, - .parse = conntrack_mt4_parse, ++ .parse = conntrack1_mt4_parse, + .final_check = conntrack_mt_check, - .print = conntrack_mt_print, - .save = conntrack_mt_save, ++ .print = conntrack1_mt4_print, ++ .save = conntrack1_mt4_save, + .extra_opts = conntrack_mt_opts, + }, + { + .version = XTABLES_VERSION, + .name = "conntrack", + .revision = 1, + .family = NFPROTO_IPV6, + .size = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo1)), + .userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo1)), + .help = conntrack_mt_help, - .parse = conntrack_mt6_parse, ++ .parse = conntrack1_mt6_parse, ++ .final_check = conntrack_mt_check, ++ .print = conntrack1_mt6_print, ++ .save = conntrack1_mt6_save, ++ .extra_opts = conntrack_mt_opts, ++ }, ++ { ++ .version = XTABLES_VERSION, ++ .name = "conntrack", ++ .revision = 2, ++ .family = NFPROTO_IPV4, ++ .size = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo2)), ++ .userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo2)), ++ .help = conntrack_mt_help, ++ .parse = conntrack2_mt4_parse, ++ .final_check = conntrack_mt_check, ++ .print = conntrack_mt_print, ++ .save = conntrack_mt_save, ++ .extra_opts = conntrack_mt_opts, ++ }, ++ { ++ .version = XTABLES_VERSION, ++ .name = "conntrack", ++ .revision = 2, ++ .family = NFPROTO_IPV6, ++ .size = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo2)), ++ .userspacesize = XT_ALIGN(sizeof(struct xt_conntrack_mtinfo2)), ++ .help = conntrack_mt_help, ++ .parse = conntrack2_mt6_parse, + .final_check = conntrack_mt_check, + .print = conntrack_mt6_print, + .save = conntrack_mt6_save, + .extra_opts = conntrack_mt_opts, + }, }; void _init(void)