diff -urN iptables-1.3.8/extensions/libipt_IPV4OPTSSTRIP.c iptables/extensions/libipt_IPV4OPTSSTRIP.c --- iptables-1.3.8/extensions/libipt_IPV4OPTSSTRIP.c 1970-01-01 01:00:00.000000000 +0100 +++ iptables/extensions/libipt_IPV4OPTSSTRIP.c 2006-12-12 11:34:45.000000000 +0100 @@ -0,0 +1,74 @@ +/* Shared library add-on to iptables for IPV4OPTSSTRIP + * This modules strip all the IP options. + * + * (C) 2001 by Fabrice MARIE + * This program is distributed under the terms of GNU GPL v2, 1991 + */ + +#include +#include +#include +#include + +#include +#include + +static void help(void) +{ + printf("IPV4OPTSSTRIP v%s target takes no option !! Make sure you use it in the mangle table.\n", + XTABLES_VERSION); +} + +static struct option opts[] = { + { 0 } +}; + +/* Function which parses command options; returns true if it + ate an option */ +static int +parse(int c, char **argv, int invert, unsigned int *flags, + const void *entry, + struct xt_entry_target **target) +{ + return 0; +} + +static void +final_check(unsigned int flags) +{ +} + +/* Prints out the targinfo. */ +static void +print(const void *ip, + const struct xt_entry_target *target, + int numeric) +{ + /* nothing to print, we don't take option... */ +} + +/* Saves the stuff in parsable form to stdout. */ +static void +save(const void *ip, const struct xt_entry_target *target) +{ + /* nothing to print, we don't take option... */ +} + +static struct xtables_target IPV4OPTSSTRIP = { + .next = NULL, + .name = "IPV4OPTSSTRIP", + .version = XTABLES_VERSION, + .size = XT_ALIGN(0), + .userspacesize = XT_ALIGN(0), + .help = &help, + .parse = &parse, + .final_check = &final_check, + .print = &print, + .save = &save, + .extra_opts = opts +}; + +void _init(void) +{ + xtables_register_target(&IPV4OPTSSTRIP); +} diff -urN iptables-1.3.8/extensions/libipt_IPV4OPTSSTRIP.man iptables/extensions/libipt_IPV4OPTSSTRIP.man --- iptables-1.3.8/extensions/libipt_IPV4OPTSSTRIP.man 1970-01-01 01:00:00.000000000 +0100 +++ iptables/extensions/libipt_IPV4OPTSSTRIP.man 2006-12-12 11:34:45.000000000 +0100 @@ -0,0 +1,5 @@ +Strip all the IP options from a packet. + +The target doesn't take any option, and therefore is extremly easy to use : + +# iptables -t mangle -A PREROUTING -j IPV4OPTSSTRIP