mirror of
https://github.com/osmarks/ngircd.git
synced 2025-01-19 12:02:52 +00:00
WHOIS command: make sure matching is case-insensitive
And make sure that RPL_ENDOFWHOIS replies with the unmodified mask like it has been received from the client.
This commit is contained in:
parent
adf92302bf
commit
9fbf592924
@ -1129,7 +1129,7 @@ IRC_WHOIS( CLIENT *Client, REQUEST *Req )
|
|||||||
unsigned int match_count = 0, found = 0;
|
unsigned int match_count = 0, found = 0;
|
||||||
bool has_wildcards, is_remote;
|
bool has_wildcards, is_remote;
|
||||||
bool got_wildcard = false;
|
bool got_wildcard = false;
|
||||||
const char *query;
|
char mask[COMMAND_LEN], *query;
|
||||||
|
|
||||||
assert( Client != NULL );
|
assert( Client != NULL );
|
||||||
assert( Req != NULL );
|
assert( Req != NULL );
|
||||||
@ -1170,7 +1170,8 @@ IRC_WHOIS( CLIENT *Client, REQUEST *Req )
|
|||||||
Req->argv[0], Req->argv[1]);
|
Req->argv[0], Req->argv[1]);
|
||||||
|
|
||||||
is_remote = Client_Conn(from) < 0;
|
is_remote = Client_Conn(from) < 0;
|
||||||
for (query = strtok(Req->argv[Req->argc - 1], ",");
|
strlcpy(mask, Req->argv[Req->argc - 1], sizeof(mask));
|
||||||
|
for (query = strtok(ngt_LowerStr(mask), ",");
|
||||||
query && found < 3;
|
query && found < 3;
|
||||||
query = strtok(NULL, ","), found++)
|
query = strtok(NULL, ","), found++)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user