From 71641cf7128a97e29a8ce5936a3a994909c152d6 Mon Sep 17 00:00:00 2001 From: Ron Koenderink Date: Mon, 21 Nov 2005 18:35:08 +0000 Subject: [PATCH] (kill_cmd): Add authority check for deities before allowing a kill. Closes #1215088. Add banned host check before allowing a kill. --- src/lib/player/login.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/lib/player/login.c b/src/lib/player/login.c index a3b628dc..0e866d8b 100644 --- a/src/lib/player/login.c +++ b/src/lib/player/login.c @@ -316,11 +316,24 @@ static int kill_cmd(void) { struct player *other; + struct natstr *np; if (player->cnum == 255 || !player->validated) { pr_id(player, C_CMDERR, "need country and password\n"); return RET_FAIL; } + if (match_user(banfil, player)) { + logerror("Attempted login by BANNED host %s", praddr(player)); + pr_id(player, C_EXIT, "Your login has been banned from this game\n"); + io_shutdown(player->iop, IO_READ); + return RET_FAIL; + } + np = getnatp(player->cnum); + if (np->nat_stat & STAT_GOD && !match_user(authfil, player)) { + logerror("NON-AUTHed Login attempted by %s", praddr(player)); + pr_id(player, C_EXIT, "You're not a deity!\n"); + return RET_FAIL; + } other = getplayer(player->cnum); if (!other) { pr_id(player, C_EXIT, "country not in use\n");