r5262 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Thu Dec 18 03:01:29 EST 2008


Author: div0
Date: 2008-12-18 03:01:28 -0500 (Thu, 18 Dec 2008)
New Revision: 5262

Modified:
   trunk/data/qcsrc/server/ipban.qc
Log:
ipban: enforce always


Modified: trunk/data/qcsrc/server/ipban.qc
===================================================================
--- trunk/data/qcsrc/server/ipban.qc	2008-12-18 07:56:21 UTC (rev 5261)
+++ trunk/data/qcsrc/server/ipban.qc	2008-12-18 08:01:28 UTC (rev 5262)
@@ -357,6 +357,30 @@
 	return FALSE;
 }
 
+string Ban_Enforce(float i, string reason)
+{
+	string s;
+	entity e;
+
+	// Enforce our new ban
+	s = "";
+	FOR_EACH_REALCLIENT(e)
+		if(Ban_IsClientBanned(e, i))
+		{
+			if(reason != "")
+			{
+				if(s == "")
+					reason = strcat(reason, ": affects ");
+				else
+					reason = strcat(reason, ", ");
+				reason = strcat(reason, e.netname);
+			}
+			s = strcat(s, "^1NOTE:^7 banned client ", e.netname, "^7 has to go\n");
+			dropclient(e);
+		}
+	bprint(s);
+}
+
 float Ban_Insert(string ip, float bantime, string reason, float dosync)
 {
 	float i;
@@ -376,6 +400,9 @@
 				print(ip, "'s ban has been prolonged to ", ftos(bantime), " seconds from now\n");
 			}
 
+			// and enforce
+			reason = Ban_Enforce(i, reason);
+
 			// and abort
 			if(dosync)
 				if(reason != "")
@@ -384,6 +411,7 @@
 
 			return FALSE;
 		}
+
 	// do we have a free slot?
 	for(i = 0; i < ban_count; ++i)
 		if(time > ban_expire[i])
@@ -415,23 +443,7 @@
 
 	Ban_SaveBans();
 
-	// Enforce our new ban
-	s = "";
-	FOR_EACH_REALCLIENT(e)
-		if(Ban_IsClientBanned(e, i))
-		{
-			if(reason != "")
-			{
-				if(s == "")
-					reason = strcat(reason, ": affects ");
-				else
-					reason = strcat(reason, ", ");
-				reason = strcat(reason, e.netname);
-			}
-			s = strcat(s, "^1NOTE:^7 banned client ", e.netname, "^7 has to go\n");
-			dropclient(e);
-		}
-	bprint(s);
+	reason = Ban_Enforce(i, reason);
 
 	// and abort
 	if(dosync)




More information about the nexuiz-commits mailing list