void handle_plus(char token,char* params,serverrec* source,serverrec* reply, char* udp_host)
{
// %s %s %d %d
+ // + test3.chatspike.net 7010 -2016508415
char* servername = strtok(params," ");
char* ipaddr = strtok(NULL," ");
char* ipport = strtok(NULL," ");
}
}
+
void process_restricted_commands(char token,char* params,serverrec* source,serverrec* reply, char* udp_host,char* ipaddr,int port)
{
long authcookie = rand()*rand();
snprintf(buffer,MAXBUF,"~ %d",authcookie);
source->SendPacket(buffer,udp_host);
// tell all the other servers to use this authcookie to connect back again
+ // got '+ test3.chatspike.net 7010 -2016508415' from test.chatspike.net
snprintf(buffer,MAXBUF,"+ %s %s %d %d",udp_host,ipaddr,port,authcookie);
NetSendToAllExcept(udp_host,buffer);
break;
{
if (FD_ISSET (me[x]->fd, &serverfds))
{
- char remotehost[MAXBUF];
+ char remotehost[MAXBUF],resolved[MAXBUF];
+ length = sizeof (client);
incomingSockfd = accept (me[x]->fd, (sockaddr *) &client, &length);
- strncpy (remotehost,(char *) inet_ntoa (client.sin_addr),MAXBUF);
+ strncpy(remotehost,(char *)inet_ntoa(client.sin_addr),MAXBUF);
+ if(CleanAndResolve(resolved, remotehost) != TRUE)
+ {
+ strncpy(resolved,remotehost,MAXBUF);
+ }
+ log(DEBUG," ");
+ log(DEBUG," ");
+ log(DEBUG,"Resolved: '%s'",resolved);
+ log(DEBUG," ");
// add to this connections ircd_connector vector
- me[x]->AddIncoming(incomingSockfd,remotehost,ntohs(client.sin_port));
+ me[x]->AddIncoming(incomingSockfd,resolved,ntohs(client.sin_port));
}
}
}
{
if (FD_ISSET (openSockfd[count], &selectFds))
{
+ length = sizeof (client);
incomingSockfd = accept (openSockfd[count], (struct sockaddr *) &client, &length);
address_cache::iterator iter = IP.find(client.sin_addr);