whowas: Use the normal rules for IP visibility.

Add the flags (auth{} spoof, dynamic spoof) to struct Whowas and add a
show_ip_whowas().

Normal users now see IPs of unspoofed users, and remote opers can see IPs
behind dynamic spoofs. Also, general::hide_spoof_ips is now applied when
the IP is shown, not when the client exits.
This commit is contained in:
Jilles Tjoelker 2013-09-14 12:26:32 +02:00
parent 2635cc8089
commit 364e59f82a
6 changed files with 24 additions and 7 deletions

View file

@ -117,7 +117,9 @@ m_whowas(struct Client *client_p, struct Client *source_p, int parc, const char
sendto_one(source_p, form_str(RPL_WHOWASUSER),
me.name, source_p->name, temp->name,
temp->username, temp->hostname, temp->realname);
if (MyOper(source_p) && !EmptyString(temp->sockhost))
if (!EmptyString(temp->sockhost) &&
strcmp(temp->sockhost, "0") &&
show_ip_whowas(temp, source_p))
#if 0
sendto_one(source_p, form_str(RPL_WHOWASREAL),
me.name, source_p->name, temp->name,