diff options
Diffstat (limited to 'src/core')
56 files changed, 192 insertions, 193 deletions
diff --git a/src/core/bs_assign.c b/src/core/bs_assign.c index af2ad87f9..d518a6a9b 100644 --- a/src/core/bs_assign.c +++ b/src/core/bs_assign.c @@ -43,13 +43,13 @@ class CommandBSAssign : public Command ci = cs_findchan(chan); - if (ci->botflags.HasFlag(BS_NOBOT) || (!check_access(u, ci, CA_ASSIGN) && !u->nc->HasPriv("botserv/administration"))) + if (ci->botflags.HasFlag(BS_NOBOT) || (!check_access(u, ci, CA_ASSIGN) && !u->Account()->HasPriv("botserv/administration"))) { notice_lang(Config.s_BotServ, u, ACCESS_DENIED); return MOD_CONT; } - if (bi->HasFlag(BI_PRIVATE) && !u->nc->HasCommand("botserv/assign/private")) + if (bi->HasFlag(BI_PRIVATE) && !u->Account()->HasCommand("botserv/assign/private")) { notice_lang(Config.s_BotServ, u, ACCESS_DENIED); return MOD_CONT; diff --git a/src/core/bs_badwords.c b/src/core/bs_badwords.c index e71438183..9c13560ad 100644 --- a/src/core/bs_badwords.c +++ b/src/core/bs_badwords.c @@ -184,7 +184,7 @@ class CommandBSBadwords : public Command ci = cs_findchan(chan); - if (!check_access(u, ci, CA_BADWORDS) && (!need_args || !u->nc->HasPriv("botserv/administration"))) + if (!check_access(u, ci, CA_BADWORDS) && (!need_args || !u->Account()->HasPriv("botserv/administration"))) { notice_lang(Config.s_BotServ, u, ACCESS_DENIED); return MOD_CONT; diff --git a/src/core/bs_bot.c b/src/core/bs_bot.c index 56be53b33..cfaafac23 100644 --- a/src/core/bs_bot.c +++ b/src/core/bs_bot.c @@ -334,7 +334,7 @@ class CommandBSBot : public Command if (cmd == "ADD") { // ADD nick user host real - 5 - if (!u->nc->HasCommand("botserv/bot/add")) + if (!u->Account()->HasCommand("botserv/bot/add")) { notice_lang(Config.s_BotServ, u, ACCESS_DENIED); return MOD_CONT; @@ -357,7 +357,7 @@ class CommandBSBot : public Command { // CHANGE oldn newn user host real - 6 // but only oldn and newn are required - if (!u->nc->HasCommand("botserv/bot/change")) + if (!u->Account()->HasCommand("botserv/bot/change")) { notice_lang(Config.s_BotServ, u, ACCESS_DENIED); return MOD_CONT; @@ -374,7 +374,7 @@ class CommandBSBot : public Command else if (cmd == "DEL") { // DEL nick - if (!u->nc->HasCommand("botserv/bot/del")) + if (!u->Account()->HasCommand("botserv/bot/del")) { notice_lang(Config.s_BotServ, u, ACCESS_DENIED); return MOD_CONT; diff --git a/src/core/bs_botlist.c b/src/core/bs_botlist.c index 8e3ca925a..fbae61911 100644 --- a/src/core/bs_botlist.c +++ b/src/core/bs_botlist.c @@ -43,7 +43,7 @@ class CommandBSBotList : public Command } } - if (u->nc->HasCommand("botserv/botlist") && count < nbots) { + if (u->Account()->HasCommand("botserv/botlist") && count < nbots) { notice_lang(Config.s_BotServ, u, BOT_BOTLIST_PRIVATE_HEADER); for (i = 0; i < 256; i++) { diff --git a/src/core/bs_info.c b/src/core/bs_info.c index 8d1a00c9a..ac4c21f92 100644 --- a/src/core/bs_info.c +++ b/src/core/bs_info.c @@ -75,12 +75,12 @@ class CommandBSInfo : public Command notice_lang(Config.s_BotServ, u, BOT_INFO_BOT_OPTIONS, getstring(u, (bi->HasFlag(BI_PRIVATE) ? BOT_INFO_OPT_PRIVATE : BOT_INFO_OPT_NONE))); notice_lang(Config.s_BotServ, u, BOT_INFO_BOT_USAGE, bi->chancount); - if (u->nc->HasPriv("botserv/administration")) + if (u->Account()->HasPriv("botserv/administration")) this->send_bot_channels(u, bi); } else if ((ci = cs_findchan(query))) { - if (!IsFounder(u, ci) && !u->nc->HasPriv("botserv/administration")) + if (!IsFounder(u, ci) && !u->Account()->HasPriv("botserv/administration")) { notice_lang(Config.s_BotServ, u, ACCESS_DENIED); return MOD_CONT; diff --git a/src/core/bs_kick.c b/src/core/bs_kick.c index be0815a29..7bce96b56 100644 --- a/src/core/bs_kick.c +++ b/src/core/bs_kick.c @@ -37,7 +37,7 @@ class CommandBSKick : public Command syntax_error(Config.s_BotServ, u, "KICK", BOT_KICK_SYNTAX); else if (value != "ON" && value != "OFF") syntax_error(Config.s_BotServ, u, "KICK", BOT_KICK_SYNTAX); - else if (!check_access(u, ci, CA_SET) && !u->nc->HasPriv("botserv/administration")) + else if (!check_access(u, ci, CA_SET) && !u->Account()->HasPriv("botserv/administration")) notice_lang(Config.s_BotServ, u, ACCESS_DENIED); else if (!ci->bi) notice_help(Config.s_BotServ, u, BOT_NOT_ASSIGNED); diff --git a/src/core/bs_set.c b/src/core/bs_set.c index b8cc3ae12..69c6612f7 100644 --- a/src/core/bs_set.c +++ b/src/core/bs_set.c @@ -36,7 +36,7 @@ class CommandBSSet : public Command return MOD_CONT; } - if (u->nc->HasCommand("botserv/set/private") && option == "PRIVATE") + if (u->Account()->HasCommand("botserv/set/private") && option == "PRIVATE") { BotInfo *bi; @@ -63,7 +63,7 @@ class CommandBSSet : public Command return MOD_CONT; } else if (!(ci = cs_findchan(chan))) notice_lang(Config.s_BotServ, u, CHAN_X_NOT_REGISTERED, chan); - else if (!u->nc->HasPriv("botserv/administration") && !check_access(u, ci, CA_SET)) + else if (!u->Account()->HasPriv("botserv/administration") && !check_access(u, ci, CA_SET)) notice_lang(Config.s_BotServ, u, ACCESS_DENIED); else { if (option == "DONTKICKOPS") { @@ -114,7 +114,7 @@ class CommandBSSet : public Command syntax_error(Config.s_BotServ, u, "SET GREET", BOT_SET_GREET_SYNTAX); } - } else if (u->nc->HasCommand("botserv/set/nobot") && option == "NOBOT") { + } else if (u->Account()->HasCommand("botserv/set/nobot") && option == "NOBOT") { if (value == "ON") { ci->botflags.SetFlag(BS_NOBOT); if (ci->bi) @@ -150,7 +150,7 @@ class CommandBSSet : public Command if (subcommand.empty()) { notice_help(Config.s_BotServ, u, BOT_HELP_SET); - if (u->nc && u->nc->IsServicesOper()) + if (u->Account() && u->Account()->IsServicesOper()) notice_help(Config.s_BotServ, u, BOT_SERVADMIN_HELP_SET); } else if (subcommand == "DONTKICKOPS") diff --git a/src/core/bs_unassign.c b/src/core/bs_unassign.c index a29f0099f..0505b8ea6 100644 --- a/src/core/bs_unassign.c +++ b/src/core/bs_unassign.c @@ -30,7 +30,7 @@ class CommandBSUnassign : public Command if (readonly) notice_lang(Config.s_BotServ, u, BOT_ASSIGN_READONLY); - else if (!u->nc->HasPriv("botserv/administration") && !check_access(u, ci, CA_ASSIGN)) + else if (!u->Account()->HasPriv("botserv/administration") && !check_access(u, ci, CA_ASSIGN)) notice_lang(Config.s_BotServ, u, ACCESS_DENIED); else if (!ci->bi) notice_help(Config.s_BotServ, u, BOT_NOT_ASSIGNED); diff --git a/src/core/cs_access.c b/src/core/cs_access.c index 808141aa0..d26891d73 100644 --- a/src/core/cs_access.c +++ b/src/core/cs_access.c @@ -20,7 +20,7 @@ static int access_del(User * u, ChannelInfo *ci, ChanAccess * access, int *perm, char *nick; if (!access->in_use) return 0; - if (uacc <= access->level && !u->nc->HasPriv("chanserv/access/modify")) + if (uacc <= access->level && !u->Account()->HasPriv("chanserv/access/modify")) { (*perm)++; return 0; @@ -97,7 +97,7 @@ static int access_view(User *u, int index, ChannelInfo *ci, int *sent_header) } memset(&timebuf, 0, sizeof(timebuf)); - if (ci->c && u->nc && nc_on_chan(ci->c, u->nc)) + if (ci->c && u->Account() && nc_on_chan(ci->c, u->Account())) sprintf(timebuf, "Now"); else if (access->last_seen == 0) sprintf(timebuf, "Never"); @@ -163,9 +163,9 @@ class CommandCSAccess : public Command notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_XOP, Config.s_ChanServ); } else if (( - (is_list && !check_access(u, ci, CA_ACCESS_LIST) && !u->nc->HasCommand("chanserv/access/list")) + (is_list && !check_access(u, ci, CA_ACCESS_LIST) && !u->Account()->HasCommand("chanserv/access/list")) || - (!is_list && !check_access(u, ci, CA_ACCESS_CHANGE) && !u->nc->HasPriv("chanserv/access/modify")) + (!is_list && !check_access(u, ci, CA_ACCESS_CHANGE) && !u->Account()->HasPriv("chanserv/access/modify")) )) notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); else if (cmd == "ADD") @@ -179,7 +179,7 @@ class CommandCSAccess : public Command level = atoi(s); ulev = get_access(u, ci); - if (level >= ulev && !u->nc->HasPriv("chanserv/access/modify")) + if (level >= ulev && !u->Account()->HasPriv("chanserv/access/modify")) { notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); return MOD_CONT; @@ -213,7 +213,7 @@ class CommandCSAccess : public Command if (access) { /* Don't allow lowering from a level >= ulev */ - if (access->level >= ulev && !u->nc->HasPriv("chanserv/access/modify")) + if (access->level >= ulev && !u->Account()->HasPriv("chanserv/access/modify")) { notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); return MOD_CONT; @@ -305,7 +305,7 @@ class CommandCSAccess : public Command notice_lang(Config.s_ChanServ, u, CHAN_ACCESS_NOT_FOUND, nick, chan); return MOD_CONT; } - if (get_access(u, ci) <= access->level && !u->nc->HasPriv("chanserv/access/modify")) + if (get_access(u, ci) <= access->level && !u->Account()->HasPriv("chanserv/access/modify")) { deleted = 0; notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); @@ -396,7 +396,7 @@ class CommandCSAccess : public Command return MOD_CONT; } - if (!IsFounder(u, ci) && !u->nc->HasPriv("chanserv/access/modify")) + if (!IsFounder(u, ci) && !u->Account()->HasPriv("chanserv/access/modify")) { notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); return MOD_CONT; @@ -454,7 +454,7 @@ class CommandCSLevels : public Command this->OnSyntaxError(u, cmd); else if (ci->HasFlag(CI_XOP)) notice_lang(Config.s_ChanServ, u, CHAN_LEVELS_XOP); - else if (!IsFounder(u, ci) && !u->nc->HasPriv("chanserv/access/modify")) + else if (!IsFounder(u, ci) && !u->Account()->HasPriv("chanserv/access/modify")) notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); else if (cmd == "SET") { level = strtol(s, &error, 10); diff --git a/src/core/cs_akick.c b/src/core/cs_akick.c index 2a45cd83c..355dd09ee 100644 --- a/src/core/cs_akick.c +++ b/src/core/cs_akick.c @@ -522,7 +522,7 @@ class CommandCSAKick : public Command if (mask.empty() && (cmd == "ADD" || cmd == "STICK" || cmd == "UNSTICK" || cmd == "DEL")) this->OnSyntaxError(u, cmd); - else if (!check_access(u, ci, CA_AKICK) && !u->nc->HasPriv("chanserv/access/modify")) + else if (!check_access(u, ci, CA_AKICK) && !u->Account()->HasPriv("chanserv/access/modify")) notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); else if (cmd != "LIST" && cmd != "VIEW" && cmd != "ENFORCE" && readonly) notice_lang(Config.s_ChanServ, u, CHAN_AKICK_DISABLED); diff --git a/src/core/cs_drop.c b/src/core/cs_drop.c index 1a94d9ff6..657e39762 100644 --- a/src/core/cs_drop.c +++ b/src/core/cs_drop.c @@ -37,19 +37,19 @@ class CommandCSDrop : public Command ci = cs_findchan(chan); - if ((ci->HasFlag(CI_FORBIDDEN)) && !u->nc->HasCommand("chanserv/drop")) + if ((ci->HasFlag(CI_FORBIDDEN)) && !u->Account()->HasCommand("chanserv/drop")) { notice_lang(Config.s_ChanServ, u, CHAN_X_FORBIDDEN, chan); return MOD_CONT; } - if ((ci->HasFlag(CI_SUSPENDED)) && !u->nc->HasCommand("chanserv/drop")) + if ((ci->HasFlag(CI_SUSPENDED)) && !u->Account()->HasCommand("chanserv/drop")) { notice_lang(Config.s_ChanServ, u, CHAN_X_FORBIDDEN, chan); return MOD_CONT; } - if ((ci->HasFlag(CI_SECUREFOUNDER) ? !IsRealFounder(u, ci) : !IsFounder(u, ci)) && !u->nc->HasCommand("chanserv/drop")) + if ((ci->HasFlag(CI_SECUREFOUNDER) ? !IsRealFounder(u, ci) : !IsFounder(u, ci)) && !u->Account()->HasCommand("chanserv/drop")) { notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); return MOD_CONT; @@ -92,7 +92,7 @@ class CommandCSDrop : public Command bool OnHelp(User *u, const ci::string &subcommand) { - if (u->nc && u->nc->IsServicesOper()) + if (u->Account() && u->Account()->IsServicesOper()) notice_help(Config.s_ChanServ, u, CHAN_SERVADMIN_HELP_DROP); else notice_help(Config.s_ChanServ, u, CHAN_HELP_DROP); diff --git a/src/core/cs_forbid.c b/src/core/cs_forbid.c index 64a707c8f..ecaae1df5 100644 --- a/src/core/cs_forbid.c +++ b/src/core/cs_forbid.c @@ -79,7 +79,7 @@ class CommandCSForbid : public Command if (is_oper(uc->user)) continue; - c->Kick(findbot(Config.s_ChanServ), uc->user, "%s", reason ? reason : getstring(uc->user->nc, CHAN_FORBID_REASON)); + c->Kick(findbot(Config.s_ChanServ), uc->user, "%s", reason ? reason : getstring(uc->user->Account(), CHAN_FORBID_REASON)); } } diff --git a/src/core/cs_getkey.c b/src/core/cs_getkey.c index 3e92a2efd..3fd53351f 100644 --- a/src/core/cs_getkey.c +++ b/src/core/cs_getkey.c @@ -30,7 +30,7 @@ class CommandCSGetKey : public Command ci = cs_findchan(chan); - if (!check_access(u, ci, CA_GETKEY) && !u->nc->HasCommand("chanserv/getkey")) + if (!check_access(u, ci, CA_GETKEY) && !u->Account()->HasCommand("chanserv/getkey")) { notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); return MOD_CONT; diff --git a/src/core/cs_help.c b/src/core/cs_help.c index 80f4e6358..c7be1e787 100644 --- a/src/core/cs_help.c +++ b/src/core/cs_help.c @@ -58,7 +58,7 @@ class CommandCSHelp : public Command FOREACH_MOD(I_OnChanServHelp, OnChanServHelp(u)); if (Config.CSExpire >= 86400) notice_help(Config.s_ChanServ, u, CHAN_HELP_EXPIRES, Config.CSExpire / 86400); - if (u->nc && u->nc->IsServicesOper()) + if (u->Account() && u->Account()->IsServicesOper()) notice_help(Config.s_ChanServ, u, CHAN_SERVADMIN_HELP); } }; diff --git a/src/core/cs_info.c b/src/core/cs_info.c index 97330aadb..07d210afa 100644 --- a/src/core/cs_info.c +++ b/src/core/cs_info.c @@ -44,7 +44,7 @@ class CommandCSInfo : public Command ChannelInfo *ci; char buf[BUFSIZE]; struct tm *tm; - bool has_auspex = u->nc && u->nc->HasPriv("chanserv/auspex"); + bool has_auspex = u->Account() && u->Account()->HasPriv("chanserv/auspex"); int show_all = 0; time_t expt; ChannelMode *cm; @@ -104,21 +104,21 @@ class CommandCSInfo : public Command notice_lang(Config.s_ChanServ, u, CHAN_INFO_BANTYPE, ci->bantype); std::string optbuf; - CheckOptStr(optbuf, CI_KEEPTOPIC, getstring(u, CHAN_INFO_OPT_KEEPTOPIC), ci, u->nc); - CheckOptStr(optbuf, CI_OPNOTICE, getstring(u, CHAN_INFO_OPT_OPNOTICE), ci, u->nc); - CheckOptStr(optbuf, CI_PEACE, getstring(u, CHAN_INFO_OPT_PEACE), ci, u->nc); - CheckOptStr(optbuf, CI_PRIVATE, getstring(u, CHAN_INFO_OPT_PRIVATE), ci, u->nc); - CheckOptStr(optbuf, CI_RESTRICTED, getstring(u, CHAN_INFO_OPT_RESTRICTED), ci, u->nc); - CheckOptStr(optbuf, CI_SECURE, getstring(u, CHAN_INFO_OPT_SECURE), ci, u->nc); - CheckOptStr(optbuf, CI_SECUREFOUNDER, getstring(u, CHAN_INFO_OPT_SECUREFOUNDER), ci, u->nc); - CheckOptStr(optbuf, CI_SECUREOPS, getstring(u, CHAN_INFO_OPT_SECUREOPS), ci, u->nc); + CheckOptStr(optbuf, CI_KEEPTOPIC, getstring(u, CHAN_INFO_OPT_KEEPTOPIC), ci, u->Account()); + CheckOptStr(optbuf, CI_OPNOTICE, getstring(u, CHAN_INFO_OPT_OPNOTICE), ci, u->Account()); + CheckOptStr(optbuf, CI_PEACE, getstring(u, CHAN_INFO_OPT_PEACE), ci, u->Account()); + CheckOptStr(optbuf, CI_PRIVATE, getstring(u, CHAN_INFO_OPT_PRIVATE), ci, u->Account()); + CheckOptStr(optbuf, CI_RESTRICTED, getstring(u, CHAN_INFO_OPT_RESTRICTED), ci, u->Account()); + CheckOptStr(optbuf, CI_SECURE, getstring(u, CHAN_INFO_OPT_SECURE), ci, u->Account()); + CheckOptStr(optbuf, CI_SECUREFOUNDER, getstring(u, CHAN_INFO_OPT_SECUREFOUNDER), ci, u->Account()); + CheckOptStr(optbuf, CI_SECUREOPS, getstring(u, CHAN_INFO_OPT_SECUREOPS), ci, u->Account()); if (ci->HasFlag(CI_SIGNKICK)) - CheckOptStr(optbuf, CI_SIGNKICK, getstring(u, CHAN_INFO_OPT_SIGNKICK), ci, u->nc); + CheckOptStr(optbuf, CI_SIGNKICK, getstring(u, CHAN_INFO_OPT_SIGNKICK), ci, u->Account()); else - CheckOptStr(optbuf, CI_SIGNKICK_LEVEL, getstring(u, CHAN_INFO_OPT_SIGNKICK), ci, u->nc); - CheckOptStr(optbuf, CI_TOPICLOCK, getstring(u, CHAN_INFO_OPT_TOPICLOCK), ci, u->nc); - CheckOptStr(optbuf, CI_XOP, getstring(u, CHAN_INFO_OPT_XOP), ci, u->nc); - CheckOptStr(optbuf, CI_PERSIST, getstring(u, CHAN_INFO_OPT_PERSIST), ci, u->nc); + CheckOptStr(optbuf, CI_SIGNKICK_LEVEL, getstring(u, CHAN_INFO_OPT_SIGNKICK), ci, u->Account()); + CheckOptStr(optbuf, CI_TOPICLOCK, getstring(u, CHAN_INFO_OPT_TOPICLOCK), ci, u->Account()); + CheckOptStr(optbuf, CI_XOP, getstring(u, CHAN_INFO_OPT_XOP), ci, u->Account()); + CheckOptStr(optbuf, CI_PERSIST, getstring(u, CHAN_INFO_OPT_PERSIST), ci, u->Account()); notice_lang(Config.s_ChanServ, u, CHAN_INFO_OPTIONS, optbuf.empty() ? getstring(u, CHAN_INFO_OPT_NONE) : optbuf.c_str()); notice_lang(Config.s_ChanServ, u, CHAN_INFO_MODE_LOCK, get_mlock_modes(ci, 1)); @@ -152,7 +152,7 @@ class CommandCSInfo : public Command bool OnHelp(User *u, const ci::string &subcommand) { notice_lang(Config.s_ChanServ, u, CHAN_HELP_INFO); - if (u->nc && u->nc->IsServicesOper()) + if (u->Account() && u->Account()->IsServicesOper()) notice_lang(Config.s_ChanServ, u, CHAN_SERVADMIN_HELP_INFO); return true; diff --git a/src/core/cs_list.c b/src/core/cs_list.c index af1bbd0aa..3046e8873 100644 --- a/src/core/cs_list.c +++ b/src/core/cs_list.c @@ -32,7 +32,7 @@ public: ChannelInfo *ci; unsigned nchans, i; char buf[BUFSIZE]; - bool is_servadmin = u->nc->HasCommand("chanserv/list"); + bool is_servadmin = u->Account()->HasCommand("chanserv/list"); int count = 0, from = 0, to = 0, tofree = 0; char *tmp = NULL; char *s = NULL; diff --git a/src/core/cs_register.c b/src/core/cs_register.c index 67c4d0ff7..8d0766304 100644 --- a/src/core/cs_register.c +++ b/src/core/cs_register.c @@ -51,8 +51,8 @@ class CommandCSRegister : public Command notice_lang(Config.s_ChanServ, u, CHAN_MAY_NOT_BE_REGISTERED, chan); else if (!c->HasUserStatus(u, CMODE_OP)) notice_lang(Config.s_ChanServ, u, CHAN_MUST_BE_CHANOP); - else if (Config.CSMaxReg && u->nc->channelcount >= Config.CSMaxReg && !u->nc->HasPriv("chanserv/no-register-limit")) - notice_lang(Config.s_ChanServ, u, u->nc->channelcount > Config.CSMaxReg ? CHAN_EXCEEDED_CHANNEL_LIMIT : CHAN_REACHED_CHANNEL_LIMIT, Config.CSMaxReg); + else if (Config.CSMaxReg && u->Account()->channelcount >= Config.CSMaxReg && !u->Account()->HasPriv("chanserv/no-register-limit")) + notice_lang(Config.s_ChanServ, u, u->Account()->channelcount > Config.CSMaxReg ? CHAN_EXCEEDED_CHANNEL_LIMIT : CHAN_REACHED_CHANNEL_LIMIT, Config.CSMaxReg); else if (!(ci = new ChannelInfo(chan))) { Alog() << Config.s_ChanServ << ": makechan() failed for REGISTER " << chan; @@ -62,7 +62,7 @@ class CommandCSRegister : public Command { c->ci = ci; ci->c = c; - ci->founder = u->nc; + ci->founder = u->Account(); ci->desc = sstrdup(desc); if (c->topic) diff --git a/src/core/cs_set.c b/src/core/cs_set.c index 2d8981072..01de1007a 100644 --- a/src/core/cs_set.c +++ b/src/core/cs_set.c @@ -36,7 +36,7 @@ class CommandCSSet : public Command } nc = na->nc; - if (Config.CSMaxReg && nc->channelcount >= Config.CSMaxReg && !u->nc->HasPriv("chanserv/no-register-limit")) + if (Config.CSMaxReg && nc->channelcount >= Config.CSMaxReg && !u->Account()->HasPriv("chanserv/no-register-limit")) { notice_lang(Config.s_ChanServ, u, CHAN_SET_FOUNDER_TOO_MANY_CHANS, param.c_str()); return MOD_CONT; @@ -605,7 +605,7 @@ class CommandCSSet : public Command CommandReturn DoSetNoExpire(User * u, ChannelInfo * ci, const ci::string ¶m) { - if (!u->nc->HasCommand("chanserv/set/noexpire")) + if (!u->Account()->HasCommand("chanserv/set/noexpire")) { notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); return MOD_CONT; @@ -637,7 +637,7 @@ class CommandCSSet : public Command ci::string cmd = params[1]; ci::string param = params.size() > 2 ? params[2] : ""; ChannelInfo *ci = cs_findchan(chan); - bool is_servadmin = u->nc->HasPriv("chanserv/set"); + bool is_servadmin = u->Account()->HasPriv("chanserv/set"); if (readonly) { notice_lang(Config.s_ChanServ, u, CHAN_SET_DISABLED); @@ -726,7 +726,7 @@ class CommandCSSet : public Command if (subcommand.empty()) { notice_help(Config.s_ChanServ, u, CHAN_HELP_SET); - if (u->nc && u->nc->IsServicesOper()) + if (u->Account() && u->Account()->IsServicesOper()) notice_help(Config.s_ChanServ, u, CHAN_SERVADMIN_HELP_SET); } else if (subcommand == "FOUNDER") diff --git a/src/core/cs_suspend.c b/src/core/cs_suspend.c index d356e36e2..9a3907831 100644 --- a/src/core/cs_suspend.c +++ b/src/core/cs_suspend.c @@ -69,7 +69,7 @@ class CommandCSSuspend : public Command if (is_oper(uc->user)) continue; - c->Kick(NULL, uc->user, "%s", reason ? reason : getstring(uc->user->nc, CHAN_SUSPEND_REASON)); + c->Kick(NULL, uc->user, "%s", reason ? reason : getstring(uc->user->Account(), CHAN_SUSPEND_REASON)); } } diff --git a/src/core/cs_topic.c b/src/core/cs_topic.c index 67546d8e8..f9896df7f 100644 --- a/src/core/cs_topic.c +++ b/src/core/cs_topic.c @@ -35,7 +35,7 @@ class CommandCSTopic : public Command if (!c) notice_lang(Config.s_ChanServ, u, CHAN_X_NOT_IN_USE, chan); - else if (!check_access(u, ci, CA_TOPIC) && !u->nc->HasCommand("chanserv/topic")) + else if (!check_access(u, ci, CA_TOPIC) && !u->Account()->HasCommand("chanserv/topic")) notice_lang(Config.s_ChanServ, u, ACCESS_DENIED); else { diff --git a/src/core/cs_xop.c b/src/core/cs_xop.c index 130f62943..1fa32265e 100644 --- a/src/core/cs_xop.c +++ b/src/core/cs_xop.c @@ -138,7 +138,7 @@ class XOPBase : public Command short ulev = get_access(u, ci); - if ((level >= ulev || ulev < ACCESS_AOP) && !u->nc->HasPriv("chanserv/access/modify")) + |
