summaryrefslogtreecommitdiff
path: root/modules/protocol/ratbox.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-10-14 12:20:07 -0400
committerAdam <Adam@anope.org>2011-10-14 12:20:07 -0400
commitddc3c2f38cf6ddc0c1f8ad82489a281e01ef50fc (patch)
tree832b02a62d2da9078b7ab5f9d4d5d99e15570294 /modules/protocol/ratbox.cpp
parent53275c362c521807b70e1eb7cf936f35593dd4dc (diff)
Added options:nonicknameownership config option
Diffstat (limited to 'modules/protocol/ratbox.cpp')
-rw-r--r--modules/protocol/ratbox.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp
index 2a135287b..e5f7a759a 100644
--- a/modules/protocol/ratbox.cpp
+++ b/modules/protocol/ratbox.cpp
@@ -207,12 +207,15 @@ class RatboxProto : public IRCDProto
send_cmd(source->GetUID(), "INVITE %s %s", u ? u->GetUID().c_str() : nick.c_str(), chan.c_str());
}
- void SendAccountLogin(const User *u, const NickCore *account)
+ void SendLogin(User *u)
{
- send_cmd(Config->Numeric, "ENCAP * SU %s %s", u->GetUID().c_str(), account->display.c_str());
+ if (!u->Account())
+ return;
+
+ send_cmd(Config->Numeric, "ENCAP * SU %s %s", u->GetUID().c_str(), u->Account()->display.c_str());
}
- void SendAccountLogout(const User *u, const NickCore *account)
+ void SendLogout(User *u)
{
send_cmd(Config->Numeric, "ENCAP * SU %s", u->GetUID().c_str());
}
@@ -479,6 +482,10 @@ bool event_encap(const Anope::string &source, const std::vector<Anope::string> &
if (!u || !nc)
return true;
u->Login(nc);
+
+ NickAlias *user_na = findnick(u->nick);
+ if (!Config->NoNicknameOwnership && user_na && user_na->nc == nc && user_na->nc->HasFlag(NI_UNCONFIRMED) == false)
+ u->SetMode(findbot(Config->NickServ), UMODE_REGISTERED);
}
return true;