]>
jfr.im git - solanum.git/blob - extensions/extb_oper.c
2 * Oper extban type: matches opers
10 #include "s_newconf.h"
13 static const char extb_desc
[] = "Oper ($o) extban type";
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_AV2(extb_oper
, _modinit
, _moddeinit
, NULL
, NULL
, NULL
, NULL
, NULL
, extb_desc
);
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
;