about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMantas Mikulėnas <grawity@gmail.com>2014-01-20 14:25:11 +0200
committerMantas Mikulėnas <grawity@gmail.com>2014-01-20 14:25:11 +0200
commite273bd226a10d3b6165763d533a8df8af3d3d375 (patch)
treea9ab6b58636f08aa1b2e909404a3cbf82b4bcf8f
parent3b24ebf122fd8661437be244eb851d8f7d04408f (diff)
downloadngircd-e273bd226a10d3b6165763d533a8df8af3d3d375.tar.gz
ngircd-e273bd226a10d3b6165763d533a8df8af3d3d375.zip
Show account name in WHOIS
This uses the same numeric as Charybdis and ircu families.
-rw-r--r--src/ngircd/irc-info.c7
-rw-r--r--src/ngircd/messages.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c
index aa98a5b5..cd5e45c1 100644
--- a/src/ngircd/irc-info.c
+++ b/src/ngircd/irc-info.c
@@ -401,6 +401,13 @@ IRC_WHOIS_SendReply(CLIENT *Client, CLIENT *from, CLIENT *c)
 				Client_ID(from), Client_ID(c)))
 		return DISCONNECTED;
 
+	/* Account name metadata? */
+	if (Client_AccountName(c) &&
+	    !IRC_WriteStrClient(from, RPL_WHOISLOGGEDIN_MSG,
+				Client_ID(from), Client_ID(c),
+				Client_AccountName(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')))) {
diff --git a/src/ngircd/messages.h b/src/ngircd/messages.h
index f3a0ba44..a56bf866 100644
--- a/src/ngircd/messages.h
+++ b/src/ngircd/messages.h
@@ -71,6 +71,7 @@
 #define RPL_LISTEND_MSG			"323 %s :End of LIST"
 #define RPL_CHANNELMODEIS_MSG		"324 %s %s +%s"
 #define RPL_CREATIONTIME_MSG		"329 %s %s %ld"
+#define RPL_WHOISLOGGEDIN_MSG		"330 %s %s %s :is logged in as"
 #define RPL_NOTOPIC_MSG			"331 %s %s :No topic is set"
 #define RPL_TOPIC_MSG			"332 %s %s :%s"
 #define RPL_TOPICSETBY_MSG		"333 %s %s %s %u"