From ac7f555ff35a091d8a641f6795d15ed059508339 Mon Sep 17 00:00:00 2001 From: michael Date: Fri, 8 Nov 2013 17:51:38 +0000 Subject: - Administrators are now able to see user modes a user has set via /whois git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/branches/8.1.x@2530 82007160-df01-0410-b94d-b575c5fd34c7 --- modules/m_whois.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'modules') diff --git a/modules/m_whois.c b/modules/m_whois.c index e01901b..95ee280 100644 --- a/modules/m_whois.c +++ b/modules/m_whois.c @@ -33,6 +33,7 @@ #include "conf.h" #include "s_misc.h" #include "s_serv.h" +#include "s_user.h" #include "send.h" #include "irc_string.h" #include "parse.h" @@ -134,6 +135,21 @@ whois_person(struct Client *source_p, struct Client *target_p) me.name, source_p->name, target_p->name, "User connected using a webirc gateway"); + if (HasUMode(source_p, UMODE_ADMIN) || source_p == target_p) + { + unsigned int i = 0; + char *m = buf; + *m++ = '+'; + + for (i = 0; i < 128; ++i) + if (HasUMode(target_p, user_modes[i])) + *m++ = (char)i; + *m = '\0'; + + sendto_one(source_p, form_str(RPL_WHOISMODES), me.name, + source_p->name, target_p->name, buf); + } + if (target_p->sockhost[0] && strcmp(target_p->sockhost, "0")) { if (HasUMode(source_p, UMODE_ADMIN) || source_p == target_p) -- cgit