X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/adb3f9d000d3938304d82e4dbb6a0f51d34bd3d5..bd0d352f12ee12bbe14b43c4eed9fbc74c51ac00:/extensions/extb_oper.c diff --git a/extensions/extb_oper.c b/extensions/extb_oper.c index ff859aa4..4554b724 100644 --- a/extensions/extb_oper.c +++ b/extensions/extb_oper.c @@ -8,6 +8,8 @@ #include "stdinc.h" #include "modules.h" #include "client.h" +#include "privilege.h" +#include "s_newconf.h" #include "ircd.h" static int _modinit(void); @@ -36,9 +38,10 @@ static int eb_oper(const char *data, struct Client *client_p, (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; + /* $o:admin or whatever */ + return HasPrivilege(client_p, data) ? EXTBAN_MATCH : EXTBAN_NOMATCH; + return IsOper(client_p) ? EXTBAN_MATCH : EXTBAN_NOMATCH; }