]>
jfr.im git - solanum.git/blob - extensions/extb_oper.c
2 * Oper extban type: matches opers
5 * $Id: extb_oper.c 1299 2006-05-11 15:43:03Z jilles $
11 #include "privilege.h"
12 #include "s_newconf.h"
15 static int _modinit(void);
16 static void _moddeinit(void);
17 static int eb_oper(const char *data
, struct Client
*client_p
, struct Channel
*chptr
, long mode_type
);
19 DECLARE_MODULE_AV1(extb_oper
, _modinit
, _moddeinit
, NULL
, NULL
, NULL
, "$Revision: 1299 $");
24 extban_table
['o'] = eb_oper
;
32 extban_table
['o'] = NULL
;
35 static int eb_oper(const char *data
, struct Client
*client_p
,
36 struct Channel
*chptr
, long mode_type
)
44 struct PrivilegeSet
*set
= privilegeset_get(data
);
45 if (set
!= NULL
&& client_p
->localClient
->privset
== set
)
48 /* $o:admin or whatever */
49 return HasPrivilege(client_p
, data
) ? EXTBAN_MATCH
: EXTBAN_NOMATCH
;
52 return IsOper(client_p
) ? EXTBAN_MATCH
: EXTBAN_NOMATCH
;