Add user-space code for the socket match. Signed-off-by: KOVACS Krisztian <hidden@xxxxxxxxxx> --- extensions/libxt_socket.c | 39 +++++++++++++++++++++++++++++++++++++++ extensions/libxt_socket.man | 2 ++ 2 files changed, 41 insertions(+), 0 deletions(-) create mode 100644 extensions/libxt_socket.c create mode 100644 extensions/libxt_socket.man diff --git a/extensions/libxt_socket.c b/extensions/libxt_socket.c new file mode 100644 index 0000000..26ac9e3 --- /dev/null +++ b/extensions/libxt_socket.c @@ -0,0 +1,39 @@ +/* + * Shared library add-on to iptables to add early socket matching support. + * + * Copyright (C) 2007 BalaBit IT Ltd. + */ +#include <stdio.h> +#include <getopt.h> +#include <xtables.h> + +static void socket_mt_help(void) +{ + printf("socket v%s has no options\n\n", XTABLES_VERSION); +} + +static int socket_mt_parse(int c, char **argv, int invert, unsigned int *flags, + const void *entry, struct xt_entry_match **match) +{ + return 0; +} + +static void socket_mt_check(unsigned int flags) +{ +} + +static struct xtables_match socket_mt_reg = { + .name = "socket", + .version = XTABLES_VERSION, + .family = AF_INET, + .size = XT_ALIGN(0), + .userspacesize = XT_ALIGN(0), + .parse = socket_mt_parse, + .final_check = socket_mt_check, + .help = socket_mt_help, +}; + +void _init(void) +{ + xtables_register_match(&socket_mt_reg); +} diff --git a/extensions/libxt_socket.man b/extensions/libxt_socket.man new file mode 100644 index 0000000..50c8854 --- /dev/null +++ b/extensions/libxt_socket.man @@ -0,0 +1,2 @@ +This matches if an open socket can be found by doing a socket lookup on the +packet. -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html