From a4cc116f706a4462e2e12306692b3b6166298a91 Mon Sep 17 00:00:00 2001 From: laforge Date: Tue, 27 Nov 2001 15:22:44 +0000 Subject: new IPV4OPTSSTRIP target --- extensions/libipt_IPV4OPTSSTRIP.c | 81 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 extensions/libipt_IPV4OPTSSTRIP.c (limited to 'extensions/libipt_IPV4OPTSSTRIP.c') diff --git a/extensions/libipt_IPV4OPTSSTRIP.c b/extensions/libipt_IPV4OPTSSTRIP.c new file mode 100644 index 0000000..59cbf19 --- /dev/null +++ b/extensions/libipt_IPV4OPTSSTRIP.c @@ -0,0 +1,81 @@ +/* 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 init(struct ipt_entry_target *t, unsigned int *nfcache) +{ + *nfcache |= NFC_UNKNOWN; +} + +static void help(void) +{ + printf("IPV4OPTSSTRIP v%s target takes no option !! Make sure you use it in the mangle table.\n", + NETFILTER_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 struct ipt_entry *entry, + struct ipt_entry_target **target) +{ + return 0; +} + +static void +final_check(unsigned int flags) +{ +} + +/* Prints out the targinfo. */ +static void +print(const struct ipt_ip *ip, + const struct ipt_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 struct ipt_ip *ip, const struct ipt_entry_target *target) +{ + /* nothing to print, we don't take option... */ +} + +static +struct iptables_target IPV4OPTSSTRIP += { NULL, + "IPV4OPTSSTRIP", + NETFILTER_VERSION, + IPT_ALIGN(0), + IPT_ALIGN(0), + &help, + &init, + &parse, + &final_check, + &print, + &save, + opts +}; + +void _init(void) +{ + register_target(&IPV4OPTSSTRIP); +} -- cgit v1.2.3