diff options
Diffstat (limited to 'extensions/libxt_NOTRACK.c')
-rw-r--r-- | extensions/libxt_NOTRACK.c | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/extensions/libxt_NOTRACK.c b/extensions/libxt_NOTRACK.c new file mode 100644 index 00000000..2276eb62 --- /dev/null +++ b/extensions/libxt_NOTRACK.c @@ -0,0 +1,62 @@ +/* Shared library add-on to iptables to add NOTRACK target support. */ +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include <getopt.h> + +#include <xtables.h> +#include <linux/netfilter/x_tables.h> + +/* Function which prints out usage message. */ +static void +help(void) +{ + printf( +"NOTRACK target v%s takes no options\n", +IPTABLES_VERSION); +} + +static struct option opts[] = { + { 0 } +}; + +/* Initialize the target. */ +static void +init(struct xt_entry_target *t, unsigned int *nfcache) +{ +} + +/* 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) +{ +} + +static +struct xtables_target notrack = +{ + .family = AF_INET, + .name = "NOTRACK", + .version = IPTABLES_VERSION, + .size = XT_ALIGN(0), + .userspacesize = XT_ALIGN(0), + .help = &help, + .init = &init, + .parse = &parse, + .final_check = &final_check, + .extra_opts = opts, +}; + +void _init(void) +{ + xtables_register_target(¬rack); +} |