1
0
mirror of https://github.com/anope/anope.git synced 2026-06-28 22:46:38 +02:00

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.
This commit is contained in:
Adam
2014-02-27 22:42:54 -05:00
parent d24fb03917
commit fee016bb84
15 changed files with 105 additions and 21 deletions
+1 -1
View File
@@ -284,7 +284,7 @@ struct IRCDMessageUID : IRCDMessage
if (params[8] != "0" && !na)
na = NickAlias::Find(params[8]);
new User(params[0], params[4], params[9], params[5], ip, source.GetServer(), params[10], ts, params[3], params[7], na ? *na->nc : NULL);
User::OnIntroduce(params[0], params[4], params[9], params[5], ip, source.GetServer(), params[10], ts, params[3], params[7], na ? *na->nc : NULL);
}
};