diff --git a/ircd/client.c b/ircd/client.c index b333f44e..259b4a78 100644 --- a/ircd/client.c +++ b/ircd/client.c @@ -1833,11 +1833,11 @@ show_ip(struct Client *source_p, struct Client *target_p) * to local opers. */ if(!ConfigFileEntry.hide_spoof_ips && - (source_p == NULL || MyOper(source_p))) + (source_p == NULL || (MyConnect(source_p) && HasPrivilege(source_p, "auspex:hostname")))) return 1; return 0; } - else if(IsDynSpoof(target_p) && (source_p != NULL && !IsOper(source_p))) + else if(IsDynSpoof(target_p) && (source_p != NULL && !HasPrivilege(source_p, "auspex:hostname"))) return 0; else return 1; diff --git a/modules/m_whois.c b/modules/m_whois.c index a45b67c0..6fd1bcfc 100644 --- a/modules/m_whois.c +++ b/modules/m_whois.c @@ -349,7 +349,7 @@ single_whois(struct Client *source_p, struct Client *target_p, int operspy) if(MyClient(target_p)) { - if (IsDynSpoof(target_p) && (IsOperGeneral(source_p) || source_p == target_p)) + if (IsDynSpoof(target_p) && (HasPrivilege(source_p, "auspex:hostname") || source_p == target_p)) { /* trick here: show a nonoper their own IP if * dynamic spoofed but not if auth{} spoofed @@ -385,7 +385,7 @@ single_whois(struct Client *source_p, struct Client *target_p, int operspy) } else { - if (IsDynSpoof(target_p) && (IsOper(source_p) || source_p == target_p)) + if (IsDynSpoof(target_p) && (HasPrivilege(source_p, "auspex:hostname") || source_p == target_p)) { ClearDynSpoof(target_p); sendto_one_numeric(source_p, RPL_WHOISHOST,