diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2018-10-29 14:50:36 +0200 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2019-02-02 19:55:25 +0200 |
commit | 2285a3c183a628cd6f8e8c76000742b815be667c (patch) | |
tree | 6ddac18bf29ceea94ba1537531e755b21a6f0c69 | |
parent | 5c80fcb79ccb46292ae4a89559a06413b90333de (diff) | |
download | awall-2285a3c183a628cd6f8e8c76000742b815be667c.tar.bz2 awall-2285a3c183a628cd6f8e8c76000742b815be667c.tar.xz |
util: run function
-rwxr-xr-x | awall-cli | 6 | ||||
-rw-r--r-- | awall/ipset.lua | 11 | ||||
-rw-r--r-- | awall/util.lua | 13 |
3 files changed, 19 insertions, 11 deletions
@@ -340,11 +340,7 @@ if not call( end ) end - - local stdio, stdout - pid, stdio, stdout = lpc.run(arg[0], 'fallback') - stdio:close() - stdout:close() + pid = util.run(arg[0], 'fallback') end local function kill() diff --git a/awall/ipset.lua b/awall/ipset.lua index 5f7b9b3..9f927c0 100644 --- a/awall/ipset.lua +++ b/awall/ipset.lua @@ -1,6 +1,6 @@ --[[ Ipset file dumper for Alpine Wall -Copyright (C) 2012-2016 Kaarle Ritvanen +Copyright (C) 2012-2019 Kaarle Ritvanen See LICENSE file for license details ]]-- @@ -20,10 +20,11 @@ end function IPSet:create() for name, ipset in pairs(self.config) do - local pid = lpc.run( - 'ipset', '-!', 'create', name, table.unpack(ipset.options) - ) - if lpc.wait(pid) ~= 0 then + if not lpc.wait( + util.run( + 'ipset', '-!', 'create', name, table.unpack(ipset.options) + ) + ) ~= 0 then util.printmsg('ipset creation failed: '..name) end end diff --git a/awall/util.lua b/awall/util.lua index df6579a..ad067b7 100644 --- a/awall/util.lua +++ b/awall/util.lua @@ -1,12 +1,15 @@ --[[ Utility module for Alpine Wall -Copyright (C) 2012-2017 Kaarle Ritvanen +Copyright (C) 2012-2019 Kaarle Ritvanen See LICENSE file for license details ]]-- local M = {} +local lpc = require('lpc') + + function M.split(s, sep) if s == '' then return {} end local res = {} @@ -150,4 +153,12 @@ function M.printtabular(tbl) M.printtabulars({tbl}) end function M.printmsg(msg) io.stderr:write(msg..'\n') end + +function M.run(...) + local pid, stdin, stdout = lpc.run(...) + stdin:close() + stdout:close() + return pid +end + return M |