char* serverdesc = finalparam+2;
WriteOpers("CONNECT from %s (%s)",servername,udp_host);
+ for (int j = 0; j < serv->connectors.size(); j++)
+ {
+ if (!strcasecmp(serv->connectors[j].GetServerName().c_str(),udp_host))
+ {
+ serv->connectors[j].SetServerName(servername);
+ }
+ }
+
char Link_ServerName[1024];
char Link_IPAddr[1024];
log(DEBUG,"(%d) Comparing against name='%s', ipaddr='%s', port='%s', recvpass='%s'",i,Link_ServerName,Link_IPAddr,Link_Port,Link_Pass);
LinkPort = atoi(Link_Port);
if (!strcasecmp(Link_ServerName,servername))
- {
- if (!strcasecmp(Link_IPAddr,udp_host))
- {
- // we have a matching link line -
- // send a 'diminutive' server message back...
- snprintf(response,10240,"s %s %s :%s",ServerName,Link_SendPass,ServerDesc);
- serv->SendPacket(response,udp_host);
- WriteOpers("CONNECT from %s accepted, authenticating",servername);
- for (int j = 0; j < 255; j++)
- {
- if (servers[j] == NULL)
- {
- servers[j] = new serverrec;
- strcpy(servers[j]->internal_addr,udp_host);
- strcpy(servers[j]->name,servername);
- strcpy(servers[j]->description,serverdesc);
- // 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);
- return;
- }
- }
- WriteOpers("Internal error connecting to %s, failed to create server record!",servername);
- return;
- }
- }
- else {
- log(DEBUG,"Server names '%s' and '%s' don't match",Link_ServerName,servername);
+ {
+ // we have a matching link line -
+ // send a 'diminutive' server message back...
+ snprintf(response,10240,"s %s %s :%s",ServerName,Link_SendPass,ServerDesc);
+ serv->SendPacket(response,servername);
+ return;
}
}
serv->SendPacket("E :Access is denied (no matching link block)",udp_host);
LinkPort = atoi(Link_Port);
if (!strcasecmp(Link_ServerName,servername))
{
- if (!strcasecmp(Link_IPAddr,udp_host))
- {
- // matching link at this end too, we're all done!
- // at this point we must begin key exchange and insert this
- // server into our 'active' table.
- for (int j = 0; j < 255; j++) {
- if (servers[j] != NULL) {
- if (!strcasecmp(servers[j]->name,udp_host)) {
- strcpy(servers[j]->description,serverdesc);
- WriteOpers("Server %s authenticated, exchanging server keys...",servername);
- DoSync(serv,udp_host);
- return;
- }
+ // matching link at this end too, we're all done!
+ // at this point we must begin key exchange and insert this
+ // server into our 'active' table.
+ for (int j = 0; j < 255; j++)
+ {
+ if (servers[j] != NULL)
+ {
+ if (!strcasecmp(servers[j]->name,udp_host))
+ {
+ strcpy(servers[j]->description,serverdesc);
+ WriteOpers("Server %s authenticated, exchanging server keys...",servername);
+ DoSync(serv,udp_host);
+ return;
}
- WriteOpers("\2WARNING!\2 %s sent us an authentication packet but we are not authenticating with this server right noe! Possible intrusion attempt!",udp_host);
- return;
-
}
- }
- else {
- log(DEBUG,"IP Addresses '%s' and '%s' don't match",Link_IPAddr,udp_host);
+ WriteOpers("\2WARNING!\2 %s sent us an authentication packet but we are not authenticating with this server right noe! Possible intrusion attempt!",udp_host);
+ return;
}
}
else {