]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Fixed to not autoconnect servers we already have!
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Tue, 24 May 2005 04:55:22 +0000 (04:55 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Tue, 24 May 2005 04:55:22 +0000 (04:55 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1488 e03df62e-2008-0410-955e-edbf42e46eb7

src/inspircd.cpp

index b52044d2a51b10dbcb2ee15f4f383a59e06df4fa..2ee4ca577592f303ce65109c290d37a00313ea04 100644 (file)
@@ -2517,6 +2517,26 @@ bool LoadModule(const char* filename)
        return true;
 }
 
+
+void GotServer(std::string name)
+{
+        for (int j = 0; j < 32; j++)
+        {
+                if (me[j] != NULL)
+                {
+                        for (int k = 0; k < me[j]->connectors.size(); k++)
+                        {
+                               if (name == me[j]->connectors.GetServerName())
+                               {
+                                       return true;
+                               }
+                        }
+                }
+        }
+       return false;
+}
+
+
 int InspIRCd(char** argv, int argc)
 {
        struct sockaddr_in client,server;
@@ -2826,7 +2846,7 @@ int InspIRCd(char** argv, int argc)
                                char Link_ServerName[MAXBUF],Link_AConn[MAXBUF];
                                ConfValue("link","name",i,Link_ServerName,&config_f);
                                ConfValue("link","autoconnect",i,Link_AConn,&config_f);
-                               if (Link_AConn[0])
+                               if (Link_AConn[0]) && (!GotServer(Link_ServerName))
                                {
                                        autoconnects::iterator a = autoconns.find(Link_ServerName);
                                        if (a != autoconns.end())