Permalink
Browse files

Add module which restricts unauthenticated users from doing anything …

…as channel op.
  • Loading branch information...
1 parent 6387b5a commit e5149d6169e9cf75b00c698b945c6d4ea9d0ee14 @kaniini kaniini committed Nov 1, 2012
Showing with 40 additions and 0 deletions.
  1. +1 −0 extensions/Makefile.in
  2. +39 −0 extensions/restrict-unauthenticated.c
View
@@ -59,6 +59,7 @@ SRCS = \
ip_cloaking_3.0.c \
ip_cloaking_4.0.c \
override.c \
+ restrict-unauthenticated.c \
sno_farconnect.c \
sno_globalkline.c \
sno_globaloper.c \
@@ -0,0 +1,39 @@
+/*
+ * restrict unauthenticated users from doing anything as channel op
+ */
+
+#include "stdinc.h"
+#include "modules.h"
+#include "hook.h"
+#include "client.h"
+#include "ircd.h"
+#include "send.h"
+#include "hash.h"
+#include "s_conf.h"
+#include "s_user.h"
+#include "s_serv.h"
+#include "numeric.h"
+#include "privilege.h"
+#include "s_newconf.h"
+
+static void hack_channel_access(void *data);
+
+mapi_hfn_list_av1 restrict_unauthenticated_hfnlist[] = {
+ { "get_channel_access", (hookfn) hack_channel_access },
+ { NULL, NULL }
+};
+
+static void
+hack_channel_access(void *vdata)
+{
+ hook_data_channel_approval *data = (hook_data_channel_approval *) vdata;
+
+ if (!MyClient(data->client))
+ return;
+
+ if (EmptyString(data->client->user->suser))
+ data->approved = 0;
+}
+
+DECLARE_MODULE_AV1(restrict_unauthenticated, NULL, NULL, NULL, NULL,
+ restrict_unauthenticated_hfnlist, "$Revision: 3526 $");

0 comments on commit e5149d6

Please sign in to comment.