From: 0gb.us <0gb.us@0gb.us> Date: Sat, 30 Mar 2013 08:51:41 +0000 (-0700) Subject: Don't grant priveleges to non-existent players. X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=23590a8383f068509265d5724458c7966d71a0e3;p=zefram%2Fminetest%2Fminetest_engine.git 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. --- diff --git a/builtin/chatcommands.lua b/builtin/chatcommands.lua index f41f9afe..4b09f7b2 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)