commit 161adbb1aa6235acda9677ab14edd19581d9fcf4 from: Alexander Barton date: Sat Oct 06 22:05:25 2012 UTC 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. commit - de2fa78d92447d2acc3d349b8044524f5b616f59 commit + 161adbb1aa6235acda9677ab14edd19581d9fcf4 blob - 89defc3829ffaf4bba4e05cbcb25377e87ec7a22 blob + 31a57c6fe5b1f46fb97c292449f3d50bbd6eb0e1 --- src/ngircd/irc-info.c +++ src/ngircd/irc-info.c @@ -1156,17 +1156,19 @@ IRC_WHOIS_SendReply(CLIENT *Client, CLIENT *from, CLIE 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 &&