using namespace std;
+#include "inspircd_config.h"
#include "inspircd.h"
#include "inspircd_io.h"
#include "inspircd_util.h"
-#include "inspircd_config.h"
#include <unistd.h>
#include <sys/errno.h>
#include <sys/ioctl.h>
n_list++;
if (n_list > MaxWhoResults)
{
- WriteServ(user->fd,"557 %s WHO :Command aborted: More results than configured limit",user->nick);
+ WriteServ(user->fd,"523 %s WHO :Command aborted: More results than configured limit",user->nick);
break;
}
}
n_list++;
if (n_list > MaxWhoResults)
{
- WriteServ(user->fd,"557 %s WHO :Command aborted: More results than configured limit",user->nick);
+ WriteServ(user->fd,"523 %s WHO :Command aborted: More results than configured limit",user->nick);
break;
}
}
else {
strcpy(user->ident,"~"); /* we arent checking ident... but these days why bother anyway? */
- strlcat(user->ident,parameters[0],IDENTMAX);
- strlcpy(user->fullname,parameters[3],128);
+ strlcat(user->ident,parameters[0],IDENTMAX+1);
+ strlcpy(user->fullname,parameters[3],MAXGECOS);
user->registered = (user->registered | 1);
}
}
{
if (pcnt)
{
- strlcpy(user->awaymsg,parameters[0],512);
+ strlcpy(user->awaymsg,parameters[0],MAXAWAY);
WriteServ(user->fd,"306 %s :You have been marked as being away",user->nick);
}
else
{
- strlcpy(user->awaymsg,"",512);
+ strlcpy(user->awaymsg,"",MAXAWAY);
WriteServ(user->fd,"305 %s :You are no longer marked as being away",user->nick);
}
}
if (!user->nick) return;
strlcpy(user->nick, newnick,NICKMAX);
log(DEBUG,"new nick set: %s",user->nick);
+ if (user->registered == 7)
+ {
+ FOREACH_MOD OnUserPostNick(user,oldnick);
+ }
+
}
}
strlcpy(clientlist[nick]->nick, nick,NICKMAX);
strlcpy(clientlist[nick]->host, host,160);
strlcpy(clientlist[nick]->dhost, dhost,160);
- strlcpy(clientlist[nick]->server, server,256);
- strlcpy(clientlist[nick]->ident, ident,10); // +1 char to compensate for tilde
- strlcpy(clientlist[nick]->fullname, gecos,128);
+ clientlist[nick]->server = (char*)FindServerNamePtr(server);
+ strlcpy(clientlist[nick]->ident, ident,IDENTMAX+1); // +1 char to compensate for tilde
+ strlcpy(clientlist[nick]->fullname, gecos,MAXGECOS);
strlcpy(clientlist[nick]->ip,ipaddr,16);
clientlist[nick]->signon = TS;
clientlist[nick]->nping = 0; // this is ignored for a remote user anyway.
userrec* user = Find(nick);
if (user)
- strlcpy(user->fullname,gecos,MAXBUF);
+ strlcpy(user->fullname,gecos,MAXGECOS);
}
void handle_b(char token,char* params,serverrec* source,serverrec* reply, char* tcp_host, char* tcp_sum)
me[j]->connectors[k].SetServerName(servername);
me[j]->connectors[k].SetDescription(serverdesc);
me[j]->connectors[k].SetState(STATE_CONNECTED);
+ AddServerName(servername);
NetSendMyRoutingTable();
return;
}
}
}
-
char Link_ServerName[1024];
char Link_IPAddr[1024];
char Link_Port[1024];
if (!strcasecmp(serv->connectors[t].GetServerName().c_str(),servername))
{
serv->connectors[t].SetState(STATE_CONNECTED);
+ AddServerName(servername);
}
}
char buffer[MAXBUF];
me[j]->connectors[k].SetDescription(serverdesc);
me[j]->connectors[k].SetState(STATE_CONNECTED);
+ AddServerName(servername);
snprintf(buffer,MAXBUF,"%s X 0",CreateSum().c_str());
serv->SendPacket(buffer,tcp_host);
DoSync(me[j],tcp_host);
me[j]->connectors[k].SetDescription(serverdesc);
me[j]->connectors[k].SetServerName(servername);
me[j]->connectors[k].SetState(STATE_SERVICES);
+ AddServerName(servername);
snprintf(buffer,MAXBUF,"%s X 0",CreateSum().c_str());
serv->SendPacket(buffer,servername);
snprintf(buffer,MAXBUF,"%s s %s %s %lu :%s",CreateSum().c_str(),ServerName,Link_SendPass,LinkPort,ServerDesc);