diff options
author | 0gb.us <0gb.us@0gb.us> | 2013-03-30 01:51:41 -0700 |
---|---|---|
committer | kwolekr <kwolekr@minetest.net> | 2013-03-30 21:50:07 -0400 |
commit | 23590a8383f068509265d5724458c7966d71a0e3 (patch) | |
tree | b2c477d524e368da56058eea953ba8d5fa8b4a25 | |
parent | 923a97b1089c117cb787a2f95a38097e8a31e4a8 (diff) | |
download | minetest-23590a8383f068509265d5724458c7966d71a0e3.tar.gz minetest-23590a8383f068509265d5724458c7966d71a0e3.tar.bz2 minetest-23590a8383f068509265d5724458c7966d71a0e3.zip |
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.
-rw-r--r-- | builtin/chatcommands.lua | 6 |
1 files changed, 6 insertions, 0 deletions
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) |