]> arthur.barton.de Git - ngircd.git/commitdiff
Streamline effect of "MorePrivacy" option (WHOIS, LIST)
authorAlexander Barton <alex@barton.de>
Wed, 13 May 2015 20:42:51 +0000 (22:42 +0200)
committerAlexander Barton <alex@barton.de>
Wed, 13 May 2015 20:42:51 +0000 (22:42 +0200)
- Update documentation in ngircd.conf(5)
- LIST: Don't hide channels for IRC Ops when "MorePrivacy" is in effect
- WHOIS: Don't hide IP addresses/hostnames when "MorePrivacy" is in effect

Closes #198

man/ngircd.conf.5.tmpl
src/ngircd/irc-channel.c
src/ngircd/irc-info.c

index 0d57f902d46c4b5a0fb5f8cc3651a4030694554b..bde91b1073199d27d3740459208fe20d1f3a3f9e 100644 (file)
@@ -291,8 +291,9 @@ Default: none.
 .TP
 \fBMorePrivacy\fR (boolean)
 This will cause ngIRCd to censor user idle time, logon time as well as the
-part/quit messages (that are sometimes used to inform everyone about which
-client software is being used). WHOWAS requests are also silently ignored.
+PART/QUIT messages (that are sometimes used to inform everyone about which
+client software is being used). WHOWAS requests are also silently ignored,
+and NAMES output doesn't list any clients for non-members.
 This option is most useful when ngIRCd is being used together with
 anonymizing software such as TOR or I2P and one does not wish to make it
 too easy to collect statistics on the users.
index aa4abe3d17afdc49ab2239421661a924df82b168..c7a3e1b31e7f8b81e79f8d8854446965fb0f3351 100644 (file)
@@ -608,9 +608,7 @@ IRC_LIST( CLIENT *Client, REQUEST *Req )
                                /* Gotcha! */
                                if (!Channel_HasMode(chan, 's')
                                    || Channel_IsMemberOf(chan, from)
-                                   || (!Conf_MorePrivacy
-                                       && Client_HasMode(Client, 'o')
-                                       && Client_Conn(Client) > NONE))
+                                   || Client_HasMode(from, 'o'))
                                {
                                        if ((Conf_MaxListSize > 0)
                                            && IRC_CheckListTooBig(from, count,
index ba7a2b74243cd4cc21bfc8917510502104387d5a..1bbaf57b3b53a35e905be647c5f075690ade38ac 100644 (file)
@@ -407,7 +407,7 @@ IRC_WHOIS_SendReply(CLIENT *Client, CLIENT *from, CLIENT *c)
 
        /* Local client and requester is the user itself or an IRC Op? */
        if (Client_Conn(c) > NONE &&
-           (from == c || (!Conf_MorePrivacy && Client_HasMode(from, 'o')))) {
+           (from == c || Client_HasMode(from, 'o'))) {
                /* Client hostname */
                if (!IRC_WriteStrClient(from, RPL_WHOISHOST_MSG,
                                        Client_ID(from), Client_ID(c),