summaryrefslogtreecommitdiff
path: root/modules/m_svsmode.c
diff options
context:
space:
mode:
authormichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2013-05-30 01:12:20 +0000
committermichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2013-05-30 01:12:20 +0000
commit9f69ad60ff28ba4f1d22b0e92fcf54f1757dcac4 (patch)
tree7992c4dfdb6abb9ade6ea32b4cd00b48c19a52bf /modules/m_svsmode.c
parent110be8119af5cc8d9d337265080063cb893ed3ac (diff)
- m_svsmode.c: avoid HostServ floods
git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/branches/8.1.x@2142 82007160-df01-0410-b94d-b575c5fd34c7
Diffstat (limited to 'modules/m_svsmode.c')
-rw-r--r--modules/m_svsmode.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/modules/m_svsmode.c b/modules/m_svsmode.c
index d54f664..6c42aa0 100644
--- a/modules/m_svsmode.c
+++ b/modules/m_svsmode.c
@@ -107,7 +107,13 @@ ms_svsmode(struct Client *client_p, struct Client *source_p,
case 'x':
if (!EmptyString(extarg) && valid_hostname(extarg))
- user_set_hostmask(target_p, extarg, what);
+ {
+ if (what == MODE_DEL && HasUMode(target_p, UMODE_HIDDENHOST))
+ user_set_hostmask(target_p, extarg, what);
+ if (what == MODE_ADD && !HasUMode(target_p, UMODE_HIDDENHOST))
+ user_set_hostmask(target_p, extarg, what);
+ }
+
break;
case 'o':