X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=blobdiff_plain;f=src%2Fngircd%2Firc-info.c;h=883893fc5d2c4add0d9cf61a3ebb7e86dca84824;hp=dfc67b9b7660151da04b1e4fc9559bccef829c67;hb=adf92302bf9bb6420acd1f1153515586794b1574;hpb=762b0325df921622686096affc7ead41ba028959 diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c index dfc67b9b..883893fc 100644 --- a/src/ngircd/irc-info.c +++ b/src/ngircd/irc-info.c @@ -254,7 +254,8 @@ IRC_LINKS(CLIENT *Client, REQUEST *Req) c = Client_First(); while (c) { - if (Client_Type(c) == CLIENT_SERVER) { + if (Client_Type(c) == CLIENT_SERVER + && MatchCaseInsensitive(mask, Client_ID(c))) { if (!IRC_WriteStrClient(from, RPL_LINKS_MSG, Client_ID(from), Client_ID(c), Client_ID(Client_TopServer(c) @@ -1108,8 +1109,7 @@ IRC_WHOIS_SendReply(CLIENT *Client, CLIENT *from, CLIENT *c) Client_Away(c))) return DISCONNECTED; - return IRC_WriteStrClient(from, RPL_ENDOFWHOIS_MSG, - Client_ID(from), Client_ID(c)); + return CONNECTED; } /* IRC_WHOIS_SendReply */ @@ -1185,7 +1185,7 @@ IRC_WHOIS( CLIENT *Client, REQUEST *Req ) */ if (!has_wildcards || is_remote) { c = Client_Search(query); - if (c) { + if (c && Client_Type(c) == CLIENT_USER) { if (!IRC_WHOIS_SendReply(Client, from, c)) return DISCONNECTED; } else { @@ -1218,10 +1218,12 @@ IRC_WHOIS( CLIENT *Client, REQUEST *Req ) } if (match_count == 0) - return IRC_WriteStrClient(Client, ERR_NOSUCHNICK_MSG, - Client_ID(Client), Req->argv[Req->argc - 1]); + IRC_WriteStrClient(Client, ERR_NOSUCHNICK_MSG, + Client_ID(Client), + Req->argv[Req->argc - 1]); } - return CONNECTED; + return IRC_WriteStrClient(from, RPL_ENDOFWHOIS_MSG, + Client_ID(from), Req->argv[Req->argc - 1]); } /* IRC_WHOIS */