Return better "Connection not registered as server link" errors

Now ngIRCd returns a more specific error message for numeric
ERR_NOTREGISTERED(451) when a regular user tries to use a command that
isn't allowed for users but for servers: ERR_NOTREGISTEREDSERVER(451).
This commit is contained in:
Alexander Barton 2013-01-22 10:54:06 +01:00
parent d8f2964710
commit 508ca3044d
1 changed files with 13 additions and 3 deletions

View File

@ -514,10 +514,20 @@ Handle_Request( CONN_ID Idx, REQUEST *Req )
continue;
}
if (!(client_type & cmd->type))
return IRC_WriteStrClient(client, ERR_NOTREGISTERED_MSG, Client_ID(client));
if (!(client_type & cmd->type)) {
if (client_type == CLIENT_USER
&& cmd->type & CLIENT_SERVER)
return IRC_WriteStrClient(client,
ERR_NOTREGISTEREDSERVER_MSG,
Client_ID(client));
else
return IRC_WriteStrClient(client,
ERR_NOTREGISTERED_MSG,
Client_ID(client));
}
/* Command is allowed for this client: call it and count produced bytes */
/* Command is allowed for this client: call it and count
* generated bytes in output */
Conn_ResetWCounter();
result = (cmd->function)(client, Req);
cmd->bytes += Conn_WCounter();