diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/m_who.c | 2 | ||||
-rw-r--r-- | modules/m_whois.c | 9 | ||||
-rw-r--r-- | modules/m_whowas.c | 2 |
3 files changed, 7 insertions, 6 deletions
diff --git a/modules/m_who.c b/modules/m_who.c index 961bb01..ece4563 100644 --- a/modules/m_who.c +++ b/modules/m_who.c @@ -63,7 +63,7 @@ do_who(struct Client *source_p, struct Client *target_p, HasUMode(target_p, UMODE_OPER) && !HasUMode(target_p, UMODE_HIDDEN) ? "*" : "", op_flags); - if (ConfigServerHide.hide_servers) + if (ConfigServerHide.hide_servers || IsHidden(target_p->servptr)) sendto_one(source_p, form_str(RPL_WHOREPLY), me.name, source_p->name, (chname) ? (chname) : "*", target_p->username, target_p->host, diff --git a/modules/m_whois.c b/modules/m_whois.c index a7716fe..5e9a080 100644 --- a/modules/m_whois.c +++ b/modules/m_whois.c @@ -96,15 +96,16 @@ whois_person(struct Client *source_p, struct Client *target_p) sendto_one(source_p, "%s", buf); } - if (HasUMode(source_p, UMODE_OPER) || !ConfigServerHide.hide_servers || target_p == source_p) + if ((ConfigServerHide.hide_servers || IsHidden(target_p->servptr)) && + !(HasUMode(source_p, UMODE_OPER) || target_p == source_p)) sendto_one(source_p, form_str(RPL_WHOISSERVER), me.name, source_p->name, target_p->name, - target_p->servptr->name, target_p->servptr->info); + ConfigServerHide.hidden_name, + ServerInfo.network_desc); else sendto_one(source_p, form_str(RPL_WHOISSERVER), me.name, source_p->name, target_p->name, - ConfigServerHide.hidden_name, - ServerInfo.network_desc); + target_p->servptr->name, target_p->servptr->info); if (HasUMode(target_p, UMODE_REGISTERED)) sendto_one(source_p, form_str(RPL_WHOISREGNICK), diff --git a/modules/m_whowas.c b/modules/m_whowas.c index 4a70b55..6becef5 100644 --- a/modules/m_whowas.c +++ b/modules/m_whowas.c @@ -67,7 +67,7 @@ whowas_do(struct Client *client_p, struct Client *source_p, temp->username, temp->hostname, temp->realname); - if (ConfigServerHide.hide_servers && !HasUMode(source_p, UMODE_OPER)) + if ((temp->shide || ConfigServerHide.hide_servers) && !HasUMode(source_p, UMODE_OPER)) sendto_one(source_p, form_str(RPL_WHOISSERVER), me.name, source_p->name, temp->name, ServerInfo.network_name, myctime(temp->logoff)); |