summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2013-05-29 21:16:10 +0000
committermichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2013-05-29 21:16:10 +0000
commit68c2b3ae7f14471ce7a86689a59d9317024180ea (patch)
tree4e8f6b9c1e868c52f59486e7fa70e11e88cd096e /src
parentcead4299606b2512732879e6d377cdef777dc659 (diff)
- 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
Diffstat (limited to 'src')
-rw-r--r--src/conf.c2
-rw-r--r--src/s_user.c4
2 files changed, 4 insertions, 2 deletions
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;
}