commit - de2fa78d92447d2acc3d349b8044524f5b616f59
commit + 161adbb1aa6235acda9677ab14edd19581d9fcf4
blob - 89defc3829ffaf4bba4e05cbcb25377e87ec7a22
blob + 31a57c6fe5b1f46fb97c292449f3d50bbd6eb0e1
--- src/ngircd/irc-info.c
+++ src/ngircd/irc-info.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 &&