about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlexander Barton <alex@barton.de>2012-01-16 02:18:24 +0100
committerAlexander Barton <alex@barton.de>2012-01-16 02:18:24 +0100
commit4d0069c3a8021c32b5bdeeec57f1d41d369587ce (patch)
treedcf9217730890befdbade8f5fa0c7f06b4968e03
parent12c60a670efe2a3270e7385c7358e87770562c95 (diff)
downloadngircd-4d0069c3a8021c32b5bdeeec57f1d41d369587ce.tar.gz
ngircd-4d0069c3a8021c32b5bdeeec57f1d41d369587ce.zip
New RPL_WHOISREGNICK_MSG(307) numeric: indicate if nick is registered
-rw-r--r--src/ngircd/irc-info.c6
-rw-r--r--src/ngircd/messages.h1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c
index f383dacd..a248e8a6 100644
--- a/src/ngircd/irc-info.c
+++ b/src/ngircd/irc-info.c
@@ -1108,6 +1108,12 @@ IRC_WHOIS_SendReply(CLIENT *Client, CLIENT *from, CLIENT *c)
 				Client_ID(c)))
 		return DISCONNECTED;
 
+	/* Registered nick name? */
+	if (Client_HasMode(c, 'R') &&
+	    !IRC_WriteStrClient(from, RPL_WHOISREGNICK_MSG,
+				Client_ID(from), Client_ID(c)))
+		return DISCONNECTED;
+
 	/* Idle and signon time (local clients only!) */
 	if (!Conf_MorePrivacy && Client_Conn(c) > NONE &&
 	    !IRC_WriteStrClient(from, RPL_WHOISIDLE_MSG,
diff --git a/src/ngircd/messages.h b/src/ngircd/messages.h
index c5d83367..0070e701 100644
--- a/src/ngircd/messages.h
+++ b/src/ngircd/messages.h
@@ -56,6 +56,7 @@
 #define RPL_ISON_MSG			"303 %s :"
 #define RPL_UNAWAY_MSG			"305 %s :You are no longer marked as being away"
 #define RPL_NOWAWAY_MSG			"306 %s :You have been marked as being away"
+#define RPL_WHOISREGNICK_MSG		"307 %s %s :is a registered nick"
 #define RPL_WHOISUSER_MSG		"311 %s %s %s %s * :%s"
 #define RPL_WHOISSERVER_MSG		"312 %s %s %s :%s"
 #define RPL_WHOISOPERATOR_MSG		"313 %s %s :is an IRC operator"