for (int j = 0; j < 255; j++) {
if (servers[j] == NULL) {
servers[j] = new serverrec;
+ //servers[j]->initiator = true;
strcpy(servers[j]->internal_addr,Link_IPAddr);
servers[j]->internal_port = LinkPort;
strcpy(servers[j]->name,Link_ServerName);
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;
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);
- DoSync(serv,udp_host,udp_port,MyKey);
+ servers[i]->sync_soon = true;
return;
}
}
}
fd_reap.clear();
reap_counter=0;
+ for (int j = 0; j < 255; j++)
+ {
+ if (servers[j])
+ {
+ if (servers[j]->sync_soon)
+ {
+ servers[j]->sync_soon = false;
+ DoSync(servers[j],servers[j]->internal_addr,servers[j]->internal_port,MyKey);
+ }
+ }
+ }
}