mirror of
https://github.com/osmarks/ngircd.git
synced 2025-05-02 07:24:05 +00:00
Return 461 (syntax error) on "JOIN :" and "PART :"
Up to this patch ngIRCd did not return any result (GIT master) or a badly formated 403 (":irc.server 403 test :No such channel" [note the two spaces!], branch-0-12-x) on the above commands, this patch changes the behaviour to reflect ircd 2.11 which returns 461 in both cases.
This commit is contained in:
parent
477f2fd9e7
commit
258143897c
@ -214,6 +214,11 @@ IRC_JOIN( CLIENT *Client, REQUEST *Req )
|
|||||||
channame = Req->argv[0];
|
channame = Req->argv[0];
|
||||||
channame = strtok_r(channame, ",", &lastchan);
|
channame = strtok_r(channame, ",", &lastchan);
|
||||||
|
|
||||||
|
/* Make sure that "channame" is not the empty string ("JOIN :") */
|
||||||
|
if (! channame)
|
||||||
|
return IRC_WriteStrClient(Client, ERR_NEEDMOREPARAMS_MSG,
|
||||||
|
Client_ID(Client), Req->command);
|
||||||
|
|
||||||
while (channame) {
|
while (channame) {
|
||||||
flags = NULL;
|
flags = NULL;
|
||||||
|
|
||||||
@ -318,6 +323,12 @@ IRC_PART(CLIENT * Client, REQUEST * Req)
|
|||||||
|
|
||||||
/* Loop over all the given channel names */
|
/* Loop over all the given channel names */
|
||||||
chan = strtok(Req->argv[0], ",");
|
chan = strtok(Req->argv[0], ",");
|
||||||
|
|
||||||
|
/* Make sure that "chan" is not the empty string ("PART :") */
|
||||||
|
if (! chan)
|
||||||
|
return IRC_WriteStrClient(Client, ERR_NEEDMOREPARAMS_MSG,
|
||||||
|
Client_ID(Client), Req->command);
|
||||||
|
|
||||||
while (chan) {
|
while (chan) {
|
||||||
Channel_Part(target, Client, chan,
|
Channel_Part(target, Client, chan,
|
||||||
Req->argc > 1 ? Req->argv[1] : Client_ID(target));
|
Req->argc > 1 ? Req->argv[1] : Client_ID(target));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user