]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree.cpp
Attempted fix
[user/henk/code/inspircd.git] / src / modules / m_spanningtree.cpp
index f2ffc111643bbd07480d3184a8c7094e6bb6fb37..92681eca97b5dcb7a1e8e14ad764c2c8f1e51894 100644 (file)
@@ -222,6 +222,11 @@ TreeServer* RouteEnumerate(TreeServer* Current, std::string ServerName)
 TreeServer* BestRouteTo(std::string ServerName)
 {
        log(DEBUG,"Finding best route to %s",ServerName.c_str());
+       if (ServerName.c_str() == TreeRoot->GetName())
+       {
+               log(DEBUG,"Cant route to myself!!!");
+               return NULL;
+       }
        // first, find the server by recursively walking the tree
        TreeServer* Found = RouteEnumerate(TreeRoot,ServerName);
        // did we find it? If not, they did something wrong, abort.
@@ -584,6 +589,7 @@ class TreeSocket : public InspSocket
                                log(DEBUG,"*** COLLISION: Remote client is newer");
                                // remote is newer, kill it and bail to stop it being introduced
                                this->WriteLine(":"+Srv->GetServerName()+" KILL "+tempnick+" :Killed (Nickname collision from "+Srv->GetServerName()+")");
+                               log(DEBUG,"*** COLLIDE COMPLETED");
                                return true;
                        }
                }