diff options
-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"); } } |