summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lbu-model.lua43
1 files changed, 23 insertions, 20 deletions
diff --git a/lbu-model.lua b/lbu-model.lua
index 30dc9f1..68c8712 100644
--- a/lbu-model.lua
+++ b/lbu-model.lua
@@ -9,8 +9,6 @@ require("validator")
-- Set variables
local configfile = "/etc/lbu/lbu.conf"
-local includefile = "/etc/lbu/include"
-local excludefile = "/etc/lbu/exclude"
-- ################################################################################
-- LOCAL FUNCTIONS
@@ -93,19 +91,6 @@ local function getciphers()
return opensslciphers
end
-local function getincexl(state)
- local incexl = {}
- if (string.lower(state) == "include") or (string.lower(state) == "exclude") then
- local f = io.popen("PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin lbu " .. string.lower(state) .. " -l 2>&1", "r")
- if not (f) then return incexl end
- for line in f:lines() do
- table.insert(incexl,tostring(line))
- end
- f:close()
- end
- return incexl
-end
-
local function validateconfig(config)
-- Set errormessages when configs are wrong
config.value.LBU_MEDIA.errtxt = "Invalid Media"
@@ -321,12 +306,16 @@ end
function getincluded ()
local included = cfe({
- value=fs.read_file(includefile) or "",
label="Included item(s)",
type="longtext",
descr="List one file/directory per line\nAssumes root directory, no leading '/' necessary",
})
-
+
+ -- Read the list
+ local f = io.popen("PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin lbu include -l")
+ included.value = f:read("*a") or ""
+ f:close()
+
validatefilelist(included)
return cfe({ type="group", value={included = included} })
@@ -335,7 +324,12 @@ end
function setincluded (included)
validatefilelist(included.value.included)
if not included.value.included.errtxt then
- fs.write_file(includefile, included.value.included.value)
+ local f = io.popen("PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin lbu include -l | xargs /sbin/lbu include -r 2>&1")
+ f:close()
+ local cmd = "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin lbu include "..string.gsub(included.value.included.value, "[%s%c]+", " ")
+ f = io.popen(cmd)
+ included.descr = f:read("*a")
+ f:close()
else
included.errtxt = "Failed to set included"
end
@@ -344,12 +338,16 @@ end
function getexcluded ()
local excluded = cfe({
- value=fs.read_file(excludefile) or "",
label="Excluded item(s)",
type="longtext",
descr="List one file/directory per line\nAssumes root directory, no leading '/' necessary",
})
+ -- Read the list
+ local f = io.popen("PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin lbu exclude -l")
+ excluded.value = f:read("*a") or ""
+ f:close()
+
validatefilelist(excluded)
return cfe({ type="group", value={excluded = excluded} })
@@ -358,7 +356,12 @@ end
function setexcluded (excluded)
validatefilelist(excluded.value.excluded)
if not excluded.value.excluded.errtxt then
- fs.write_file(excludefile, excluded.value.excluded.value)
+ local f = io.popen("PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin lbu exclude -l | xargs /sbin/lbu exclude -r 2>&1")
+ f:close()
+ local cmd = "PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin lbu exclude "..string.gsub(excluded.value.excluded.value, "[%s%c]+", " ")
+ f = io.popen(cmd)
+ excluded.descr = f:read("*a")
+ f:close()
else
excluded.errtxt = "Failed to set excluded"
end