aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author0gb.us <0gb.us@0gb.us>2013-03-30 01:51:41 -0700
committerkwolekr <kwolekr@minetest.net>2013-03-30 21:50:07 -0400
commit23590a8383f068509265d5724458c7966d71a0e3 (patch)
treeb2c477d524e368da56058eea953ba8d5fa8b4a25
parent923a97b1089c117cb787a2f95a38097e8a31e4a8 (diff)
downloadminetest-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.lua6
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)