]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/ipban.qc
Merge branch 'master' into Mario/wepent_experimental
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / ipban.qc
index 7463fefbeafe827a9515660477849fb7030087f1..50c258f927a8295766d6317d92b6dc138ef2d35d 100644 (file)
@@ -163,7 +163,7 @@ void OnlineBanList_URI_Get_Callback(float id, float status, string data)
 
                LOG_TRACE("received ban list item ", ftos(i / 4), ": ip=", ip);
                LOG_TRACE(" timeleft=", ftos(timeleft), " reason=", reason);
-               LOG_TRACE(" serverip=", serverip, "\n");
+               LOG_TRACE(" serverip=", serverip);
 
                timeleft -= 1.5 * autocvar_g_ban_sync_timeout;
                if(timeleft < 0)
@@ -192,12 +192,12 @@ void OnlineBanList_URI_Get_Callback(float id, float status, string data)
                LOG_INFO("Ban list syncing: accepted ban of ", ip, " by ", serverip, " at ", uri, ": ");
                LOG_INFO(reason, "\n");
 
-:skip
+LABEL(skip)
        }
 }
 
-void OnlineBanList_Think()
-{SELFPARAM();
+void OnlineBanList_Think(entity this)
+{
        float argc;
        string uri;
        float i, n;
@@ -237,13 +237,13 @@ void OnlineBanList_Think()
        }
 
        if(autocvar_g_ban_sync_interval > 0)
-               self.nextthink = time + max(60, autocvar_g_ban_sync_interval * 60);
+               this.nextthink = time + max(60, autocvar_g_ban_sync_interval * 60);
        else
                goto killme;
        return;
 
-:killme
-       remove(self);
+LABEL(killme)
+       delete(this);
 }
 
 const float BAN_MAX = 256;
@@ -319,7 +319,7 @@ void Ban_LoadBans()
        }
 
        entity e = new(bansyncer);
-       e.think = OnlineBanList_Think;
+       setthink(e, OnlineBanList_Think);
        e.nextthink = time + 1;
 }
 
@@ -380,7 +380,7 @@ float Ban_GetClientIP(entity client)
        ban_ip4 = strcat1(s); // 32
        return true;
 
-:ipv6
+LABEL(ipv6)
        i1 = strstrofs(s, ":", 0);
        if(i1 < 0)
                return false;
@@ -446,12 +446,11 @@ float Ban_IsClientBanned(entity client, float idx)
        return false;
 }
 
-float Ban_MaybeEnforceBan(entity client)
+bool Ban_MaybeEnforceBan(entity client)
 {
-       if(Ban_IsClientBanned(client, -1))
+       if (Ban_IsClientBanned(client, -1))
        {
-               string s;
-               s = strcat("^1NOTE:^7 banned client ", client.netaddress, " just tried to enter\n");
+               string s = sprintf("^1NOTE:^7 banned client %s just tried to enter\n", client.netaddress);
                dropclient(client);
                bprint(s);
                return true;
@@ -459,25 +458,23 @@ float Ban_MaybeEnforceBan(entity client)
        return false;
 }
 
-.float ban_checked;
-float Ban_MaybeEnforceBanOnce(entity client)
+.bool ban_checked;
+bool Ban_MaybeEnforceBanOnce(entity client)
 {
-       if(client.ban_checked)
-               return false;
+       if (client.ban_checked) return false;
        client.ban_checked = true;
        return Ban_MaybeEnforceBan(client);
 }
 
-string Ban_Enforce(float i, string reason)
+string Ban_Enforce(float j, string reason)
 {
        string s;
-       entity e;
 
        // Enforce our new ban
        s = "";
-       FOR_EACH_CLIENTSLOT(e)
-               if (IS_REAL_CLIENT(e))
-               if(Ban_IsClientBanned(e, i))
+       FOREACH_CLIENTSLOT(IS_REAL_CLIENT(it),
+       {
+               if(Ban_IsClientBanned(it, j))
                {
                        if(reason != "")
                        {
@@ -485,11 +482,12 @@ string Ban_Enforce(float i, string reason)
                                        reason = strcat(reason, ": affects ");
                                else
                                        reason = strcat(reason, ", ");
-                               reason = strcat(reason, e.netname);
+                               reason = strcat(reason, it.netname);
                        }
-                       s = strcat(s, "^1NOTE:^7 banned client ", e.netaddress, "^7 has to go\n");
-                       dropclient(e);
+                       s = strcat(s, "^1NOTE:^7 banned client ", it.netaddress, "^7 has to go\n");
+                       dropclient(it);
                }
+       });
        bprint(s);
 
        return reason;
@@ -509,10 +507,10 @@ float Ban_Insert(string ip, float bantime, string reason, float dosync)
                        if(time + bantime > ban_expire[i])
                        {
                                ban_expire[i] = time + bantime;
-                               LOG_TRACE(ip, "'s ban has been prolonged to ", ftos(bantime), " seconds from now\n");
+                               LOG_TRACE(ip, "'s ban has been prolonged to ", ftos(bantime), " seconds from now");
                        }
                        else
-                               LOG_TRACE(ip, "'s ban is still active until ", ftos(ban_expire[i] - time), " seconds from now\n");
+                               LOG_TRACE(ip, "'s ban is still active until ", ftos(ban_expire[i] - time), " seconds from now");
 
                        // and enforce
                        reason = Ban_Enforce(i, reason);
@@ -554,7 +552,7 @@ float Ban_Insert(string ip, float bantime, string reason, float dosync)
        }
        // okay, insert our new victim as i
        Ban_Delete(i);
-       LOG_TRACE(ip, " has been banned for ", ftos(bantime), " seconds\n");
+       LOG_TRACE(ip, " has been banned for ", ftos(bantime), " seconds");
        ban_expire[i] = time + bantime;
        ban_ip[i] = strzone(ip);
        ban_count = max(ban_count, i + 1);