]>
jfr.im git - solanum.git/blob - extensions/extb_oper.c
2 * Oper extban type: matches opers
10 #include "s_newconf.h"
13 static int _modinit(void);
14 static void _moddeinit(void);
15 static int eb_oper(const char *data
, struct Client
*client_p
, struct Channel
*chptr
, long mode_type
);
16 static const char extb_desc
[] = "Oper ($o) extban type";
18 DECLARE_MODULE_AV2(extb_oper
, _modinit
, _moddeinit
, NULL
, NULL
, NULL
, NULL
, NULL
, extb_desc
);
23 extban_table
['o'] = eb_oper
;
31 extban_table
['o'] = NULL
;
34 static int eb_oper(const char *data
, struct Client
*client_p
,
35 struct Channel
*chptr
, long mode_type
)
43 struct PrivilegeSet
*set
= privilegeset_get(data
);
44 if (set
!= NULL
&& client_p
->localClient
->privset
== set
)
47 /* $o:admin or whatever */
48 return HasPrivilege(client_p
, data
) ? EXTBAN_MATCH
: EXTBAN_NOMATCH
;
51 return IsOper(client_p
) ? EXTBAN_MATCH
: EXTBAN_NOMATCH
;