From 5ac1e9175d90fad5feaf235dfe225ddffc47f257 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 19 Jun 2013 18:59:26 -0400 Subject: 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 --- modules/protocol/bahamut.cpp | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'modules/protocol/bahamut.cpp') diff --git a/modules/protocol/bahamut.cpp b/modules/protocol/bahamut.cpp index d65c24d65..4b6feae2d 100644 --- a/modules/protocol/bahamut.cpp +++ b/modules/protocol/bahamut.cpp @@ -379,14 +379,13 @@ struct IRCDMessageNick : IRCDMessage return; } - User *user = new User(params[0], params[4], params[5], "", params[8], s, params[9], params[2].is_pos_number_only() ? convertTo(params[2]) : 0, params[3]); - try - { - NickAlias *na; - if (user->signon == convertTo(params[7]) && (na = NickAlias::Find(user->nick))) - user->Login(na->nc); - } - catch (const ConvertException &) { } + NickAlias *na = NULL; + time_t signon = params[2].is_pos_number_only() ? convertTo(params[2]) : 0, + stamp = params[7].is_pos_number_only() ? convertTo(params[7]) : 0; + if (signon && signon == stamp) + na = NickAlias::Find(params[0]); + + new User(params[0], params[4], params[5], "", params[8], s, params[9], signon, params[3], "", na ? *na->nc : NULL); } else source.GetUser()->ChangeNick(params[0]); -- cgit