]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
*TEST* nick collision code for NICK change in server link
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Wed, 1 Feb 2006 21:45:47 +0000 (21:45 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Wed, 1 Feb 2006 21:45:47 +0000 (21:45 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3009 e03df62e-2008-0410-955e-edbf42e46eb7

src/modules/m_spanningtree.cpp

index b081b1d4beba85919c5c4780def2fe6b1c72528f..8117b7ef9cf19237441762561af0911743c6863f 100644 (file)
@@ -2126,6 +2126,20 @@ class TreeSocket : public InspSocket
                                        }
                                        if (who)
                                        {
+                                               if ((command == "NICK") && (params.size() > 0))
+                                               {
+                                                       /* On nick messages, check that the nick doesnt
+                                                        * already exist here. If it does, kill their copy,
+                                                        * and our copy.
+                                                        */
+                                                       userrec* x = Srv->FindNick(params[0]);
+                                                       if (x)
+                                                       {
+                                                               this->WriteLine(":"+Srv->GetServerName()+" KILL "+params[0]+" :Nickname collision ("+prefix+" -> "+params[0]+")");
+                                                               Srv->QuitUser(x,"Nickname collision ("+prefix+" -> "+params[0]+")");
+                                                               return DoOneToAllButSenderRaw(line,sourceserv,prefix,command,params);
+                                                       }
+                                               }
                                                // its a user
                                                target = who->server;
                                                char* strparams[127];