aboutsummaryrefslogtreecommitdiff
path: root/src/util/auth.h
blob: 36d8c20a49721e2f88e68c3a43a1d3fbf0d0281a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
Minetest
Copyright (C) 2015 est31 <MTest31@outlook.com>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

#ifndef AUTH_H
#define AUTH_H

std::string translatePassword(const std::string &name,
	const std::string &password);
void getSRPVerifier(const std::string &name,
	const std::string &password, char **salt, size_t *salt_len,
	char **bytes_v, size_t *len_v);
std::string getSRPVerifier(const std::string &name,
	const std::string &password);
std::string getSRPVerifier(const std::string &name,
	const std::string &password, const std::string &salt);
std::string encodeSRPVerifier(const std::string &verifier,
	const std::string &salt);
bool decodeSRPVerifier(const std::string &enc_pwd,
	std::string *salt, std::string *bytes_v);

#endif
an>..minetest.formspec_escape(code).."]" .."label[0,9.8;"..err.."]" return form end core.register_chatcommand("env_setup", { params = "<environment name>", description = "Set up and modify AdvTrains LuaAutomation environment", privs = {atlatc=true}, func = function(name, param) local env=atlatc.envs[param] if not env then return false,"Invalid environment name!" end minetest.show_formspec(name, "atlatc_envsetup_"..param, get_init_form(env, name)) return true end, }) core.register_chatcommand("env_create", { params = "<environment name>", description = "Create an AdvTrains LuaAutomation environment", privs = {atlatc=true}, func = function(name, param) if not param or param=="" then return false, "Name required!" end if atlatc.envs[param] then return false, "Environment already exists!" end atlatc.envs[param] = atlatc.env_new(param) return true, "Created environment '"..param.."'. Use '/env_setup "..param.."' to define global initialization code, or start building LuaATC components!" end, }) minetest.register_on_player_receive_fields(function(player, formname, fields) local pname=player:get_player_name() if not minetest.check_player_privs(pname, {atlatc=true}) then return end local envname=string.match(formname, "^atlatc_delconfirm_(.+)$") if envname and fields.sure=="YES" then atlatc.envs[envname]=nil minetest.chat_send_player(pname, "Environment deleted!") return end envname=string.match(formname, "^atlatc_envsetup_(.+)$") if not envname then return end local env=atlatc.envs[envname] if not env then return end if fields.del then minetest.show_formspec(pname, "atlatc_delconfirm_"..envname, "field[sure;"..minetest.formspec_escape("SURE TO DELETE ENVIRONMENT "..envname.."? Type YES (all uppercase) to continue or just quit form to cancel.")..";]") return end env.init_err=nil if fields.code then env.init_code=fields.code end if fields.run then env:run_initcode() minetest.show_formspec(pname, formname, get_init_form(env, pname)) end end)