From 1667b050b20b1f8fb6623b9ac53bf3da0de57a2b Mon Sep 17 00:00:00 2001 From: toaster Date: Wed, 15 Jun 2022 22:34:05 +0100 Subject: [PATCH] Complete BANFORMAT header implementation. * Warn the user when an incompatible ban.txt is being loaded, and stop early. * Don't inexplicably assign as a boolean, you bafooligan! --- src/d_clisrv.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 68cf427e6..4c7e29c46 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -2207,7 +2207,7 @@ void D_LoadBan(boolean warning) char *username, *reason; time_t unbanTime = NO_BAN_TIME; char buffer[MAX_WADPATH]; - boolean banmode = 0; + UINT8 banmode = 0; if (!I_ClearBans) return; @@ -2234,6 +2234,18 @@ void D_LoadBan(boolean warning) if (i == 0 && !strncmp(address, "BANFORMAT", 9)) { banmode = atoi(mask); + switch (banmode) + { + case BANFORMAT: // currently supported format + //case 0: -- permitted only when BANFORMAT string not present + break; + default: + { + fclose(f); + CONS_Alert(CONS_WARNING, "Could not load unknown ban.txt for ban list (BANFORMAT %d, expected %d)\n", banmode, BANFORMAT); + return; + } + } continue; }