X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fngircd%2Firc-login.c;h=cfb94f60926f08b3dd9410e0d1f265958a52c9a9;hb=e03d8eb7284147f7d44ff192cec18ad9716fedff;hp=27e11c4032c96eeabc8adcf2461e1acc48dec639;hpb=f494023b0d99be0e4b07701b983b71ecf4920465;p=ngircd-alex.git diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c index 27e11c40..cfb94f60 100644 --- a/src/ngircd/irc-login.c +++ b/src/ngircd/irc-login.c @@ -81,10 +81,12 @@ IRC_PASS( CLIENT *Client, REQUEST *Req ) } else if (Client_Type(Client) == CLIENT_UNKNOWN || Client_Type(Client) == CLIENT_UNKNOWNSERVER) { /* Unregistered connection, but wrong number of arguments: */ + IRC_SetPenalty(Client, 2); return IRC_WriteStrClient(Client, ERR_NEEDMOREPARAMS_MSG, Client_ID(Client), Req->command); } else { /* Registered connection, PASS command is not allowed! */ + IRC_SetPenalty(Client, 2); return IRC_WriteStrClient(Client, ERR_ALREADYREGISTRED_MSG, Client_ID(Client)); } @@ -207,11 +209,12 @@ IRC_NICK( CLIENT *Client, REQUEST *Req ) Req->argv[0] ); } else { /* Is this a restricted client? */ - if( Client_HasMode( Client, 'r' )) + if (Client_HasMode(Client, 'r')) { + IRC_SetPenalty(Client, 2); return IRC_WriteStrClient( Client, ERR_RESTRICTED_MSG, Client_ID( Client )); - + } target = Client; } @@ -487,10 +490,12 @@ IRC_USER(CLIENT * Client, REQUEST * Req) return CONNECTED; } else if (Client_Type(Client) == CLIENT_USER) { /* Already registered connection */ + IRC_SetPenalty(Client, 2); return IRC_WriteStrClient(Client, ERR_ALREADYREGISTRED_MSG, Client_ID(Client)); } else { /* Unexpected/invalid connection state? */ + IRC_SetPenalty(Client, 2); return IRC_WriteStrClient(Client, ERR_NOTREGISTERED_MSG, Client_ID(Client)); } @@ -518,9 +523,11 @@ IRC_SERVICE(CLIENT *Client, REQUEST *Req) assert(Req != NULL); if (Client_Type(Client) != CLIENT_GOTPASS && - Client_Type(Client) != CLIENT_SERVER) + Client_Type(Client) != CLIENT_SERVER) { + IRC_SetPenalty(Client, 2); return IRC_WriteStrClient(Client, ERR_ALREADYREGISTRED_MSG, Client_ID(Client)); + } _IRC_ARGC_EQ_OR_RETURN_(Client, Req, 6)