From e06c62e88c110d2a490d4233ff88af43bf2ad400 Mon Sep 17 00:00:00 2001 From: esteel Date: Fri, 19 Sep 2008 11:56:13 +0000 Subject: [PATCH] check ip ban in say/teamsay too as to make banned people less annoying (they no longer can say something during the short time from connect till being kicked by the ban system) git-svn-id: svn://svn.icculus.org/nexuiz/trunk@4471 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/cl_client.qc | 7 +------ data/qcsrc/server/clientcommands.qc | 3 +++ data/qcsrc/server/ipban.qc | 13 +++++++++++++ data/qcsrc/server/ipban.qh | 1 + 4 files changed, 18 insertions(+), 6 deletions(-) diff --git a/data/qcsrc/server/cl_client.qc b/data/qcsrc/server/cl_client.qc index d2f164bc8..31fcb367f 100644 --- a/data/qcsrc/server/cl_client.qc +++ b/data/qcsrc/server/cl_client.qc @@ -1068,13 +1068,8 @@ void ClientConnect (void) return; } - if(Ban_IsClientBanned(self)) - { - s = strcat("^1NOTE:^7 banned client ", self.netaddress, " just tried to enter\n"); - dropclient(self); - bprint(s); + if(Ban_MaybeEnforceBan(self)) return; - } DecodeLevelParms(); diff --git a/data/qcsrc/server/clientcommands.qc b/data/qcsrc/server/clientcommands.qc index bc672e63a..8796f2e59 100644 --- a/data/qcsrc/server/clientcommands.qc +++ b/data/qcsrc/server/clientcommands.qc @@ -9,6 +9,9 @@ void Say(entity source, float teamsay, string msgin) float flood; entity head; + if(Ban_MaybeEnforceBan(source)) + return; + if(!teamsay) if(substring(msgin, 0, 1) == " ") msgin = substring(msgin, 1, strlen(msgin) - 1); // work around DP say bug (say_team does not have this!) diff --git a/data/qcsrc/server/ipban.qc b/data/qcsrc/server/ipban.qc index bc944edb5..1fe534e9e 100644 --- a/data/qcsrc/server/ipban.qc +++ b/data/qcsrc/server/ipban.qc @@ -116,6 +116,19 @@ float Ban_IsClientBanned(entity client) return FALSE; } +float Ban_MaybeEnforceBan(entity client) +{ + if(Ban_IsClientBanned(client)) + { + string s; + s = strcat("^1NOTE:^7 banned client ", client.netaddress, " just tried to enter\n"); + dropclient(client); + bprint(s); + return TRUE; + } + return FALSE; +} + float Ban_Insert(string ip, float bantime) { float i; diff --git a/data/qcsrc/server/ipban.qh b/data/qcsrc/server/ipban.qh index b332caafc..7fd10f376 100644 --- a/data/qcsrc/server/ipban.qh +++ b/data/qcsrc/server/ipban.qh @@ -1,4 +1,5 @@ void Ban_SaveBans(); void Ban_LoadBans(); float Ban_IsClientBanned(entity client); +float Ban_MaybeEnforceBan(entity client); float GameCommand_Ban(string command); -- 2.39.2