]> jfr.im git - irc/rqf/shadowircd.git/commitdiff
Allow opers and shide_exempt users to see hopcounts even if flatten_links is on.
authorJilles Tjoelker <redacted>
Sat, 27 Dec 2008 21:41:52 +0000 (22:41 +0100)
committerJilles Tjoelker <redacted>
Sat, 27 Dec 2008 21:41:52 +0000 (22:41 +0100)
modules/m_who.c

index 718ed094aa12ae1dc0ef3b4cab0d846ad42bb4fc..8dfcfbad80c4f493e4c650a37c1021fe27e13d8c 100644 (file)
@@ -475,7 +475,7 @@ do_who(struct Client *source_p, struct Client *target_p, struct membership *mspt
                           source_p->name, msptr ? msptr->chptr->chname : "*",
                           target_p->username, target_p->host,
                           target_p->servptr->name, target_p->name, status,
-                          ConfigServerHide.flatten_links ? 0 : target_p->hopcount, 
+                          ConfigServerHide.flatten_links && !IsOper(source_p) && !IsExemptShide(source_p) ? 0 : target_p->hopcount, 
                           target_p->info);
        else
        {
@@ -505,7 +505,7 @@ do_who(struct Client *source_p, struct Client *target_p, struct membership *mspt
                if (fmt->fields & FIELD_FLAGS)
                        append_format(str, sizeof str, &pos, " %s", status);
                if (fmt->fields & FIELD_HOP)
-                       append_format(str, sizeof str, &pos, " %d", ConfigServerHide.flatten_links ? 0 : target_p->hopcount);
+                       append_format(str, sizeof str, &pos, " %d", ConfigServerHide.flatten_links && !IsOper(source_p) && !IsExemptShide(source_p) ? 0 : target_p->hopcount);
                if (fmt->fields & FIELD_IDLE)
                        append_format(str, sizeof str, &pos, " %d", (int)(MyClient(target_p) ? rb_current_time() - target_p->localClient->last : 0));
                if (fmt->fields & FIELD_ACCOUNT)