summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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");
}
}