mirror of
https://github.com/luanti-org/luanti.git
synced 2025-09-30 19:22:14 +00:00
use (address, port) arguments instead of server object
This commit is contained in:
parent
4af9e47294
commit
c0ac26b6b9
3 changed files with 43 additions and 43 deletions
|
@ -82,10 +82,7 @@ local function register_buttonhandler(this, fields)
|
||||||
core.settings:set("address", gamedata.address)
|
core.settings:set("address", gamedata.address)
|
||||||
core.settings:set("remote_port", gamedata.port)
|
core.settings:set("remote_port", gamedata.port)
|
||||||
if core.settings:get_bool("remember_login") then
|
if core.settings:get_bool("remember_login") then
|
||||||
keyringmgr.set_login({
|
keyringmgr.set_login(gamedata.address, gamedata.port, fields.name, fields.password)
|
||||||
address = gamedata.address,
|
|
||||||
port = gamedata.port,
|
|
||||||
}, fields.name, fields.password)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
core.start()
|
core.start()
|
||||||
|
|
|
@ -27,16 +27,16 @@ local function read_keyring()
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
local function is_for_server(keys, server)
|
local function is_for_server(keys, address, port)
|
||||||
return keys.address == server.address and keys.port == server.port
|
return keys.address == address and keys.port == port
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
local function delete_keys(keyring, server)
|
local function delete_keys(keyring, address, port)
|
||||||
for i=1, #keyring do
|
for i=1, #keyring do
|
||||||
local keys = keyring[i]
|
local keys = keyring[i]
|
||||||
|
|
||||||
if is_for_server(keys, server) then
|
if is_for_server(keys, address, port) then
|
||||||
table.remove(keyring, i)
|
table.remove(keyring, i)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
@ -44,18 +44,18 @@ local function delete_keys(keyring, server)
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
local function get_keys(keyring, server)
|
local function get_keys(keyring, address, port)
|
||||||
for i=1, #keyring do
|
for i=1, #keyring do
|
||||||
local keys = keyring[i]
|
local keys = keyring[i]
|
||||||
|
|
||||||
if is_for_server(keys, server) then
|
if is_for_server(keys, address, port) then
|
||||||
return keys
|
return keys
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
-- If we don't find any existing keys, we make a blank set for the server
|
-- If we don't find any existing keys, we make a blank set for the server
|
||||||
local keys = {
|
local keys = {
|
||||||
address = server.address,
|
address = address,
|
||||||
port = server.port,
|
port = port,
|
||||||
logins = {},
|
logins = {},
|
||||||
last_login = false,
|
last_login = false,
|
||||||
}
|
}
|
||||||
|
@ -65,18 +65,21 @@ local function get_keys(keyring, server)
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
local function rewrite_keys(keyring, server, new_keys)
|
local function rewrite_keys(keyring, address, port, new_keys)
|
||||||
delete_keys(keyring, server)
|
delete_keys(keyring, address, port)
|
||||||
table.insert(keyring, 1, new_keys)
|
table.insert(keyring, 1, new_keys)
|
||||||
save_keyring(keyring)
|
save_keyring(keyring)
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
local function set_general_login(server, playername)
|
local function set_general_login(address, port, playername)
|
||||||
keyringmgr.general_login = {
|
local login = keyringmgr.get_login(address, port, playername)
|
||||||
playername = playername,
|
if login then
|
||||||
password = keyringmgr.get_login(server, playername)
|
keyringmgr.general_login = {
|
||||||
}
|
playername = login.playername,
|
||||||
|
password = login.password,
|
||||||
|
}
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
@ -101,21 +104,21 @@ function keyringmgr.get_keyring()
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
function keyringmgr.set_last_login(server, playername)
|
function keyringmgr.set_last_login(address, port, playername)
|
||||||
local keyring = keyringmgr.get_keyring()
|
local keyring = keyringmgr.get_keyring()
|
||||||
local new_keys = get_keys(keyring, server)
|
local new_keys = get_keys(keyring, address, port)
|
||||||
new_keys.last_login = playername
|
new_keys.last_login = playername
|
||||||
|
|
||||||
rewrite_keys(keyring, server, new_keys)
|
rewrite_keys(keyring, address, port, new_keys)
|
||||||
set_general_login(server, playername)
|
set_general_login(address, port, playername)
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
function keyringmgr.set_login(server, playername, password)
|
function keyringmgr.set_login(address, port, playername, password)
|
||||||
assert(type(server.port) == "number")
|
assert(type(port) == "number")
|
||||||
|
|
||||||
local keyring = keyringmgr.get_keyring()
|
local keyring = keyringmgr.get_keyring()
|
||||||
local new_keys = get_keys(keyring, server);
|
local new_keys = get_keys(keyring, address, port);
|
||||||
|
|
||||||
-- Check for existing entires for playername
|
-- Check for existing entires for playername
|
||||||
for _, login in ipairs(new_keys.logins or {}) do
|
for _, login in ipairs(new_keys.logins or {}) do
|
||||||
|
@ -134,17 +137,17 @@ function keyringmgr.set_login(server, playername, password)
|
||||||
password = password
|
password = password
|
||||||
})
|
})
|
||||||
|
|
||||||
keyringmgr.set_last_login(server, playername)
|
keyringmgr.set_last_login(address, port, playername)
|
||||||
|
|
||||||
rewrite_keys(keyring, server, new_keys)
|
rewrite_keys(keyring, address, port, new_keys)
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
function keyringmgr.get_login(server, playername)
|
function keyringmgr.get_login(address, port, playername)
|
||||||
assert(type(server.port) == "number")
|
assert(type(port) == "number")
|
||||||
|
|
||||||
local keyring = keyringmgr.get_keyring()
|
local keyring = keyringmgr.get_keyring()
|
||||||
local new_keys = get_keys(keyring, server);
|
local new_keys = get_keys(keyring, address, port);
|
||||||
|
|
||||||
-- Check for existing entires for playername
|
-- Check for existing entires for playername
|
||||||
for _, login in ipairs(new_keys.logins) do
|
for _, login in ipairs(new_keys.logins) do
|
||||||
|
@ -152,15 +155,15 @@ function keyringmgr.get_login(server, playername)
|
||||||
return login
|
return login
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
error("No login found on " .. server.address .. ":" .. server.port .. " for player " .. playername)
|
error("No login found on " .. address .. ":" .. port .. " for player " .. playername)
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
function keyringmgr.remove_login(server, playername)
|
function keyringmgr.remove_login(address, port, playername)
|
||||||
assert(type(server.port) == "number")
|
assert(type(port) == "number")
|
||||||
|
|
||||||
local keyring = keyringmgr.get_keyring()
|
local keyring = keyringmgr.get_keyring()
|
||||||
local new_keys = get_keys(keyring, server);
|
local new_keys = get_keys(keyring, address, port);
|
||||||
for i=1, #new_keys.logins do
|
for i=1, #new_keys.logins do
|
||||||
local login = new_keys.logins[i]
|
local login = new_keys.logins[i]
|
||||||
|
|
||||||
|
@ -170,21 +173,21 @@ function keyringmgr.remove_login(server, playername)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
rewrite_keys(keyring, server, new_keys)
|
rewrite_keys(keyring, address, port, new_keys)
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
function keyringmgr.delete_keys(server)
|
function keyringmgr.delete_keys(address, port)
|
||||||
local keyring = keyringmgr.get_keyring()
|
local keyring = keyringmgr.get_keyring()
|
||||||
delete_keys(keyring, server)
|
delete_keys(keyring, address, port)
|
||||||
save_keyring(keyring)
|
save_keyring(keyring)
|
||||||
end
|
end
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
function keyringmgr.get_last_login(server)
|
function keyringmgr.get_last_login(address, port)
|
||||||
local playername = get_keys(keyringmgr.get_keyring(), server).last_login
|
local playername = get_keys(keyringmgr.get_keyring(), address, port).last_login
|
||||||
if playername then
|
if playername then
|
||||||
return keyringmgr.get_login(server, playername)
|
return keyringmgr.get_login(address, port, playername)
|
||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
|
@ -75,7 +75,7 @@ local function set_selected_server(server)
|
||||||
-- Pull info from last login (if exists)
|
-- Pull info from last login (if exists)
|
||||||
-- This will always fail if remember_login is false
|
-- This will always fail if remember_login is false
|
||||||
-- because nothing has been stored, nor will it ever be
|
-- because nothing has been stored, nor will it ever be
|
||||||
local login = keyringmgr.get_last_login(server)
|
local login = keyringmgr.get_last_login(address, port)
|
||||||
if login then
|
if login then
|
||||||
input_playername = login.playername
|
input_playername = login.playername
|
||||||
input_password = login.password
|
input_password = login.password
|
||||||
|
@ -569,7 +569,7 @@ local function main_button_handler(tabview, fields, name, tabdata)
|
||||||
server.port == gamedata.port then
|
server.port == gamedata.port then
|
||||||
|
|
||||||
if core.settings:get_bool("remember_login") then
|
if core.settings:get_bool("remember_login") then
|
||||||
keyringmgr.set_login(server, gamedata.playername, gamedata.password)
|
keyringmgr.set_login(server.address, server.port, gamedata.playername, gamedata.password)
|
||||||
end
|
end
|
||||||
serverlistmgr.add_favorite(server)
|
serverlistmgr.add_favorite(server)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue