1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-08-16 18:01:40 +00:00

Auth handler: Player deletion & Iterator (#6741)

* Add player deletion method to auth handler (fixes #6653)
* Support iterating over the auth database

There was no way to do this previously and a recent commit
broke doing this the "hacky" way by accessing `core.auth_table`.
This commit is contained in:
sfan5 2017-12-06 17:32:49 +01:00 committed by SmallJoker
parent 2b5341c518
commit 4edf087090
2 changed files with 26 additions and 1 deletions

View file

@ -106,6 +106,16 @@ core.builtin_auth_handler = {
}
save_auth_file()
end,
delete_auth = function(name)
assert(type(name) == "string")
if not auth_table[name] then
return false
end
core.log('info', "Built-in authentication handler deleting player '"..name.."'")
auth_table[name] = nil
save_auth_file()
return true
end,
set_password = function(name, password)
assert(type(name) == "string")
assert(type(password) == "string")
@ -154,6 +164,13 @@ core.builtin_auth_handler = {
assert(auth_table[name]).last_login = os.time()
save_auth_file()
end,
iterate = function()
local names = {}
for k in pairs(auth_table) do
names[k] = true
end
return pairs(names)
end,
}
core.register_on_prejoinplayer(function(name, ip)
@ -204,6 +221,7 @@ end
core.set_player_password = auth_pass("set_password")
core.set_player_privs = auth_pass("set_privileges")
core.remove_player_auth = auth_pass("delete_auth")
core.auth_reload = auth_pass("reload")
local record_login = auth_pass("record_login")