From fee016bb84ba9a951000dac581261827a11cb668 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 27 Feb 2014 22:42:54 -0500 Subject: Handle nick collisions somewhat instead of blindly overwriting the nicks in memory, which does weird things. For fun different ircds implement this differently (Unreal compares timestamps, TS6 compares timestamps and user username/host), and whether or not we get a kill for our user also varies, so just kill everyone. This can't really happen anyway with properly set qlines, only if services haven't yet set the qlines, or possibly in a bot add/nick user introduce race, or with enforcers, which not many ircds require. --- modules/protocol/ratbox.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'modules/protocol/ratbox.cpp') diff --git a/modules/protocol/ratbox.cpp b/modules/protocol/ratbox.cpp index 3c3079ae2..72cdc9573 100644 --- a/modules/protocol/ratbox.cpp +++ b/modules/protocol/ratbox.cpp @@ -197,7 +197,7 @@ struct IRCDMessageUID : IRCDMessage void Run(MessageSource &source, const std::vector ¶ms) anope_override { /* Source is always the server */ - new User(params[0], params[4], params[5], "", params[6], source.GetServer(), params[8], params[2].is_pos_number_only() ? convertTo(params[2]) : 0, params[3], params[7], NULL); + User::OnIntroduce(params[0], params[4], params[5], "", params[6], source.GetServer(), params[8], params[2].is_pos_number_only() ? convertTo(params[2]) : 0, params[3], params[7], NULL); } }; -- cgit