From 7e1480d62e00d5260e39406fde27ae854e11ab74 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Tue, 22 Dec 2015 20:10:07 +0000 Subject: util.cache (and tests): Call on_evict after insertion of the new key, so inside on_evict we can be more certain about the current state of the cache (i.e. full, new item added, old item removed) --- util/cache.lua | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'util') diff --git a/util/cache.lua b/util/cache.lua index 72b74351..d3639b3f 100644 --- a/util/cache.lua +++ b/util/cache.lua @@ -51,19 +51,20 @@ function cache_methods:set(k, v) return true; end -- Check whether we need to remove oldest k/v + local on_evict, evicted_key, evicted_value; if self._count == self.size then local tail = self._tail; - local on_evict = self._on_evict; - if on_evict then - on_evict(tail.key, tail.value); - end + on_evict, evicted_key, evicted_value = self._on_evict, tail.key, tail.value; _remove(self, tail); - self._data[tail.key] = nil; + self._data[evicted_key] = nil; end m = { key = k, value = v, prev = nil, next = nil }; self._data[k] = m; _insert(self, m); + if on_evict and evicted_key then + on_evict(evicted_key, evicted_value, self); + end return true; end -- cgit v1.2.3 From 1951ac9ea1350ff7161c4fb6288688c71f4284fd Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 23 Dec 2015 08:32:13 +0100 Subject: util.array: Fix minory style issues --- util/array.lua | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'util') diff --git a/util/array.lua b/util/array.lua index d4ab1771..fee2078f 100644 --- a/util/array.lua +++ b/util/array.lua @@ -37,7 +37,7 @@ setmetatable(array, { __call = new_array }); -- Read-only methods function array_methods:random() - return self[math_random(1,#self)]; + return self[math_random(1, #self)]; end -- These methods can be called two ways: @@ -45,7 +45,7 @@ end -- existing_array:method([params, ...]) -- Transform existing array into result -- function array_base.map(outa, ina, func) - for k,v in ipairs(ina) do + for k, v in ipairs(ina) do outa[k] = func(v); end return outa; @@ -54,7 +54,7 @@ end function array_base.filter(outa, ina, func) local inplace, start_length = ina == outa, #ina; local write = 1; - for read=1,start_length do + for read = 1, start_length do local v = ina[read]; if func(v) then outa[write] = v; @@ -63,7 +63,7 @@ function array_base.filter(outa, ina, func) end if inplace and write <= start_length then - for i=write,start_length do + for i = write, start_length do outa[i] = nil; end end @@ -80,7 +80,7 @@ function array_base.sort(outa, ina, ...) end function array_base.pluck(outa, ina, key) - for i=1,#ina do + for i = 1, #ina do outa[i] = ina[i][key]; end return outa; @@ -108,16 +108,16 @@ end --- These methods only mutate the array function array_methods:shuffle(outa, ina) local len = #self; - for i=1,#self do - local r = math_random(i,len); + for i = 1, #self do + local r = math_random(i, len); self[i], self[r] = self[r], self[i]; end return self; end function array_methods:append(array) - local len,len2 = #self, #array; - for i=1,len2 do + local len, len2 = #self, #array; + for i = 1, len2 do self[len+i] = array[i]; end return self; @@ -147,7 +147,7 @@ function array.collect(f, s, var) local t = {}; while true do var = f(s, var); - if var == nil then break; end + if var == nil then break; end t_insert(t, var); end return setmetatable(t, array_mt); -- cgit v1.2.3 From f4d50275c99e9d7788bb9904b6081dea004ddf1d Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 23 Dec 2015 08:39:22 +0100 Subject: util.array: Just use table.remove as array:pop() --- util/array.lua | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'util') diff --git a/util/array.lua b/util/array.lua index fee2078f..3ddc97f6 100644 --- a/util/array.lua +++ b/util/array.lua @@ -128,11 +128,7 @@ function array_methods:push(x) return self; end -function array_methods:pop(x) - local v = self[x]; - t_remove(self, x); - return v; -end +array_methods.pop = t_remove; function array_methods:concat(sep) return t_concat(array.map(self, tostring), sep); -- cgit v1.2.3 From 00a70c5562e0abb5b30f3a7fae1abada1d26001c Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 23 Dec 2015 08:42:02 +0100 Subject: util.openssl: Move quoting and tostring call into escape function --- util/openssl.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'util') diff --git a/util/openssl.lua b/util/openssl.lua index 39fe99d6..5043e368 100644 --- a/util/openssl.lua +++ b/util/openssl.lua @@ -144,7 +144,7 @@ end do -- Lua to shell calls. local function shell_escape(s) - return s:gsub("'",[['\'']]); + return "'" .. tostring(s):gsub("'",[['\'']]) .. "'"; end local function serialize(f,o) @@ -153,12 +153,12 @@ do -- Lua to shell calls. if type(k) == "string" then t_insert(r, ("-%s"):format(k)); if v ~= true then - t_insert(r, ("'%s'"):format(shell_escape(tostring(v)))); + t_insert(r, shell_escape(v)); end end end for _,v in ipairs(o) do - t_insert(r, ("'%s'"):format(shell_escape(tostring(v)))); + t_insert(r, shell_escape(v)); end return t_concat(r, " "); end -- cgit v1.2.3 From 9a10ad6f7f08d6966105e72b7fe27fd97a4ebda5 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 23 Dec 2015 08:46:54 +0100 Subject: util.openssl: Rename variables for readability --- util/openssl.lua | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'util') diff --git a/util/openssl.lua b/util/openssl.lua index 5043e368..48922926 100644 --- a/util/openssl.lua +++ b/util/openssl.lua @@ -147,27 +147,27 @@ do -- Lua to shell calls. return "'" .. tostring(s):gsub("'",[['\'']]) .. "'"; end - local function serialize(f,o) - local r = {"openssl", f}; - for k,v in pairs(o) do + local function serialize(command, args) + local commandline = { "openssl", command }; + for k, v in pairs(args) do if type(k) == "string" then - t_insert(r, ("-%s"):format(k)); + t_insert(commandline, ("-%s"):format(k)); if v ~= true then - t_insert(r, shell_escape(v)); + t_insert(commandline, shell_escape(v)); end end end - for _,v in ipairs(o) do - t_insert(r, shell_escape(v)); + for _, v in ipairs(args) do + t_insert(commandline, shell_escape(v)); end - return t_concat(r, " "); + return t_concat(commandline, " "); end local os_execute = os.execute; setmetatable(_M, { __index=function(_,f) return function(opts) - return 0 == os_execute(serialize(f, type(opts) == "table" and opts or {})); + return 0 == os_execute(serialize(command, type(opts) == "table" and opts or {})); end; end; }); -- cgit v1.2.3 From 2487c3799d6532a7b7d82032830abf84b0d207df Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Wed, 23 Dec 2015 08:47:57 +0100 Subject: util.openssl: Fix style / whitespace --- util/openssl.lua | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'util') diff --git a/util/openssl.lua b/util/openssl.lua index 48922926..12e49eac 100644 --- a/util/openssl.lua +++ b/util/openssl.lua @@ -12,7 +12,7 @@ local config = {}; _M.config = config; local ssl_config = {}; -local ssl_config_mt = {__index=ssl_config}; +local ssl_config_mt = { __index = ssl_config }; function config.new() return setmetatable({ @@ -65,12 +65,12 @@ function ssl_config:serialize() s = s .. ("[%s]\n"):format(k); if k == "subject_alternative_name" then for san, n in pairs(t) do - for i = 1,#n do + for i = 1, #n do s = s .. s_format("%s.%d = %s\n", san, i -1, n[i]); end end elseif k == "distinguished_name" then - for i=1,#DN_order do + for i=1, #DN_order do local k = DN_order[i] local v = t[k]; if v then @@ -107,7 +107,7 @@ end function ssl_config:add_sRVName(host, service) t_insert(self.subject_alternative_name.otherName, - s_format("%s;%s", oid_dnssrv, ia5string("_" .. service .."." .. idna_to_ascii(host)))); + s_format("%s;%s", oid_dnssrv, ia5string("_" .. service .. "." .. idna_to_ascii(host)))); end function ssl_config:add_xmppAddr(host) @@ -118,10 +118,10 @@ end function ssl_config:from_prosody(hosts, config, certhosts) -- TODO Decide if this should go elsewhere local found_matching_hosts = false; - for i = 1,#certhosts do + for i = 1, #certhosts do local certhost = certhosts[i]; for name in pairs(hosts) do - if name == certhost or name:sub(-1-#certhost) == "."..certhost then + if name == certhost or name:sub(-1-#certhost) == "." .. certhost then found_matching_hosts = true; self:add_dNSName(name); --print(name .. "#component_module: " .. (config.get(name, "component_module") or "nil")); @@ -165,7 +165,7 @@ do -- Lua to shell calls. local os_execute = os.execute; setmetatable(_M, { - __index=function(_,f) + __index = function(_, command) return function(opts) return 0 == os_execute(serialize(command, type(opts) == "table" and opts or {})); end; -- cgit v1.2.3