From: Marek VavruĊĦa Date: Sun, 12 Apr 2015 19:53:23 +0000 (+0200) Subject: daemon/lua: kB/MB/GB in env, net.iface sugar, env X-Git-Tag: v1.0.0-beta1~250^2~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=249fa602a14bd17a47a2e0ffacde8f69861c71bc;p=thirdparty%2Fknot-resolver.git daemon/lua: kB/MB/GB in env, net.iface sugar, env --- diff --git a/daemon/lua/config.lua b/daemon/lua/config.lua index 116bc66a6..e23e0d3d6 100644 --- a/daemon/lua/config.lua +++ b/daemon/lua/config.lua @@ -1,2 +1,8 @@ -- Default configuration -cache.open('.', 10485760) +cache.open(10*MB) +-- Listen on localhost +if not next(net.list()) then + if not pcall(net.listen, '127.0.0.1') then + error('failed to bind to localhost#53') + end +end \ No newline at end of file diff --git a/daemon/lua/sandbox.lua b/daemon/lua/sandbox.lua index d64dd1934..e8e7fe0b6 100644 --- a/daemon/lua/sandbox.lua +++ b/daemon/lua/sandbox.lua @@ -1,3 +1,26 @@ +-- Units +kB = 1024 +MB = 1024*1024 +GB = 1024*1024 + +-- Function aliases +-- `env.VAR returns os.getenv(VAR)` +env = {} +setmetatable(env, { + __index = function (t, k) return os.getenv(k) end +}) + +-- Quick access to interfaces +-- `net.` => `net.interfaces()[iface]` +setmetatable(net, { + __index = function (t, k) + local v = rawget(t, k) + if v then return v + else return net.interfaces()[k] + end + end +}) + -- Syntactic sugar for module loading -- `modules. = ` setmetatable(modules, {