repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 335ae4f0d098d8fccc571ee0b8f37dba6df06ec8:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 335ae4f0d098d8fccc571ee0b8f37dba6df06ec8
Author: Alexander Barton 
Date:   Thu Aug 3 10:57:27 2023 +0200

    Hide +i users on "WHOIS "

    Let's behave like most(?) other IRC daemons (at least ircd2.11) and hide
    all +i users when WHOIS is used with a pattern. Otherwise privacy of
    this users is not guaranteed and the +i mode a bit useless ...

    Reported by Cahata on #ngircd, thanks!

diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c
index 03127b229f4008d203ce0fd700d9ca4173250043..
index ..718aa9905835ac0482cc0e74ad4643090517d558 100644
--- a/src/ngircd/irc-info.c
+++ b/src/ngircd/irc-info.c
@@ -1265,6 +1265,8 @@ IRC_WHOIS( CLIENT *Client, REQUEST *Req )

 			if (Client_Type(c) != CLIENT_USER)
 				continue;
+			if (Client_HasMode(c, 'i'))
+				continue;
 			if (!MatchCaseInsensitive(query, Client_ID(c)))
 				continue;
 			if (!IRC_WHOIS_SendReply(Client, from, c))

-----END OF PAGE-----