From 0cb68b8aca1a38a3112641bff80c979a4a072cbd Mon Sep 17 00:00:00 2001 From: Valery Yatsko Date: Tue, 8 Apr 2008 21:24:23 +0400 Subject: [PATCH] extb_ssl extension - ssl extban --- extensions/Makefile.in | 1 + extensions/extb_ssl.c | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 extensions/extb_ssl.c diff --git a/extensions/Makefile.in b/extensions/Makefile.in index 9005d95..5b54fbb 100644 --- a/extensions/Makefile.in +++ b/extensions/Makefile.in @@ -35,6 +35,7 @@ SRCS = \ extb_channel.c \ extb_oper.c \ extb_server.c \ + extb_ssl.c \ extb_realname.c \ extb_extgecos.c \ force_user_invis.c \ diff --git a/extensions/extb_ssl.c b/extensions/extb_ssl.c new file mode 100644 index 0000000..b3a8d81 --- /dev/null +++ b/extensions/extb_ssl.c @@ -0,0 +1,39 @@ +/* Oper extban type: matches ssl users */ + +#include "stdinc.h" +#include "modules.h" +#include "client.h" +#include "ircd.h" + +static int _modinit(void); +static void _moddeinit(void); +static int eb_ssl(const char *data, struct Client *client_p, struct Channel *chptr, long mode_type); + +DECLARE_MODULE_AV1(extb_ssl, _modinit, _moddeinit, NULL, NULL, NULL, "$Revision$"); + +static int +_modinit(void) +{ + extban_table['z'] = eb_ssl; + + return 0; +} + +static void +_moddeinit(void) +{ + extban_table['z'] = NULL; +} + +static int eb_ssl(const char *data, struct Client *client_p, + struct Channel *chptr, long mode_type) +{ + + (void)chptr; + (void)mode_type; + /* perhaps use data somehow? (opernick/flags?) */ + /* so deny any bans with data for now */ + if (data != NULL) + return EXTBAN_INVALID; + return IsSSLClient(client_p) ? EXTBAN_MATCH : EXTBAN_NOMATCH; +}