repo: ngircd
action: commit
revision: 
path_from: 
revision_from: 161adbb1aa6235acda9677ab14edd19581d9fcf4:
path_to: 
revision_to: 
git.thebackupbox.net
ngircd
git clone git://git.thebackupbox.net/ngircd
commit 161adbb1aa6235acda9677ab14edd19581d9fcf4
Author: Alexander Barton 
Date:   Sun Oct 7 00:05:25 2012 +0200

    WHOIS: show RPL_WHOISHOST_MSG to all IRC Ops in the network

    Not only show RPL_WHOISHOST_MSG to local IRC opreators, but show
    it to all IRC operators in the network. And don't show it to anybody
    if the "more privacy" configuration option is enabled.

    This closes bug #134.

diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c
index 89defc3829ffaf4bba4e05cbcb25377e87ec7a22..
index ..31a57c6fe5b1f46fb97c292449f3d50bbd6eb0e1 100644
--- a/src/ngircd/irc-info.c
+++ b/src/ngircd/irc-info.c
@@ -1156,17 +1156,19 @@ IRC_WHOIS_SendReply(CLIENT *Client, CLIENT *from, CLIENT *c)
 				Client_ID(from), Client_ID(c)))
 		return DISCONNECTED;

+	/* 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'))) &&
-	    !IRC_WriteStrClient(from, RPL_WHOISMODES_MSG, Client_ID(from),
-				Client_ID(c), Client_Modes(c)))
-		return DISCONNECTED;
-
-	if (Client_Conn(c) > NONE && (Client_OperByMe(from) || from == c) &&
-	    !IRC_WriteStrClient(from, RPL_WHOISHOST_MSG, Client_ID(from),
-				Client_ID(c), Client_Hostname(c),
-				Conn_GetIPAInfo(Client_Conn(c))))
-		return DISCONNECTED;
+	    (from == c || (!Conf_MorePrivacy && Client_HasMode(from, 'o')))) {
+		/* Client hostname */
+		if (!IRC_WriteStrClient(from, RPL_WHOISHOST_MSG,
+		    Client_ID(from), Client_ID(c), Client_Hostname(c),
+		    Conn_GetIPAInfo(Client_Conn(c))))
+			return DISCONNECTED;
+		/* Client modes */
+		if (!IRC_WriteStrClient(from, RPL_WHOISMODES_MSG,
+		    Client_ID(from), Client_ID(c), Client_Modes(c)))
+			return DISCONNECTED;
+	}

 	/* Idle and signon time (local clients only!) */
 	if (!Conf_MorePrivacy && Client_Conn(c) > NONE &&

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