X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_spanningtree%2Fnickcollide.cpp;h=2acce9fdce548db607149e95df5251706fb2018e;hb=3624c137a6db85eaab0372550c9dca79d6d21e55;hp=9656f9af37a17dfaf2aed7b6b1e6fcac8b857643;hpb=eacd707421be4f2612df9bde4517649061bb062e;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_spanningtree/nickcollide.cpp b/src/modules/m_spanningtree/nickcollide.cpp index 9656f9af3..2acce9fdc 100644 --- a/src/modules/m_spanningtree/nickcollide.cpp +++ b/src/modules/m_spanningtree/nickcollide.cpp @@ -1,31 +1,36 @@ -/* +------------------------------------+ - * | Inspire Internet Relay Chat Daemon | - * +------------------------------------+ +/* + * InspIRCd -- Internet Relay Chat Daemon + * + * Copyright (C) 2009 Daniel De Graaf + * Copyright (C) 2008 Robin Burchell * - * InspIRCd: (C) 2002-2009 InspIRCd Development Team - * See: http://www.inspircd.org/wiki/index.php/Credits + * This file is part of InspIRCd. InspIRCd is free software: you can + * redistribute it and/or modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation, version 2. * - * This program is free but copyrighted software; see - * the file COPYING for details. + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. * - * --------------------------------------------------- + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ + #include "inspircd.h" -#include "xline.h" -#include "m_spanningtree/treesocket.h" -#include "m_spanningtree/treeserver.h" -#include "m_spanningtree/utils.h" +#include "treesocket.h" +#include "utils.h" -/* $ModDep: m_spanningtree/utils.h m_spanningtree/treeserver.h m_spanningtree/treesocket.h */ +/* $ModDep: m_spanningtree/utils.h m_spanningtree/treesocket.h */ /* * Yes, this function looks a little ugly. * However, in some circumstances we may not have a User, so we need to do things this way. * Returns 1 if colliding local client, 2 if colliding remote, 3 if colliding both. - * Sends SVSNICKs as appropriate and forces nickchanges too. + * Sends SAVEs as appropriate and forces nickchanges too. */ int TreeSocket::DoCollision(User *u, time_t remotets, const std::string &remoteident, const std::string &remoteip, const std::string &remoteuid) { @@ -86,11 +91,11 @@ int TreeSocket::DoCollision(User *u, time_t remotets, const std::string &remotei /* * Cheat a little here. Instead of a dedicated command to change UID, - * use SVSNICK and accept the losing client with its UID (as we know the SVSNICK will + * use SAVE and accept the losing client with its UID (as we know the SAVE 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 + * they have just linked (and where it got the SAVE 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 @@ -100,33 +105,32 @@ int TreeSocket::DoCollision(User *u, time_t remotets, const std::string &remotei { /* * Local-side nick needs to change. Just in case we are hub, and - * this "local" nick is actually behind us, send an SVSNICK out. + * this "local" nick is actually behind us, send an SAVE out. */ - std::deque params; - params.push_back(u->uuid); + parameterlist params; params.push_back(u->uuid); params.push_back(ConvToStr(u->age)); - Utils->DoOneToMany(ServerInstance->Config->GetSID(),"SVSNICK",params); + Utils->DoOneToMany(ServerInstance->Config->GetSID(),"SAVE",params); - u->ForceNickChange(u->uuid.c_str()); + u->ForceNickChange(u->uuid); if (!bChangeRemote) return 1; } if (bChangeRemote) { - User *remote = this->ServerInstance->FindUUID(remoteuid); + User *remote = ServerInstance->FindUUID(remoteuid); /* * remote side needs to change. If this happens, we will modify * the UID or halt the propagation of the nick change command, - * so other servers don't need to see the SVSNICK + * so other servers don't need to see the SAVE */ - WriteLine(std::string(":")+ServerInstance->Config->GetSID()+" SVSNICK "+remoteuid+" " + remoteuid + " " + ConvToStr(remotets)); + WriteLine(":"+ServerInstance->Config->GetSID()+" SAVE "+remoteuid+" "+ ConvToStr(remotets)); if (remote) { /* nick change collide. Force change their nick. */ - remote->ForceNickChange(remoteuid.c_str()); + remote->ForceNickChange(remoteuid); } if (!bChangeLocal)