mirror of
				https://github.com/osmarks/ngircd.git
				synced 2025-10-31 14:02:59 +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:
		| @@ -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++) | ||||||
| 	{ | 	{ | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Alexander Barton
					Alexander Barton