/* ================= Svcmd_RemoveIP_f ================= */ void Svcmd_RemoveIP_f (void) { ipFilter_t f; int i; char str[MAX_TOKEN_CHARS]; if ( trap_Argc() < 2 ) { G_Printf("Usage: sv removeip <ip-mask>\n"); return; } trap_Argv( 1, str, sizeof( str ) ); if (!StringToFilter (str, &f)) return; for (i=0 ; i<numIPFilters ; i++) { if (ipFilters[i].mask == f.mask && ipFilters[i].compare == f.compare) { ipFilters[i].compare = 0xffffffffu; G_Printf ("Removed.\n"); UpdateIPBans(); return; } } G_Printf ( "Didn't find %s.\n", str ); }
/* ================= AddIP ================= */ void AddIP(ipFilterList_t *ipFilterList, const char *str) { int i; for (i = 0; i < ipFilterList->numIPFilters; i++) { if (ipFilterList->ipFilters[i].compare == 0xffffffff) { break; // free spot } } if (i == ipFilterList->numIPFilters) { if (ipFilterList->numIPFilters == MAX_IPFILTERS) { G_Printf("IP filter list is full\n"); return; } ipFilterList->numIPFilters++; } if (!StringToFilter(str, &ipFilterList->ipFilters[i])) { ipFilterList->ipFilters[i].compare = 0xffffffffu; } UpdateIPBans(ipFilterList); }
/* ================= AddIP ================= */ static void AddIP( char *str ) { int i; for ( i=0; i<numIPFilters; i++ ) { if ( ipFilters[i].compare == 0xFFFFFFFFu ) break; // free spot } if ( i == numIPFilters ) { if ( numIPFilters == MAX_IPFILTERS ) { trap->Print( "IP filter list is full\n" ); return; } numIPFilters++; } if ( !StringToFilter( str, &ipFilters[i] ) ) ipFilters[i].compare = 0xFFFFFFFFu; UpdateIPBans(); }
/* ================= AddIP ================= */ static void AddIP( char *str ) { int i; for ( i = 0 ; i < numIPFilters ; i++ ) if ( ipFilters[i].compare == 0xffffffff ) { break; } // free spot if ( i == numIPFilters ) { if ( numIPFilters == MAX_IPFILTERS ) { G_Printf( "IP filter list is full\n" ); return; } numIPFilters++; } if ( !StringToFilter( str, &ipFilters[i] ) ) { ipFilters[i].compare = 0xffffffffu; } UpdateIPBans(); }