From b41fe076aed5f1300881dbbb7c46f8f8e520e7ca Mon Sep 17 00:00:00 2001 From: Alibek Omarov Date: Sat, 27 Jan 2024 22:19:00 +0300 Subject: [PATCH] engine: server: exclude expired IP filters from check --- engine/server/sv_filter.c | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/engine/server/sv_filter.c b/engine/server/sv_filter.c index 5745498e..3f633899 100644 --- a/engine/server/sv_filter.c +++ b/engine/server/sv_filter.c @@ -286,31 +286,8 @@ typedef struct ipfilter_s static ipfilter_t *ipfilter = NULL; -static void SV_CleanExpiredIPFilters( void ) -{ - ipfilter_t *f, **back; - - back = &ipfilter; - while( 1 ) - { - f = *back; - if( !f ) return; - - if( f->endTime && host.realtime > f->endTime ) - { - *back = f->next; - back = &f->next; - - Mem_Free( f ); - } - else back = &f->next; - } -} - static int SV_FilterToString( char *dest, size_t size, qboolean config, ipfilter_t *f ) { - const char *strformat; - if( config ) { return Q_snprintf( dest, size, "addip 0 %s/%d\n", NET_AdrToString( f->adr ), f->prefixlen ); @@ -379,6 +356,9 @@ qboolean SV_CheckIP( netadr_t *adr ) for( ; entry; entry = entry->next ) { + if( entry->endTime && host.realtime > entry->endTime ) + continue; // expired + switch( entry->adr.type6 ) { case NA_IP: