From: brain Date: Sun, 29 May 2005 05:53:30 +0000 (+0000) Subject: Compensate for ~ in ident length X-Git-Tag: v2.0.23~10146 X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=4cc7c2ba94faf1fe7443876a04ea6ad2203bcffe;p=user%2Fhenk%2Fcode%2Finspircd.git Compensate for ~ in ident length git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1551 e03df62e-2008-0410-955e-edbf42e46eb7 --- diff --git a/include/users.h b/include/users.h index a093e633e..69ea434fb 100644 --- a/include/users.h +++ b/include/users.h @@ -121,8 +121,9 @@ class userrec : public connection char nick[NICKMAX]; /** The users ident reply. + * Two characters are added to the user-defined limit to compensate for the tilde etc. */ - char ident[IDENTMAX+1]; + char ident[IDENTMAX+2]; /** The host displayed to non-opers (used for cloaking etc). * This usually matches the value of userrec::host. diff --git a/src/commands.cpp b/src/commands.cpp index 692c5fc40..26cfa0da6 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -1163,7 +1163,7 @@ void handle_user(char **parameters, int pcnt, userrec *user) } else { strcpy(user->ident,"~"); /* we arent checking ident... but these days why bother anyway? */ - strlcat(user->ident,parameters[0],IDENTMAX); + strlcat(user->ident,parameters[0],IDENTMAX+1); strlcpy(user->fullname,parameters[3],MAXGECOS); user->registered = (user->registered | 1); } @@ -2407,7 +2407,7 @@ void handle_N(char token,char* params,serverrec* source,serverrec* reply, char* strlcpy(clientlist[nick]->host, host,160); strlcpy(clientlist[nick]->dhost, dhost,160); clientlist[nick]->server = (char*)FindServerNamePtr(server); - strlcpy(clientlist[nick]->ident, ident,IDENTMAX); // +1 char to compensate for tilde + 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;