From 68c2b3ae7f14471ce7a86689a59d9317024180ea Mon Sep 17 00:00:00 2001 From: michael Date: Wed, 29 May 2013 21:16:10 +0000 Subject: - s_user.c:user_set_hostmask(): don't unset FLAGS_IP_SPOOFING if the client's hostname has already been spoofed by an auth{} block based spoof. git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/branches/8.1.x@2139 82007160-df01-0410-b94d-b575c5fd34c7 --- src/conf.c | 2 +- src/s_user.c | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/conf.c b/src/conf.c index 6f2a05e..6e65aeb 100644 --- a/src/conf.c +++ b/src/conf.c @@ -347,7 +347,7 @@ verify_access(struct Client *client_p) "%s spoofing: %s as %s", client_p->name, client_p->host, conf->name); strlcpy(client_p->host, conf->name, sizeof(client_p->host)); - SetIPSpoof(client_p); + AddFlag(client_p, FLAGS_IP_SPOOFING | FLAGS_AUTH_SPOOF); } return(attach_iline(client_p, conf)); diff --git a/src/s_user.c b/src/s_user.c index 709e0d9..8190ca2 100644 --- a/src/s_user.c +++ b/src/s_user.c @@ -1071,7 +1071,9 @@ user_set_hostmask(struct Client *target_p, const char *hostname, const int what) break; case MODE_DEL: DelUMode(target_p, UMODE_HIDDENHOST); - DelFlag(target_p, FLAGS_IP_SPOOFING); + + if (!HasFlag(target_p, FLAGS_AUTH_SPOOF)); + DelFlag(target_p, FLAGS_IP_SPOOFING); break; default: break; } -- cgit