From 1e66bbb46e7c6a55b31cd314342d21bd25f27ad0 Mon Sep 17 00:00:00 2001 From: prestidigitator Date: Mon, 1 Jun 2015 15:20:58 -0700 Subject: [PATCH] Whitelisted some extra LuaJIT and Minetest utility functions --- sandboxLuaStdlib-5.1.lua | 19 +++++++++++-------- sandboxMinetestApi.lua | 5 ++++- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/sandboxLuaStdlib-5.1.lua b/sandboxLuaStdlib-5.1.lua index 3cac18f..2660dac 100644 --- a/sandboxLuaStdlib-5.1.lua +++ b/sandboxLuaStdlib-5.1.lua @@ -46,6 +46,7 @@ local TOP_LEVEL_WHITELIST = _G = false, -- Replaced by environment itself _VERSION = true, assert = true, + bit = true, -- (luajit) collectgarbage = true, dofile = false, -- Wrapped below error = true, @@ -53,6 +54,7 @@ local TOP_LEVEL_WHITELIST = getfenv = false, -- Wrapped below getmetatable = false, -- Wrapped below ipairs = true, + jit = false, -- Removed completely (luajit) load = false, -- Wrapped below loadfile = false, -- Wrapped below loadstring = false, -- Wrapped below @@ -598,14 +600,15 @@ end; sandboxEnv.module = wrappedModule; sandboxEnv.require = wrappedRequire; -sandboxEnv.package.config = std.package.config; -sandboxEnv.package.cpath = nil; -sandboxEnv.package.loaded = {}; -sandboxEnv.package.loaders = { sandboxSearcher, builinSearcher }; -sandboxEnv.package.loadlib = nil; -- Removed completely -sandboxEnv.package.path = ""; -sandboxEnv.package.preload = {}; -sandboxEnv.package.seeall = wrappedSeeAll; +sandboxEnv.package.config = std.package.config; +sandboxEnv.package.cpath = nil; +sandboxEnv.package.loaded = {}; +sandboxEnv.package.loaders = { sandboxSearcher, builinSearcher }; +sandboxEnv.package.loadlib = nil; -- Removed completely +sandboxEnv.package.path = ""; +sandboxEnv.package.preload = {}; +sandboxEnv.package.searchpath = nil; -- (luajit) +sandboxEnv.package.seeall = wrappedSeeAll; sandboxEnv.package.loaded._G = sandboxEnv; sandboxEnv.package.loaded.coroutine = sandboxEnv.coroutine; diff --git a/sandboxMinetestApi.lua b/sandboxMinetestApi.lua index 41d8781..b4ac715 100644 --- a/sandboxMinetestApi.lua +++ b/sandboxMinetestApi.lua @@ -104,4 +104,7 @@ sandboxEnv.minetest.get_modpath = wrappedGetModPath; sandboxEnv.minetest.create_schematic = wrappedCreateSchematic; sandboxEnv.minetest.place_schematic = wrappedPlaceSchematic; -sandboxEnv.Settings = wrappedSettings; +sandboxEnv.string.split = std.string.split; +sandboxEnv.string.trim = std.string.trim; +sandboxEnv.table.copy = std.table.copy; +sandboxEnv.Settings = wrappedSettings;