commit 33944e8cdb4e03d624bbc08b7a132d3b2440ec8c from: Alexander Barton date: Wed Feb 06 16:49:41 2002 UTC - neue Funktion Client_IsValidNick(), Nicknames werden besser validiert. commit - 40c9f5c332c837721041f14aab2a596a73f8efb9 commit + 33944e8cdb4e03d624bbc08b7a132d3b2440ec8c blob - 7866742c79d8e97de9dcbad6ff216c541c638ad4 blob + 52dc7ebf5c8577f326d1b5333f80a9381d108ab5 --- src/ngircd/client.c +++ src/ngircd/client.c @@ -9,7 +9,7 @@ * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste * der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS. * - * $Id: client.c,v 1.35 2002/01/29 00:14:49 alex Exp $ + * $Id: client.c,v 1.36 2002/02/06 16:49:41 alex Exp $ * * client.c: Management aller Clients * @@ -21,6 +21,9 @@ * Server gewesen, so existiert eine entsprechende CONNECTION-Struktur. * * $Log: client.c,v $ + * Revision 1.36 2002/02/06 16:49:41 alex + * - neue Funktion Client_IsValidNick(), Nicknames werden besser validiert. + * * Revision 1.35 2002/01/29 00:14:49 alex * - neue Funktion Client_TopServer(), Client_NewXXX() angepasst. * @@ -715,8 +718,8 @@ GLOBAL BOOLEAN Client_CheckNick( CLIENT *Client, CHAR assert( Client != NULL ); assert( Nick != NULL ); - /* Nick zu lang? */ - if( strlen( Nick ) > CLIENT_NICK_LEN ) return IRC_WriteStrClient( Client, ERR_ERRONEUSNICKNAME_MSG, Client_ID( Client ), Nick ); + /* Nick ungueltig? */ + if( ! Client_IsValidNick( Nick )) return IRC_WriteStrClient( Client, ERR_ERRONEUSNICKNAME_MSG, Client_ID( Client ), Nick ); /* Nick bereits vergeben? */ c = My_Clients; @@ -873,6 +876,18 @@ GLOBAL INT Client_UnknownCount( VOID ) } /* Client_UnknownCount */ +GLOBAL BOOLEAN Client_IsValidNick( CHAR *Nick ) +{ + /* Ist der Nick gueltig? */ + + assert( Nick != NULL ); + + if( Nick[0] == '#' ) return FALSE; + if( strlen( Nick ) > CLIENT_NICK_LEN ) return FALSE; + return TRUE; +} /* Client_IsValidNick */ + + LOCAL INT Count( CLIENT_TYPE Type ) { CLIENT *c;