summaryrefslogtreecommitdiff
path: root/builtin
diff options
context:
space:
mode:
authorred-001 <red-001@outlook.ie>2017-06-30 19:14:39 +0100
committerLoïc Blot <nerzhul@users.noreply.github.com>2017-06-30 20:14:39 +0200
commitf3ad75691aea30d2d68aab19fbfa9031409c39d7 (patch)
treeb73109f1d3d14af91b3593dc80645a1bb70274a8 /builtin
parent2e53801fc0d9ba13afec6c1ddb5e3999f68b96bd (diff)
downloadminetest-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.lua2
-rw-r--r--builtin/game/init.lua2
-rw-r--r--builtin/init.lua2
-rw-r--r--builtin/mainmenu/dlg_settings_advanced.lua4
-rw-r--r--builtin/mainmenu/init.lua12
-rw-r--r--builtin/profiler/init.lua2
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)