summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/m_who.c2
-rw-r--r--modules/m_whois.c9
-rw-r--r--modules/m_whowas.c2
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));