]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/inspircd.cpp
Fixed /connect bug
[user/henk/code/inspircd.git] / src / inspircd.cpp
index 7351463cc94f0744ff5bc47dfd199c362d0c5289..e5a47fde3681fbc9d5b87eecbb6dec862a0d1137 100644 (file)
@@ -5342,6 +5342,7 @@ void handle_connect(char **parameters, int pcnt, userrec *user)
                LinkPort = atoi(Link_Port);
                if (match(Link_ServerName,parameters[0])) {
                        found = true;
+                       break;
                }
        }
        
@@ -5362,7 +5363,7 @@ void handle_connect(char **parameters, int pcnt, userrec *user)
                for (int j = 0; j < 255; j++) {
                        if (servers[j] == NULL) {
                                servers[j] = new serverrec;
-                               servers[j]->initiator = true;
+                               //servers[j]->initiator = true;
                                strcpy(servers[j]->internal_addr,Link_IPAddr);
                                servers[j]->internal_port = LinkPort;
                                strcpy(servers[j]->name,Link_ServerName);
@@ -6502,14 +6503,6 @@ void process_restricted_commands(char token,char* params,serverrec* source,serve
                case 'F':
                        WriteOpers("Server %s has completed netburst. (%d secs)",source->name,time(NULL)-nb_start);
                        handle_F(token,params,source,reply,udp_host,udp_port);
-
-                       WriteOpers("Sending my burst now.");
-                       nb_start = time(NULL);
-                       if (!source->initiator)
-                       {
-                               DoSync(reply,udp_host,udp_port,MyKey);
-                       }
-                       WriteOpers("Completed burst to %s (%d secs)",source->name,time(NULL)-nb_start);
                break;
                // anything else
                default:
@@ -6570,6 +6563,7 @@ void handle_link_packet(long theirkey, char* udp_msg, char* udp_host, int udp_po
                                                                strcpy(servers[j]->description,serverdesc);
                                                                servers[j]->internal_port = udp_port;
                                                                // create a server record for this server
+                                                               WriteOpers("Server %s authenticated, exchanging server keys...",servername);
                                                                snprintf(response,10240,"O %d",MyKey);
                                                                serv->SendPacket(response,udp_host,udp_port,0);
                                                                return;
@@ -6604,10 +6598,7 @@ void handle_link_packet(long theirkey, char* udp_msg, char* udp_host, int udp_po
                                if (!strcasecmp(servers[i]->internal_addr,udp_host)) {
                                        servers[i]->key = atoi(params);
                                        log(DEBUG,"Key for this server is now %d",servers[i]->key);
-                                       if (servers[i]->initiator)
-                                       {
-                                               DoSync(serv,udp_host,udp_port,MyKey);
-                                       }
+                                       DoSync(serv,udp_host,udp_port,MyKey);
                                        return;
                                }
                        }