diff options
author | michael <michael@82007160-df01-0410-b94d-b575c5fd34c7> | 2013-11-18 20:00:05 +0000 |
---|---|---|
committer | michael <michael@82007160-df01-0410-b94d-b575c5fd34c7> | 2013-11-18 20:00:05 +0000 |
commit | 23c974c547869da50fcd181c8f81a6c7f44ef806 (patch) | |
tree | 7e20416fe3288ad10ccaa99f4290358f2a63da48 | |
parent | 808a018842601dd8ebbe28d446d5f6cda7ac7807 (diff) |
- listener.c:show_ports(): fixed ip address leakage even if hide_server_ips
is set to 'yes'. Reported by Adam <adam@anope.org>
git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/branches/8.1.x@2572 82007160-df01-0410-b94d-b575c5fd34c7
-rw-r--r-- | src/listener.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/listener.c b/src/listener.c index 6c728f1..1699bba 100644 --- a/src/listener.c +++ b/src/listener.c @@ -105,11 +105,20 @@ show_ports(struct Client *source_p) if (listener->flags & LISTENER_SSL) *p++ = 's'; *p = '\0'; - sendto_one(source_p, form_str(RPL_STATSPLINE), - me.name, source_p->name, 'P', listener->port, - HasUMode(source_p, UMODE_ADMIN) ? listener->name : me.name, - listener->ref_count, buf, - listener->active ? "active" : "disabled"); + + + if (HasUMode(source_p, UMODE_ADMIN) && + (MyClient(source_p) || !ConfigServerHide.hide_server_ips)) + sendto_one(source_p, form_str(RPL_STATSPLINE), + me.name, source_p->name, 'P', listener->port, + listener->name, + listener->ref_count, buf, + listener->active ? "active" : "disabled"); + else + sendto_one(source_p, form_str(RPL_STATSPLINE), + me.name, source_p->name, 'P', listener->port, + me.name, listener->ref_count, buf, + listener->active ? "active" : "disabled"); } } |