mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2025-01-18 15:01:41 +00:00
- fix an off by one error with implicit masks
- don't attempt to ban/mute/cuff non-existant clients :)
This commit is contained in:
parent
dcbc9ada26
commit
de716f07e7
1 changed files with 7 additions and 10 deletions
|
@ -1199,19 +1199,11 @@ SV_StringToFilter (const char *address, ipfilter_t *f)
|
||||||
char *endptr;
|
char *endptr;
|
||||||
*slash = '\0';
|
*slash = '\0';
|
||||||
slash++;
|
slash++;
|
||||||
if (*slash <= '0' || *slash >= '9') {
|
if (*slash <= '0' || *slash >= '9' || strchr (slash, '/'))
|
||||||
Con_Printf ("a\n");
|
|
||||||
goto bad_address;
|
goto bad_address;
|
||||||
}
|
|
||||||
if (strchr (slash, '/')) {
|
|
||||||
Con_Printf ("b\n");
|
|
||||||
goto bad_address;
|
|
||||||
}
|
|
||||||
mask = strtol (slash, &endptr, 10);
|
mask = strtol (slash, &endptr, 10);
|
||||||
if (!*slash || *endptr) {
|
if (!*slash || *endptr)
|
||||||
Con_Printf ("c '%s' %c %c\n", slash, *slash, *endptr);
|
|
||||||
goto bad_address;
|
goto bad_address;
|
||||||
}
|
|
||||||
} else
|
} else
|
||||||
mask = -1;
|
mask = -1;
|
||||||
|
|
||||||
|
@ -1241,6 +1233,7 @@ SV_StringToFilter (const char *address, ipfilter_t *f)
|
||||||
// change trailing 0 segments to be a mask, eg 1.2.0.0 gives a /16 mask
|
// change trailing 0 segments to be a mask, eg 1.2.0.0 gives a /16 mask
|
||||||
// FIXME: should check a cvar
|
// FIXME: should check a cvar
|
||||||
if (mask == -1) {
|
if (mask == -1) {
|
||||||
|
mask = 0;
|
||||||
i = sizeof (b) - 1;
|
i = sizeof (b) - 1;
|
||||||
while (i >= 0 && !b[i]) {
|
while (i >= 0 && !b[i]) {
|
||||||
mask += 8;
|
mask += 8;
|
||||||
|
@ -1361,6 +1354,10 @@ SV_AddIP_f (void)
|
||||||
char text[1024];
|
char text[1024];
|
||||||
char *typestr;
|
char *typestr;
|
||||||
char timestr[1024];
|
char timestr[1024];
|
||||||
|
|
||||||
|
if (cl->state == cs_free)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (SV_MaskIPCompare (cl->netchan.remote_address.ip,
|
if (SV_MaskIPCompare (cl->netchan.remote_address.ip,
|
||||||
ipfilters[numipfilters].ip,
|
ipfilters[numipfilters].ip,
|
||||||
ipfilters[numipfilters].mask)) {
|
ipfilters[numipfilters].mask)) {
|
||||||
|
|
Loading…
Reference in a new issue