summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2013-11-17 13:14:41 +0000
committermichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2013-11-17 13:14:41 +0000
commit78f1975fa551b3f452d5b5551add984feda09a6e (patch)
tree0f135fa8d84ccaec493911f227f77c81f0e4fa83
parente8e3907e55e2767653b392a7a784a7013e131597 (diff)
- WHO now shows whether or not a nickname has been registered with NickServ. ('r' status flag)
git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/branches/8.1.x@2548 82007160-df01-0410-b94d-b575c5fd34c7
-rw-r--r--NEWS2
-rw-r--r--modules/m_who.c8
2 files changed, 7 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 81a510c..dc84f86 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,8 @@
-- ircd-hybrid-8.1.10 Release Notes
o) Changed WHOIS to show a client's certificate fingerprint
to administrators only
+o) The WHO reply now shows whether or not a nickname has
+ been registered with NickServ. ('r' status flag)
-- ircd-hybrid-8.1.9 Release Notes
diff --git a/modules/m_who.c b/modules/m_who.c
index 9027310..9e34bcc 100644
--- a/modules/m_who.c
+++ b/modules/m_who.c
@@ -51,13 +51,15 @@ static void
do_who(struct Client *source_p, struct Client *target_p,
const char *chname, const char *op_flags)
{
- char status[7]; /* G*@%+\0 */
+ char status[8]; /* G*@%+\0 */
if (HasUMode(source_p, UMODE_OPER))
- snprintf(status, sizeof(status), "%c%s%s", target_p->away[0] ? 'G' : 'H',
+ snprintf(status, sizeof(status), "%c%s%s%s", target_p->away[0] ? 'G' : 'H',
+ HasUMode(target_p, UMODE_REGISTERED) ? "r" : "",
HasUMode(target_p, UMODE_OPER) ? "*" : "", op_flags);
else
- snprintf(status, sizeof(status), "%c%s%s", target_p->away[0] ? 'G' : 'H',
+ snprintf(status, sizeof(status), "%c%s%s%s", target_p->away[0] ? 'G' : 'H',
+ HasUMode(target_p, UMODE_REGISTERED) ? "r" : "",
HasUMode(target_p, UMODE_OPER) &&
!HasUMode(target_p, UMODE_HIDDEN) ? "*" : "", op_flags);