summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2013-11-18 20:00:05 +0000
committermichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2013-11-18 20:00:05 +0000
commit23c974c547869da50fcd181c8f81a6c7f44ef806 (patch)
tree7e20416fe3288ad10ccaa99f4290358f2a63da48
parent808a018842601dd8ebbe28d446d5f6cda7ac7807 (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.c19
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");
}
}