diff options
author | red-001 <red-001@outlook.ie> | 2017-06-30 19:14:39 +0100 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-06-30 20:14:39 +0200 |
commit | f3ad75691aea30d2d68aab19fbfa9031409c39d7 (patch) | |
tree | b73109f1d3d14af91b3593dc80645a1bb70274a8 /builtin | |
parent | 2e53801fc0d9ba13afec6c1ddb5e3999f68b96bd (diff) | |
download | minetest-f3ad75691aea30d2d68aab19fbfa9031409c39d7.tar.gz minetest-f3ad75691aea30d2d68aab19fbfa9031409c39d7.tar.bz2 minetest-f3ad75691aea30d2d68aab19fbfa9031409c39d7.zip |
Create a filesystem abstraction layer for CSM and only allow accessing files that are scanned into it. (#5965)
* Load client-side mods into memory before executing them.
This removes the remaining filesystem access that client-sided mods had and it will hopefully make then more secure.
* Lua Virtual filesystem: don't load the files into memory just scan the filenames into memory.
* Fix the issues with backtrace
* fix most of the issues
* fix code style.
* add a comment
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/client/init.lua | 2 | ||||
-rw-r--r-- | builtin/game/init.lua | 2 | ||||
-rw-r--r-- | builtin/init.lua | 2 | ||||
-rw-r--r-- | builtin/mainmenu/dlg_settings_advanced.lua | 4 | ||||
-rw-r--r-- | builtin/mainmenu/init.lua | 12 | ||||
-rw-r--r-- | builtin/profiler/init.lua | 2 |
6 files changed, 12 insertions, 12 deletions
diff --git a/builtin/client/init.lua b/builtin/client/init.lua index 3ac34d845..22256f6f7 100644 --- a/builtin/client/init.lua +++ b/builtin/client/init.lua @@ -1,5 +1,5 @@ -- Minetest: builtin/client/init.lua -local scriptpath = core.get_builtin_path()..DIR_DELIM +local scriptpath = core.get_builtin_path() local clientpath = scriptpath.."client"..DIR_DELIM local commonpath = scriptpath.."common"..DIR_DELIM diff --git a/builtin/game/init.lua b/builtin/game/init.lua index e2635f07a..ab1503dee 100644 --- a/builtin/game/init.lua +++ b/builtin/game/init.lua @@ -1,5 +1,5 @@ -local scriptpath = core.get_builtin_path()..DIR_DELIM +local scriptpath = core.get_builtin_path() local commonpath = scriptpath.."common"..DIR_DELIM local gamepath = scriptpath.."game"..DIR_DELIM diff --git a/builtin/init.lua b/builtin/init.lua index 356e119fb..e94f3213a 100644 --- a/builtin/init.lua +++ b/builtin/init.lua @@ -25,7 +25,7 @@ os.setlocale("C", "numeric") minetest = core -- Load other files -local scriptdir = core.get_builtin_path() .. DIR_DELIM +local scriptdir = core.get_builtin_path() local gamepath = scriptdir .. "game" .. DIR_DELIM local clientpath = scriptdir .. "client" .. DIR_DELIM local commonpath = scriptdir .. "common" .. DIR_DELIM diff --git a/builtin/mainmenu/dlg_settings_advanced.lua b/builtin/mainmenu/dlg_settings_advanced.lua index cac9f6983..90b8d1e67 100644 --- a/builtin/mainmenu/dlg_settings_advanced.lua +++ b/builtin/mainmenu/dlg_settings_advanced.lua @@ -264,7 +264,7 @@ end -- read_all: whether to ignore certain setting types for GUI or not -- parse_mods: whether to parse settingtypes.txt in mods and games local function parse_config_file(read_all, parse_mods) - local builtin_path = core.get_builtin_path() .. DIR_DELIM .. FILENAME + local builtin_path = core.get_builtin_path() .. FILENAME local file = io.open(builtin_path, "r") local settings = {} if not file then @@ -775,4 +775,4 @@ end -- Generate minetest.conf.example and settings_translation_file.cpp ---assert(loadfile(core.get_builtin_path()..DIR_DELIM.."mainmenu"..DIR_DELIM.."generate_from_settingtypes.lua"))(parse_config_file(true, false)) +--assert(loadfile(core.get_builtin_path().."mainmenu"..DIR_DELIM.."generate_from_settingtypes.lua"))(parse_config_file(true, false)) diff --git a/builtin/mainmenu/init.lua b/builtin/mainmenu/init.lua index 7c6af7d27..da4c3ccef 100644 --- a/builtin/mainmenu/init.lua +++ b/builtin/mainmenu/init.lua @@ -27,12 +27,12 @@ local basepath = core.get_builtin_path() defaulttexturedir = core.get_texturepath_share() .. DIR_DELIM .. "base" .. DIR_DELIM .. "pack" .. DIR_DELIM -dofile(basepath .. DIR_DELIM .. "common" .. DIR_DELIM .. "async_event.lua") -dofile(basepath .. DIR_DELIM .. "common" .. DIR_DELIM .. "filterlist.lua") -dofile(basepath .. DIR_DELIM .. "fstk" .. DIR_DELIM .. "buttonbar.lua") -dofile(basepath .. DIR_DELIM .. "fstk" .. DIR_DELIM .. "dialog.lua") -dofile(basepath .. DIR_DELIM .. "fstk" .. DIR_DELIM .. "tabview.lua") -dofile(basepath .. DIR_DELIM .. "fstk" .. DIR_DELIM .. "ui.lua") +dofile(basepath .. "common" .. DIR_DELIM .. "async_event.lua") +dofile(basepath .. "common" .. DIR_DELIM .. "filterlist.lua") +dofile(basepath .. "fstk" .. DIR_DELIM .. "buttonbar.lua") +dofile(basepath .. "fstk" .. DIR_DELIM .. "dialog.lua") +dofile(basepath .. "fstk" .. DIR_DELIM .. "tabview.lua") +dofile(basepath .. "fstk" .. DIR_DELIM .. "ui.lua") dofile(menupath .. DIR_DELIM .. "common.lua") dofile(menupath .. DIR_DELIM .. "gamemgr.lua") dofile(menupath .. DIR_DELIM .. "modmgr.lua") diff --git a/builtin/profiler/init.lua b/builtin/profiler/init.lua index 874950364..a0033d752 100644 --- a/builtin/profiler/init.lua +++ b/builtin/profiler/init.lua @@ -23,7 +23,7 @@ local function get_bool_default(name, default) return val end -local profiler_path = core.get_builtin_path()..DIR_DELIM.."profiler"..DIR_DELIM +local profiler_path = core.get_builtin_path().."profiler"..DIR_DELIM local profiler = {} local sampler = assert(loadfile(profiler_path .. "sampling.lua"))(profiler) local instrumentation = assert(loadfile(profiler_path .. "instrumentation.lua"))(profiler, sampler, get_bool_default) |