From 23590a8383f068509265d5724458c7966d71a0e3 Mon Sep 17 00:00:00 2001 From: "0gb.us" <0gb.us@0gb.us> Date: Sat, 30 Mar 2013 01:51:41 -0700 Subject: [PATCH] Don't grant priveleges to non-existent players. When accidentally misspelling a name, privileges are sometimes granted to non-existent players, leaving them with the extra privileges, but without the default privileges, if they ever join the server. This corrects that by disallowing /grant from working with invalid players. For completeness, it does the same for /revoke. --- builtin/chatcommands.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/builtin/chatcommands.lua b/builtin/chatcommands.lua index f41f9afe4..4b09f7b2b 100644 --- a/builtin/chatcommands.lua +++ b/builtin/chatcommands.lua @@ -116,6 +116,9 @@ minetest.register_chatcommand("grant", { if not grantname or not grantprivstr then minetest.chat_send_player(name, "Invalid parameters (see /help grant)") return + elseif not minetest.auth_table[grantname] then + minetest.chat_send_player(name, "Player "..grantname.." does not exist.") + return end local grantprivs = minetest.string_to_privs(grantprivstr) if grantprivstr == "all" then @@ -159,6 +162,9 @@ minetest.register_chatcommand("revoke", { if not revokename or not revokeprivstr then minetest.chat_send_player(name, "Invalid parameters (see /help revoke)") return + elseif not minetest.auth_table[revokename] then + minetest.chat_send_player(name, "Player "..revokename.." does not exist.") + return end local revokeprivs = minetest.string_to_privs(revokeprivstr) local privs = minetest.get_player_privs(revokename)