1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Add world-independent storage directory for mods (#12315)

Fixes #4821
This commit is contained in:
rubenwardy 2024-03-24 17:18:58 +00:00 committed by GitHub
parent b42b03bc40
commit 6c4a110679
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 44 additions and 0 deletions

View file

@ -600,6 +600,13 @@ bool ScriptApiSecurity::checkPath(lua_State *L, const char *path,
}
}
// Allow read/write access to all mod common dirs
str = fs::AbsolutePath(gamedef->getModDataPath());
if (!str.empty() && fs::PathStartsWith(abs_path, str)) {
if (write_allowed) *write_allowed = true;
return true;
}
str = fs::AbsolutePath(gamedef->getWorldPath());
if (!str.empty()) {
// Don't allow access to other paths in the world mod/game path.