From ed2bfb66d86b6ba7c0d002ae4eaa252f7488da6a Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 7 Feb 2020 00:05:21 -0700 Subject: [PATCH 1/2] Update fail2topic.dm --- code/controllers/subsystem/fail2topic.dm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/code/controllers/subsystem/fail2topic.dm b/code/controllers/subsystem/fail2topic.dm index b358cc2c5f..6c40a97479 100644 --- a/code/controllers/subsystem/fail2topic.dm +++ b/code/controllers/subsystem/fail2topic.dm @@ -31,15 +31,18 @@ SUBSYSTEM_DEF(fail2topic) return ..() /datum/controller/subsystem/fail2topic/fire() - for(var/i in 1 to length(rate_limiting)) - var/ip = rate_limiting[i] - var/last_attempt = rate_limiting[ip] - if (world.time - last_attempt > rate_limit) - rate_limiting -= ip - fail_counts -= ip - - if (MC_TICK_CHECK) - return + if(length(rate_limiting)) + var/i = 1 + while(i <= length(rate_limiting)) + var/ip = rate_limiting[i] + var/last_attempt = rate_limiting[ip] + if(world.time - last_attempt > rate_limit) + rate_limiting -= ip + fail_counts -= ip + else //if we remove that, and the next element is in its place. check that instead of incrementing. + i++ + if(MC_TICK_CHECK) + return /datum/controller/subsystem/fail2topic/Shutdown() DropFirewallRule() From e6f14a085de00399fc05a308ff4a8581cbfd6ee2 Mon Sep 17 00:00:00 2001 From: kevinz000 <2003111+kevinz000@users.noreply.github.com> Date: Fri, 7 Feb 2020 00:06:32 -0700 Subject: [PATCH 2/2] Update fail2topic.dm --- code/controllers/subsystem/fail2topic.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/subsystem/fail2topic.dm b/code/controllers/subsystem/fail2topic.dm index 6c40a97479..02e7bc7aab 100644 --- a/code/controllers/subsystem/fail2topic.dm +++ b/code/controllers/subsystem/fail2topic.dm @@ -40,7 +40,7 @@ SUBSYSTEM_DEF(fail2topic) rate_limiting -= ip fail_counts -= ip else //if we remove that, and the next element is in its place. check that instead of incrementing. - i++ + ++i if(MC_TICK_CHECK) return