|
| bool | checkPathInternal (const std::string &abs_path, bool write_required, bool *write_allowed) override |
| | Should check if the given path may be accessed.
|
| |
| lua_State * | getStack () |
| |
| void | realityCheck () |
| |
| void | scriptError (int result, const char *fxn) |
| |
| void | stackDump (std::ostream &o) |
| |
| void | setGameDef (IGameDef *gamedef) |
| |
| Environment * | getEnv () |
| |
| void | setEnv (Environment *env) |
| |
| EmergeThread * | getEmergeThread () |
| |
| void | setEmergeThread (EmergeThread *emerge) |
| |
| void | objectrefGetOrCreate (lua_State *L, ServerActiveObject *cobj) |
| |
| void | pushPlayerHPChangeReason (lua_State *L, const PlayerHPChangeReason &reason) |
| |
| template<> |
| bool | readParam (lua_State *L, int index) |
| |
| template<> |
| s16 | readParam (lua_State *L, int index) |
| |
| template<> |
| int | readParam (lua_State *L, int index) |
| |
| template<> |
| float | readParam (lua_State *L, int index) |
| |
| template<> |
| v2s16 | readParam (lua_State *L, int index) |
| |
| template<> |
| v2f | readParam (lua_State *L, int index) |
| |
| template<> |
| v3f | readParam (lua_State *L, int index) |
| |
| template<> |
| std::string_view | readParam (lua_State *L, int index) |
| |
| template<> |
| std::string | readParam (lua_State *L, int index) |
| |
| template<> |
| std::string_view | readParam (lua_State *L, int index) |
| | Read a string from Lua state L at index without copying it.
|
| |
| virtual bool | modNamesAreTrusted () |
| | Specify if the mod names during init time(!) can be trusted.
|
| |
|
| static std::string | getCurrentModNameInsecure (lua_State *L) |
| | Returns the currently running mod, only during init time.
|
| |
| static bool | isSecure (lua_State *L) |
| |
| static void | getGlobalsBackup (lua_State *L) |
| |
| static bool | safeLoadString (lua_State *L, std::string_view code, const char *chunk_name) |
| | Loads a string as Lua code safely (doesn't allow bytecode).
|
| |
| static bool | safeLoadFile (lua_State *L, const char *path, const char *display_name=nullptr) |
| | Loads a file as Lua code safely (doesn't allow bytecode).
|
| |
| static std::string | getCurrentModName (lua_State *L) |
| | Returns the currently running mod, only during init time.
|
| |
| static bool | checkWhitelisted (lua_State *L, const std::string &setting) |
| | Check if mod is whitelisted in the given setting.
|
| |
| static bool | checkPath (lua_State *L, const char *path, bool write_required, bool *write_allowed=nullptr) |
| | Checks if mods are allowed to read (and optionally write) to the path.
|
| |
| template<typename T > |
| static T | readParam (lua_State *L, int index) |
| | Read a value using a template type T from Lua state L at index.
|
| |
| template<typename T > |
| static T | readParam (lua_State *L, int index, const T &default_value) |
| | Read a value using a template type T from Lua state L at index.
|
| |
| static bool | checkPathWithGamedef (lua_State *L, const std::string &abs_path, bool write_required, bool *write_allowed) |
| |
| std::recursive_mutex | m_luastackmutex |
| |
| std::string | m_last_run_mod |
| |
| int | m_lock_recursion_count {} |
| |
| std::thread::id | m_owning_thread |
| |
| bool PauseMenuScripting::checkPathInternal |
( |
const std::string & | abs_path, |
|
|
bool | write_required, |
|
|
bool * | write_allowed ) |
|
overrideprotectedvirtual |
Should check if the given path may be accessed.
If write_required is true test for write access, if false test for read access.
- Parameters
-
| abs_path | absolute file/directory path, may not exist |
| write_required | was write access requested? |
| write_allowed | output parameter (nullable): set to true if writing is allowed |
- Returns
- true if access is allowed
Implements ScriptApiSecurity.
References fs::AbsolutePath(), DIR_DELIM, porting::path_share, and fs::PathStartsWith().