]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_spanningtree/utils.cpp
m_spanningtree Remove SpanningTreeUtilities* fields and parameters
[user/henk/code/inspircd.git] / src / modules / m_spanningtree / utils.cpp
index 9739cfafb285e0a5f30226ac535ea58df5bc771c..5330d2eb3fe7ca04943ada951957c4d5c5d32e81 100644 (file)
@@ -28,6 +28,8 @@
 #include "treesocket.h"
 #include "resolvers.h"
 
+SpanningTreeUtilities* Utils = NULL;
+
 /* Create server sockets off a listener. */
 ModResult ModuleSpanningTree::OnAcceptConnection(int newsock, ListenSocket* from, irc::sockets::sockaddrs* client, irc::sockets::sockaddrs* server)
 {
@@ -41,7 +43,7 @@ ModResult ModuleSpanningTree::OnAcceptConnection(int newsock, ListenSocket* from
                if (*i == "*" || *i == incomingip || irc::sockets::cidr_mask(*i).match(*client))
                {
                        /* we don't need to do anything with the pointer, creating it stores it in the necessary places */
-                       new TreeSocket(Utils, newsock, from, client, server);
+                       new TreeSocket(newsock, from, client, server);
                        return MOD_RES_ALLOW;
                }
        }
@@ -127,11 +129,10 @@ TreeServer* SpanningTreeUtilities::FindServerID(const std::string &id)
 }
 
 SpanningTreeUtilities::SpanningTreeUtilities(ModuleSpanningTree* C)
-       : RefreshTimer(this), Creator(C)
+       : Creator(C), TreeRoot(NULL)
 {
        ServerInstance->Timers->AddTimer(&RefreshTimer);
 
-       this->TreeRoot = new TreeServer(this);
        this->ReadConfiguration();
 }
 
@@ -274,7 +275,7 @@ void SpanningTreeUtilities::RefreshIPCache()
                Link* L = *i;
                if (!L->Port)
                {
-                       ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "m_spanningtree: Ignoring a link block without a port.");
+                       ServerInstance->Logs->Log(MODNAME, LOG_DEFAULT, "Ignoring a link block without a port.");
                        /* Invalid link block */
                        continue;
                }
@@ -288,7 +289,7 @@ void SpanningTreeUtilities::RefreshIPCache()
                        ValidIPs.push_back(L->IPAddr);
                else if (this->Creator->DNS)
                {
-                       SecurityIPResolver* sr = new SecurityIPResolver(Creator, this, *this->Creator->DNS, L->IPAddr, L, DNS::QUERY_AAAA);
+                       SecurityIPResolver* sr = new SecurityIPResolver(Creator, *this->Creator->DNS, L->IPAddr, L, DNS::QUERY_AAAA);
                        try
                        {
                                this->Creator->DNS->Process(sr);
@@ -336,7 +337,7 @@ void SpanningTreeUtilities::ReadConfiguration()
                L->RecvPass = tag->getString("recvpass", tag->getString("password"));
                L->Fingerprint = tag->getString("fingerprint");
                L->HiddenFromStats = tag->getBool("statshidden");
-               L->Timeout = tag->getInt("timeout", 30);
+               L->Timeout = tag->getDuration("timeout", 30);
                L->Hook = tag->getString("ssl");
                L->Bind = tag->getString("bind");
                L->Hidden = tag->getBool("hidden");
@@ -380,7 +381,7 @@ void SpanningTreeUtilities::ReadConfiguration()
        {
                ConfigTag* tag = i->second;
                reference<Autoconnect> A = new Autoconnect(tag);
-               A->Period = tag->getInt("period");
+               A->Period = tag->getDuration("period", 60, 1);
                A->NextConnectTime = ServerInstance->Time() + A->Period;
                A->position = -1;
                irc::spacesepstream ss(tag->getString("server"));
@@ -390,11 +391,6 @@ void SpanningTreeUtilities::ReadConfiguration()
                        A->servers.push_back(server);
                }
 
-               if (A->Period <= 0)
-               {
-                       throw ModuleException("Invalid configuration for autoconnect, period not a positive integer!");
-               }
-
                if (A->servers.empty())
                {
                        throw ModuleException("Invalid configuration for autoconnect, server cannot be empty!");