From 430bbc782ea034c6314a00a841f737560a56717c Mon Sep 17 00:00:00 2001 From: KOVACS Krisztian Date: Wed, 15 Oct 2008 11:50:34 +0200 Subject: Add iptables support for the socket match Add user-space code for the socket match. Signed-off-by: KOVACS Krisztian Signed-off-by: Patrick McHardy --- extensions/libxt_socket.c | 39 +++++++++++++++++++++++++++++++++++++++ extensions/libxt_socket.man | 2 ++ 2 files changed, 41 insertions(+) create mode 100644 extensions/libxt_socket.c create mode 100644 extensions/libxt_socket.man (limited to 'extensions') diff --git a/extensions/libxt_socket.c b/extensions/libxt_socket.c new file mode 100644 index 00000000..26ac9e33 --- /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 +#include +#include + +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 00000000..50c88542 --- /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. -- cgit v1.2.3