]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/server.cpp
Route WALLOPS like a regular command, remove OnWallops hook
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / server.cpp
index a04454f517d48d0022234c5cbdf2132040f8f153..85204ccaac035b652e723ed56bd0e9ecbb147208 100644 (file)
 
 
 #include "inspircd.h"
-#include "socket.h"
-#include "xline.h"
-#include "socketengine.h"
 
-#include "main.h"
 #include "utils.h"
 #include "link.h"
 #include "treeserver.h"
@@ -55,7 +51,7 @@ bool TreeSocket::RemoteServer(const std::string &prefix, parameterlist &params)
                this->SendError("Protocol error - Introduced remote server from unknown server "+prefix);
                return false;
        }
-       if (!ServerInstance->IsSID(sid))
+       if (!InspIRCd::IsSID(sid))
        {
                this->SendError("Invalid format server ID: "+sid+"!");
                return false;
@@ -105,17 +101,9 @@ bool TreeSocket::Outbound_Reply_Server(parameterlist &params)
        std::string password = params[1];
        std::string sid = params[3];
        std::string description = params[4];
-       int hops = atoi(params[2].c_str());
 
        this->SendCapabilities(2);
 
-       if (hops)
-       {
-               this->SendError("Server too far away for authentication");
-               ServerInstance->SNO->WriteToSnoMask('l',"Server connection from \2"+sname+"\2 denied, server is too far away for authentication");
-               return false;
-       }
-
        if (!ServerInstance->IsSID(sid))
        {
                this->SendError("Invalid format server ID: "+sid+"!");
@@ -137,8 +125,9 @@ bool TreeSocket::Outbound_Reply_Server(parameterlist &params)
                TreeServer* CheckDupe = Utils->FindServer(sname);
                if (CheckDupe)
                {
-                       this->SendError("Server "+sname+" already exists on server "+CheckDupe->GetParent()->GetName()+"!");
-                       ServerInstance->SNO->WriteToSnoMask('l',"Server connection from \2"+sname+"\2 denied, already exists on server "+CheckDupe->GetParent()->GetName());
+                       std::string pname = CheckDupe->GetParent() ? CheckDupe->GetParent()->GetName() : "<ourself>";
+                       SendError("Server "+sname+" already exists on server "+pname+"!");
+                       ServerInstance->SNO->WriteToSnoMask('l',"Server connection from \2"+sname+"\2 denied, already exists on server "+pname);
                        return false;
                }
                CheckDupe = Utils->FindServer(sid);
@@ -193,7 +182,7 @@ bool TreeSocket::CheckDuplicate(const std::string& sname, const std::string& sid
        }
 
        /* Check for fully initialized instances of the server by id */
-       ServerInstance->Logs->Log("m_spanningtree",DEBUG,"Looking for dupe SID %s", sid.c_str());
+       ServerInstance->Logs->Log("m_spanningtree", LOG_DEBUG, "Looking for dupe SID %s", sid.c_str());
        CheckDupe = Utils->FindServerID(sid);
 
        if (CheckDupe)
@@ -224,17 +213,9 @@ bool TreeSocket::Inbound_Server(parameterlist &params)
        std::string password = params[1];
        std::string sid = params[3];
        std::string description = params[4];
-       int hops = atoi(params[2].c_str());
 
        this->SendCapabilities(2);
 
-       if (hops)
-       {
-               this->SendError("Server too far away for authentication");
-               ServerInstance->SNO->WriteToSnoMask('l',"Server connection from \2"+sname+"\2 denied, server is too far away for authentication");
-               return false;
-       }
-
        if (!ServerInstance->IsSID(sid))
        {
                this->SendError("Invalid format server ID: "+sid+"!");