summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/channels.c8
-rw-r--r--src/chanserv.c26
-rw-r--r--src/commands.c8
-rw-r--r--src/core/bs_assign.c4
-rw-r--r--src/core/bs_badwords.c2
-rw-r--r--src/core/bs_bot.c6
-rw-r--r--src/core/bs_botlist.c2
-rw-r--r--src/core/bs_info.c4
-rw-r--r--src/core/bs_kick.c2
-rw-r--r--src/core/bs_set.c8
-rw-r--r--src/core/bs_unassign.c2
-rw-r--r--src/core/cs_access.c18
-rw-r--r--src/core/cs_akick.c2
-rw-r--r--src/core/cs_drop.c8
-rw-r--r--src/core/cs_forbid.c2
-rw-r--r--src/core/cs_getkey.c2
-rw-r--r--src/core/cs_help.c2
-rw-r--r--src/core/cs_info.c30
-rw-r--r--src/core/cs_list.c2
-rw-r--r--src/core/cs_register.c6
-rw-r--r--src/core/cs_set.c8
-rw-r--r--src/core/cs_suspend.c2
-rw-r--r--src/core/cs_topic.c2
-rw-r--r--src/core/cs_xop.c14
-rw-r--r--src/core/hs_group.c6
-rw-r--r--src/core/hs_on.c2
-rw-r--r--src/core/ms_cancel.c2
-rw-r--r--src/core/ms_check.c2
-rw-r--r--src/core/ms_del.c2
-rw-r--r--src/core/ms_info.c22
-rw-r--r--src/core/ms_list.c2
-rw-r--r--src/core/ms_read.c2
-rw-r--r--src/core/ms_rsend.c4
-rw-r--r--src/core/ms_set.c38
-rw-r--r--src/core/ns_access.c12
-rw-r--r--src/core/ns_alist.c6
-rw-r--r--src/core/ns_drop.c8
-rw-r--r--src/core/ns_ghost.c2
-rw-r--r--src/core/ns_group.c15
-rw-r--r--src/core/ns_help.c2
-rw-r--r--src/core/ns_identify.c16
-rw-r--r--src/core/ns_info.c14
-rw-r--r--src/core/ns_list.c8
-rw-r--r--src/core/ns_logout.c12
-rw-r--r--src/core/ns_recover.c4
-rw-r--r--src/core/ns_register.c8
-rw-r--r--src/core/ns_release.c4
-rw-r--r--src/core/ns_resetpass.c6
-rw-r--r--src/core/ns_saset.c4
-rw-r--r--src/core/ns_sendpass.c2
-rw-r--r--src/core/ns_set.c30
-rw-r--r--src/core/ns_status.c8
-rw-r--r--src/core/ns_suspend.c2
-rw-r--r--src/core/os_akill.c2
-rw-r--r--src/core/os_session.c2
-rw-r--r--src/core/os_sgline.c2
-rw-r--r--src/core/os_sqline.c2
-rw-r--r--src/core/os_staff.c2
-rw-r--r--src/core/os_szline.c2
-rw-r--r--src/language.c4
-rw-r--r--src/mail.c2
-rw-r--r--src/memoserv.c19
-rw-r--r--src/modules.c8
-rw-r--r--src/modules/cs_enforce.c2
-rw-r--r--src/modules/hs_request.c4
-rw-r--r--src/modules/ns_maxemail.c2
-rw-r--r--src/nickalias.cpp6
-rw-r--r--src/nickcore.cpp19
-rw-r--r--src/nickserv.c18
-rw-r--r--src/protocol/bahamut.c6
-rw-r--r--src/protocol/inspircd11.c6
-rw-r--r--src/protocol/inspircd12.cpp6
-rw-r--r--src/protocol/ratbox.c6
-rw-r--r--src/protocol/unreal32.c6
-rw-r--r--src/servers.c2
-rw-r--r--src/users.c62
76 files changed, 314 insertions, 291 deletions
diff --git a/src/channels.c b/src/channels.c
index a6f998f65..4f764b8fc 100644
--- a/src/channels.c
+++ b/src/channels.c
@@ -166,7 +166,7 @@ void Channel::JoinUser(User *user)
if (Config.s_BotServ && this->ci && this->ci->bi)
{
if (this->users.size() >= Config.BSMinUsers && (this->ci->botflags.HasFlag(BS_GREET))
- && user->nc && user->nc->greet && check_access(user, this->ci, CA_GREET))
+ && user->Account() && user->Account()->greet && check_access(user, this->ci, CA_GREET))
{
/* Only display the greet if the main uplink we're connected
* to has synced, or we'll get greet-floods when the net
@@ -174,7 +174,7 @@ void Channel::JoinUser(User *user)
*/
if (is_sync(user->server))
{
- ircdproto->SendPrivmsg(this->ci->bi, this->name.c_str(), "[%s] %s", user->nc->display, user->nc->greet);
+ ircdproto->SendPrivmsg(this->ci->bi, this->name.c_str(), "[%s] %s", user->Account()->display, user->Account()->greet);
this->ci->bi->lastmsg = time(NULL);
}
}
@@ -1138,7 +1138,7 @@ User *nc_on_chan(Channel * c, NickCore * nc)
{
UserContainer *uc = *it;
- if (uc->user->nc == nc)
+ if (uc->user->Account() == nc)
return uc->user;
}
return NULL;
@@ -1474,7 +1474,7 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
Alog(LOG_DEBUG) << "Setting correct user modes for " << user->nick << " on " << c->name << " (" << (give_modes ? "" : "not ") << "giving modes)";
- if (give_modes && !get_ignore(user->nick.c_str()) && (!user->nc || !user->nc->HasFlag(NI_AUTOOP)))
+ if (give_modes && !get_ignore(user->nick.c_str()) && (!user->Account() || !user->Account()->HasFlag(NI_AUTOOP)))
{
if (owner && check_access(user, ci, CA_AUTOOWNER))
c->SetMode(NULL, CMODE_OWNER, user->nick);
diff --git a/src/chanserv.c b/src/chanserv.c
index deb0f139c..fd69ec8d0 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -520,7 +520,7 @@ int check_should_op(User * user, char *chan)
if (!ci || (ci->HasFlag(CI_FORBIDDEN)) || *chan == '+')
return 0;
- if ((ci->HasFlag(CI_SECURE)) && !nick_identified(user))
+ if ((ci->HasFlag(CI_SECURE)) && !user->IsIdentified())
return 0;
if (check_access(user, ci, CA_AUTOOP))
@@ -544,7 +544,7 @@ int check_should_voice(User * user, char *chan)
if (!ci || (ci->HasFlag(CI_FORBIDDEN)) || *chan == '+')
return 0;
- if ((ci->HasFlag(CI_SECURE)) && !nick_identified(user))
+ if ((ci->HasFlag(CI_SECURE)) && !user->IsIdentified())
return 0;
if (check_access(user, ci, CA_AUTOVOICE))
@@ -648,8 +648,8 @@ bool ChannelInfo::CheckKick(User *user)
do_kick = true;
}
- if (user->nc || user->IsRecognized())
- nc = user->nc;
+ if (user->Account() || user->IsRecognized())
+ nc = user->Account();
else
nc = NULL;
@@ -1084,8 +1084,8 @@ bool IsFounder(User *user, ChannelInfo *ci)
if (IsRealFounder(user, ci))
return true;
- if (user->nc)
- access = ci->GetAccess(user->nc);
+ if (user->Account())
+ access = ci->GetAccess(user->Account());
else
{
NickAlias *na = findnick(user->nick);
@@ -1094,7 +1094,7 @@ bool IsFounder(User *user, ChannelInfo *ci)
}
/* If they're QOP+ and theyre identified or theyre recognized and the channel isn't secure */
- if (access && access->level >= ACCESS_QOP && (user->nc || (user->IsRecognized() && !(ci->HasFlag(CI_SECURE)))))
+ if (access && access->level >= ACCESS_QOP && (user->Account() || (user->IsRecognized() && !(ci->HasFlag(CI_SECURE)))))
return true;
return false;
@@ -1113,7 +1113,7 @@ bool IsRealFounder(User *user, ChannelInfo *ci)
if (user->isSuperAdmin)
return true;
- if (user->nc && user->nc == ci->founder)
+ if (user->Account() && user->Account() == ci->founder)
return true;
return false;
@@ -1141,9 +1141,9 @@ int get_access(User *user, ChannelInfo *ci)
if (IsFounder(user, ci))
return ACCESS_FOUNDER;
- if (nick_identified(user))
+ if (user->IsIdentified())
{
- access = ci->GetAccess(user->nc);
+ access = ci->GetAccess(user->Account());
if (access)
return access->level;
}
@@ -1165,12 +1165,12 @@ void update_cs_lastseen(User * user, ChannelInfo * ci)
{
ChanAccess *access;
- if (!ci || !user || !user->nc)
+ if (!ci || !user || !user->Account())
return;
- if (IsFounder(user, ci) || nick_identified(user)
+ if (IsFounder(user, ci) || user->IsIdentified()
|| (user->IsRecognized() && !ci->HasFlag(CI_SECURE)))
- if ((access = ci->GetAccess(user->nc)))
+ if ((access = ci->GetAccess(user->Account())))
access->last_seen = time(NULL);
}
diff --git a/src/commands.c b/src/commands.c
index 4e3b36e7a..ba97c931a 100644
--- a/src/commands.c
+++ b/src/commands.c
@@ -68,7 +68,7 @@ void mod_run_cmd(const std::string &service, User * u, CommandHash * cmdTable[],
if (!c->HasFlag(CFLAG_ALLOW_UNREGISTERED))
{
// Command requires registered users only
- if (!nick_identified(u))
+ if (!u->IsIdentified())
{
notice_lang(service, u, NICK_IDENTIFY_REQUIRED, Config.s_NickServ);
Alog() << "Access denied for unregistered user " << u->nick << " with service " << service << " and command " << cmd;
@@ -150,7 +150,7 @@ void mod_run_cmd(const std::string &service, User * u, CommandHash * cmdTable[],
// If the command requires a permission, and they aren't registered or don't have the required perm, DENIED
if (!c->permission.empty())
{
- if (!u->nc->HasCommand(c->permission))
+ if (!u->Account()->HasCommand(c->permission))
{
notice_lang(service, u, ACCESS_DENIED);
Alog() << "Access denied for user " << u->nick << " with service " << service << " and command " << cmd;
@@ -198,10 +198,10 @@ void mod_help_cmd(char *service, User * u, CommandHash * cmdTable[], const char
notice_lang(service, u, COMMAND_REQUIRES_PERM, c->permission.c_str());
/* User isn't identified and needs to be to use this command */
- if (!c->HasFlag(CFLAG_ALLOW_UNREGISTERED) && !nick_identified(u))
+ if (!c->HasFlag(CFLAG_ALLOW_UNREGISTERED) && !u->IsIdentified())
notice_lang(service, u, COMMAND_IDENTIFY_REQUIRED);
/* User doesn't have the proper permission to use this command */
- else if (!c->permission.empty() && (!u->nc || (!u->nc->HasCommand(c->permission))))
+ else if (!c->permission.empty() && (!u->Account() || (!u->Account()->HasCommand(c->permission))))
notice_lang(service, u, COMMAND_CANNOT_USE);
/* User can use this command */
else
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);