From bee67e07734c54bcc42926b5d0cc32706277ef43 Mon Sep 17 00:00:00 2001 From: Mika Havela Date: Thu, 8 May 2008 07:35:04 +0000 Subject: List current configuration on status-page git-svn-id: svn://svn.alpinelinux.org/acf/dnscache/trunk@1112 ab2d0c66-481e-0410-8bed-d214d4d58bed --- dnscache-model.lua | 20 ++++++++++++++++++++ dnscache-status-html.lsp | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/dnscache-model.lua b/dnscache-model.lua index aad55d8..649fcc5 100644 --- a/dnscache-model.lua +++ b/dnscache-model.lua @@ -45,6 +45,19 @@ local function humanreadable(value) return myvalue end +local function list_servers() + local serverlist = {} + local serverdetails = {} + for k,v in pairs(posix.dir(baseurl .. "servers")) do + if not string.match(v, "^%.") then + if (fs.is_file(baseurl .. "servers/" .. v)) then + table.insert(serverlist, v) + serverdetails[v] = fs.read_file_as_array(baseurl .. "servers/" .. v) + end + end + end + return serverlist, serverdetails +end -- ################################################################################ -- PUBLIC FUNCTIONS @@ -88,6 +101,13 @@ function getstatus() value=humanreadable(config.CACHESIZE or ""), }) + local serverlist, serverdetails = list_servers() + status.servers = cfe({ name="servers", + label="Configured DNS-servers", + value=serverlist, + option=serverdetails, + }) + return status end diff --git a/dnscache-status-html.lsp b/dnscache-status-html.lsp index b23ad5a..a57a3c6 100644 --- a/dnscache-status-html.lsp +++ b/dnscache-status-html.lsp @@ -25,5 +25,25 @@ local myform = form.status local tags = { "ip", "cachesize", } displayinfo(myform,tags,"viewonly") ?> + +" .. myform.label .. "\n") +io.write("\t\t
\n") +for k,v in pairs(myform.value or {}) do + io.write("\t\t\t") + io.write("\n\t\t\t\n") + for k1,v1 in pairs(myform.option[v]) do + io.write("\n\t\t\t
" .. v .. "
"..v1) + end + + io.write("\t\t\t
") +end +io.write("\t\t
\n") +?> + + -- cgit v1.2.3