--- 1.4.1/libxt_TCPOPTSTRIP.c 2008-06-10 08:15:20.000000000 +0200 +++ 1.3.5/libipt_TCPOPTSTRIP.c 2008-11-02 17:11:23.000000000 +0100 @@ -9,8 +9,8 @@ #include #include #include -#include -#include +#include +#include #include #ifndef TCPOPT_MD5SIG # define TCPOPT_MD5SIG 19 @@ -25,7 +25,7 @@ const unsigned int option; }; -static const struct option tcpoptstrip_tg_opts[] = { +static struct option tcpoptstrip_tg_opts[] = { {.name = "strip-options", .has_arg = true, .val = 's'}, { .name = NULL } }; @@ -55,7 +55,7 @@ printf(" %-14s strip \"%s\" option\n", w->name, w->desc); } -static void tcpoptstrip_tg_init(struct xt_entry_target *t) +static void tcpoptstrip_tg_init(struct ipt_entry_target *t, unsigned int *nfcache) { struct xt_tcpoptstrip_target_info *info = (void *)t->data; @@ -101,8 +101,8 @@ } static int tcpoptstrip_tg_parse(int c, char **argv, int invert, - unsigned int *flags, const void *entry, - struct xt_entry_target **target) + unsigned int *flags, const struct ipt_entry *entry, + struct ipt_entry_target **target) { struct xt_tcpoptstrip_target_info *info = (void *)(*target)->data; @@ -155,7 +155,7 @@ } static void -tcpoptstrip_tg_print(const void *ip, const struct xt_entry_target *target, +tcpoptstrip_tg_print(const struct ipt_ip *ip, const struct ipt_entry_target *target, int numeric) { const struct xt_tcpoptstrip_target_info *info = @@ -166,7 +166,7 @@ } static void -tcpoptstrip_tg_save(const void *ip, const struct xt_entry_target *target) +tcpoptstrip_tg_save(const struct ipt_ip *ip, const struct ipt_entry_target *target) { const struct xt_tcpoptstrip_target_info *info = (const void *)target->data; @@ -175,38 +175,21 @@ tcpoptstrip_print_list(info, true); } -static struct xtables_target tcpoptstrip_tg_reg = { - .version = XTABLES_VERSION, +static struct iptables_target tcpoptstrip_tg_reg = { + .version = IPTABLES_VERSION, .name = "TCPOPTSTRIP", - .family = AF_INET, - .size = XT_ALIGN(sizeof(struct xt_tcpoptstrip_target_info)), - .userspacesize = XT_ALIGN(sizeof(struct xt_tcpoptstrip_target_info)), - .help = tcpoptstrip_tg_help, - .init = tcpoptstrip_tg_init, - .parse = tcpoptstrip_tg_parse, - .final_check = tcpoptstrip_tg_check, - .print = tcpoptstrip_tg_print, - .save = tcpoptstrip_tg_save, + .size = IPT_ALIGN(sizeof(struct xt_tcpoptstrip_target_info)), + .userspacesize = IPT_ALIGN(sizeof(struct xt_tcpoptstrip_target_info)), + .help = &tcpoptstrip_tg_help, + .init = &tcpoptstrip_tg_init, + .parse = &tcpoptstrip_tg_parse, + .final_check = &tcpoptstrip_tg_check, + .print = &tcpoptstrip_tg_print, + .save = &tcpoptstrip_tg_save, .extra_opts = tcpoptstrip_tg_opts, }; -static struct xtables_target tcpoptstrip_tg6_reg = { - .version = XTABLES_VERSION, - .name = "TCPOPTSTRIP", - .family = AF_INET6, - .size = XT_ALIGN(sizeof(struct xt_tcpoptstrip_target_info)), - .userspacesize = XT_ALIGN(sizeof(struct xt_tcpoptstrip_target_info)), - .help = tcpoptstrip_tg_help, - .init = tcpoptstrip_tg_init, - .parse = tcpoptstrip_tg_parse, - .final_check = tcpoptstrip_tg_check, - .print = tcpoptstrip_tg_print, - .save = tcpoptstrip_tg_save, - .extra_opts = tcpoptstrip_tg_opts, -}; - -void _init(void) +void __attribute((constructor)) my_init(void) { - xtables_register_target(&tcpoptstrip_tg_reg); - xtables_register_target(&tcpoptstrip_tg6_reg); + register_target(&tcpoptstrip_tg_reg); }