mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-11 11:39:02 -04:00
Document the use of SVSNICK to fix a remote user on collide
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7911 e03df62e-2008-0410-955e-edbf42e46eb7
This commit is contained in:
parent
26d10afd16
commit
02aee47d72
@ -1027,6 +1027,17 @@ bool TreeSocket::ParseUID(const std::string &source, std::deque<std::string> &pa
|
||||
}
|
||||
if (bChangeRemote)
|
||||
{
|
||||
/*
|
||||
* Cheat a little here. Instead of a dedicated command to change UID,
|
||||
* use SVSNICK and accept their client with it's UID (as we know the SVSNICK will
|
||||
* not fail under any circumstances -- UIDs are netwide exclusive).
|
||||
*
|
||||
* This means that each side of a collide will generate one extra NICK back to where
|
||||
* they have just linked (and where it got the SVSNICK from), however, it will
|
||||
* be dropped harmlessly as it will come in as :928AAAB NICK 928AAAB, and we already
|
||||
* have 928AAAB's nick set to that.
|
||||
* -- w00t
|
||||
*/
|
||||
this->WriteLine(std::string(":")+this->Instance->Config->ServerName+" SVSNICK "+params[0]+" " + params[0]);
|
||||
/* also, don't trample on the hash - use their UID as nick */
|
||||
tempnick = params[0].c_str();
|
||||
|
Loading…
x
Reference in New Issue
Block a user