]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Clean up ghosts on nick collision
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Wed, 1 Feb 2006 21:58:09 +0000 (21:58 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Wed, 1 Feb 2006 21:58:09 +0000 (21:58 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3010 e03df62e-2008-0410-955e-edbf42e46eb7

src/modules/m_spanningtree.cpp

index 8117b7ef9cf19237441762561af0911743c6863f..ca25fe4a689938d2b09bed10e10cfcbf55f66043 100644 (file)
@@ -2135,8 +2135,20 @@ class TreeSocket : public InspSocket
                                                        userrec* x = Srv->FindNick(params[0]);
                                                        if (x)
                                                        {
-                                                               this->WriteLine(":"+Srv->GetServerName()+" KILL "+params[0]+" :Nickname collision ("+prefix+" -> "+params[0]+")");
+                                                               std::deque<std::string> p;
+                                                               p.push_back(params[0]);
+                                                               p.push_back("Nickname collision ("+prefix+" -> "+params[0]+")");
+                                                               DoOneToMany(Srv->GetServerName(),"KILL",p);
+                                                               p.clear();
+                                                               p.push_back(prefix);
+                                                               p.push_back("KILL "+prefix+" :Nickname collision");
+                                                               DoOneToMany(Srv->GetServerName(),"KILL",p);
                                                                Srv->QuitUser(x,"Nickname collision ("+prefix+" -> "+params[0]+")");
+                                                               userrec* y = Srv->FindNick(prefix);
+                                                               if (y)
+                                                               {
+                                                                       Srv->QuitUser(y,"Nickname collision");
+                                                               }
                                                                return DoOneToAllButSenderRaw(line,sourceserv,prefix,command,params);
                                                        }
                                                }