summaryrefslogtreecommitdiff
path: root/modules/protocol/charybdis.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-06-19 18:59:26 -0400
committerAdam <Adam@anope.org>2013-06-19 19:03:56 -0400
commit5ac1e9175d90fad5feaf235dfe225ddffc47f257 (patch)
tree729e5c1b34e2c23f1c5cdba427e52958b1b17ff0 /modules/protocol/charybdis.cpp
parent5695c9e079278e74692d55581769745c833bc284 (diff)
Set vhosts when users id to an account (and not a nick), add account arg to user ctor to ease handling users who connect already identified
Diffstat (limited to 'modules/protocol/charybdis.cpp')
-rw-r--r--modules/protocol/charybdis.cpp15
1 files changed, 3 insertions, 12 deletions
diff --git a/modules/protocol/charybdis.cpp b/modules/protocol/charybdis.cpp
index 9b87f3230..cc9f8a58b 100644
--- a/modules/protocol/charybdis.cpp
+++ b/modules/protocol/charybdis.cpp
@@ -283,20 +283,11 @@ struct IRCDMessageEUID : IRCDMessage
*/
void Run(MessageSource &source, const std::vector<Anope::string> &params) anope_override
{
- /* Source is always the server */
- User *u = new User(params[0], params[4], params[8], params[5], params[6], source.GetServer(), params[10], params[2].is_pos_number_only() ? convertTo<time_t>(params[2]) : Anope::CurTime, params[3], params[7]);
+ NickAlias *na = NULL;
if (params[9] != "*")
- {
- NickAlias *na = NickAlias::Find(params[9]);
- if (na)
- {
- u->Login(na->nc);
+ na = NickAlias::Find(params[9]);
- BotInfo *NickServ = Config->GetClient("NickServ");
- if (u->server->IsSynced() && NickServ)
- u->SendMessage(NickServ, _("You have been logged in as \2%s\2."), na->nc->display.c_str());
- }
- }
+ new User(params[0], params[4], params[8], params[5], params[6], source.GetServer(), params[10], params[2].is_pos_number_only() ? convertTo<time_t>(params[2]) : Anope::CurTime, params[3], params[7], na ? *na->nc : NULL);
}
};