about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ngircd/irc-info.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c
index 668f5ed6..046648fd 100644
--- a/src/ngircd/irc-info.c
+++ b/src/ngircd/irc-info.c
@@ -361,8 +361,15 @@ IRC_WHOIS_SendReply(CLIENT *Client, CLIENT *from, CLIENT *c)
 			return DISCONNECTED;
 	}
 
+	/* IRC-Services? */
+	if (Client_Type(c) == CLIENT_SERVICE &&
+	    !IRC_WriteStrClient(from, RPL_WHOISSERVICE_MSG,
+				Client_ID(from), Client_ID(c)))
+		return DISCONNECTED;
+
 	/* IRC-Operator? */
-	if (Client_HasMode(c, 'o') &&
+	if (Client_Type(c) != CLIENT_SERVICE &&
+	    Client_HasMode(c, 'o') &&
 	    !IRC_WriteStrClient(from, RPL_WHOISOPERATOR_MSG,
 				Client_ID(from), Client_ID(c)))
 		return DISCONNECTED;