diff options
author | Harald Welte <laforge@gnumonks.org> | 2001-11-27 15:22:44 +0000 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2001-11-27 15:22:44 +0000 |
commit | de4f7f6a099e1ea499a5d395f3974263090ca35a (patch) | |
tree | 4937374609d7095c52347daced5e53b5447657ce /extensions/libipt_IPV4OPTSSTRIP.c | |
parent | ddc342cfc6ce1631874c0a787fb1038b0fd5231a (diff) |
new IPV4OPTSSTRIP target
Diffstat (limited to 'extensions/libipt_IPV4OPTSSTRIP.c')
-rw-r--r-- | extensions/libipt_IPV4OPTSSTRIP.c | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/extensions/libipt_IPV4OPTSSTRIP.c b/extensions/libipt_IPV4OPTSSTRIP.c new file mode 100644 index 00000000..59cbf190 --- /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 <fabrice@celestix.com> + * This program is distributed under the terms of GNU GPL v2, 1991 + */ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <getopt.h> + +#include <iptables.h> +#include <linux/netfilter_ipv4/ip_tables.h> + +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); +} |