summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--syslog-basic-html.lsp47
-rw-r--r--syslog-config-html.lsp63
-rw-r--r--syslog-controller.lua22
-rw-r--r--syslog-expert-html.lsp12
-rw-r--r--syslog-model.lua5
-rw-r--r--syslog-status-html.lsp25
-rw-r--r--syslog.menu2
7 files changed, 116 insertions, 60 deletions
diff --git a/syslog-basic-html.lsp b/syslog-basic-html.lsp
deleted file mode 100644
index 0e5cab3..0000000
--- a/syslog-basic-html.lsp
+++ /dev/null
@@ -1,47 +0,0 @@
-<? ctl = ... ?>
-<h1>System logging</h1>
-<form>
-<p>
-<input type="radio" name="status" value="enabled" <?= ctl.enabled ?>/>
-Enable
-</p>
-<p>
-<input type="radio" name="status" value="disabled" <?= ctl.disabled ?>/>
-Disable
-</p>
-
-<p>
-<input type="checkbox" name="remote" <?= ctl.remote ?>/>
-Enable remote logging
-</p>
-
-<p>
-Remote host: <input type="text" value="<?= ctl.host ?>" name="host"/>
-</p>
-
-<p>
-<br/>
-<input type="submit" value="Apply"/>
-</p>
-<!-- DEBUG:
-
-<?
-for k,v in pairs(ctl) do
- io.write(k..": "..tostring(v).."\n")
-end
-
-if ctl.pidlist then
- io.write("pidlist:\n")
- for k,v in pairs(ctl.pidlist) do
- io.write(k..": "..tostring(v).."\n")
- end
-end
-if ctl.opts then
- io.write("opts:\n")
- for k,v in pairs(ctl.opts) do
- io.write(k..": "..tostring(v).."\n")
- end
-end
-?>
--->
-</form>
diff --git a/syslog-config-html.lsp b/syslog-config-html.lsp
new file mode 100644
index 0000000..0ced54f
--- /dev/null
+++ b/syslog-config-html.lsp
@@ -0,0 +1,63 @@
+<? ctl = ... ?>
+<h1>System logging</h1>
+<h2>System info</h2>
+<form>
+<DT>Process status</DT>
+<DD><?= ctl.status ?></DD>
+
+<DT>Daemon control</DT>
+<dd><form action="" method="POST">
+<input type=submit name="srvcmd" value="start" class="submit">
+<input type=submit name="srvcmd" value="stop" class="submit">
+<input type=submit name="srvcmd" value="restart" class="submit"></form>
+</dd>
+
+<H2>Configuration</H2>
+
+<H3>General settings</H3>
+
+<DT>Log to given file</DT>
+<DD><input type="text" class="text" name="smallerlogg"/>
+<P>(default=/var/log/messages)</P></DD>
+
+<DT>Set local log level</DT>
+<DD><input class="radio" type="radio" name="loglevel" value="1">1
+<input class="radio" type="radio" name="loglevel" value="2">2
+<input class="radio" type="radio" name="loglevel" value="3">3
+<input class="radio" type="radio" name="loglevel" value="4">4
+<input class="radio" type="radio" name="loglevel" value="5">5
+<p>(1=Quiet, 5=Noisy)</P>
+</DD>
+
+<DT>Smaller logging output</DT>
+<DD><input type="checkbox" name="smallerlogg"/></DD>
+
+<H3>Save logs for a longer period</H3>
+<DT>Max size (KB) before rotate</DT>
+<DD><input type="text" class="text" name="smallerlogg"/>
+<p>(default=200KB, 0=off)</p>
+</DD>
+
+<DT>Number of rotated logs to keep</DT>
+<DD><input type="text" class="text" name="smallerlogg"/>
+<p>(default=1, max=99, 0=purge)</p>
+</DD>
+
+<H3>Remote logging</H3>
+
+<DT>Log to IP or hostname on PORT</DT><DD><input type="text" class="text" value="<?= ctl.host ?>" name="host"/>
+<P>(default PORT=514/UDP)</P></DD>
+
+<H2>Save above settings</H2>
+<DT>Apply settings</DT>
+<DD><input class="submit" type="submit" value="Apply"/></DD>
+
+</form>
+
+<?
+--[[ DEBUG INFORMATION
+view = ...
+require("debugs")
+io.write(debugs.variables(view))
+--]]
+?>
diff --git a/syslog-controller.lua b/syslog-controller.lua
index be3e322..76089fb 100644
--- a/syslog-controller.lua
+++ b/syslog-controller.lua
@@ -1,7 +1,7 @@
module(..., package.seeall)
-require("privsep")
+--require("privsep")
require("join")
-- those should go into acf.conf
@@ -11,19 +11,20 @@ local group="nobody"
-- drop privileges and put privileged model funcs in self.priv
mvc = {}
function mvc.on_load(self)
- self.priv = privsep.drop_privs(user, group, self.model.priv)
+-- self.priv = privsep.drop_privs(user, group, self.model.priv)
end
-function basic(self)
+
+function status(self)
+end
+function config(self)
local ctl = {}
local opts = self.model.readopts()
- ctl.pidlist = self.priv.is_enabled()
+-- ctl.pidlist = self.priv.is_enabled()
if pidlist then
- ctl.enabled = "checked=yes"
- ctl.disabled = ""
+ ctl.status = "enabled"
else
- ctl.enabled = ""
- ctl.disabled = "checked=yes"
+ ctl.status = "Disabled"
end
ctl.opts = opts
if opts and opts.remote then
@@ -33,7 +34,8 @@ function basic(self)
ctl.remote = ""
ctl.host = ""
end
- ctl.debug="opts="..tostring(opts)
-
return ctl
end
+function expert(self)
+end
+
diff --git a/syslog-expert-html.lsp b/syslog-expert-html.lsp
new file mode 100644
index 0000000..fb43eae
--- /dev/null
+++ b/syslog-expert-html.lsp
@@ -0,0 +1,12 @@
+<? ctl = ... ?>
+<h1>System logging</h1>
+<h2>Status</h2>
+<P>WORK IN PROGRESS!!!</P>
+
+<?
+--[[ DEBUG INFORMATION
+view = ...
+require("debugs")
+io.write(debugs.variables(view))
+--]]
+?>
diff --git a/syslog-model.lua b/syslog-model.lua
index 7391cfe..af41c70 100644
--- a/syslog-model.lua
+++ b/syslog-model.lua
@@ -1,9 +1,10 @@
module(..., package.seeall)
-require("pidof")
+--require("pidof")
require("split")
-- we actually need root permissions to get the process list
+--[[
priv = {}
function priv.is_enabled()
return (pidof.pidof("syslogd"))
@@ -21,7 +22,7 @@ function priv.enable(opts)
end
os.system("/etc/init.d/syslogd restart; rc_add -k -s 20 syslog")
end
-
+--]]
-- this func does not need privileges
function readopts()
diff --git a/syslog-status-html.lsp b/syslog-status-html.lsp
new file mode 100644
index 0000000..32cb67e
--- /dev/null
+++ b/syslog-status-html.lsp
@@ -0,0 +1,25 @@
+<? local view = ... ?>
+
+<h1>System logging</h1>
+
+<h2>SYSTEM INFO</h2>
+
+<dt>Program version</dt>
+<dd>(Don't think this can be displayed)</dd>
+
+<dt>Process status</dt>
+<dd>[running|stopped]</dd>
+
+<dt>Logfile</dt>
+<dd>[/var/log/messages] (Hidden if -R and not -L)</dd>
+
+<dt>Remote logging to</dt>
+<dd>[1.2.3.4:514] (Hidden if not appliable)</dd>
+
+
+<?
+--[[ DEBUG INFORMATION
+require("debugs")
+io.write(debugs.variables(view))
+--]]
+?>
diff --git a/syslog.menu b/syslog.menu
index d80f820..bb5e4f6 100644
--- a/syslog.menu
+++ b/syslog.menu
@@ -1,2 +1,2 @@
#CAT GROUP/DESC TAB ACTION
-System 22System_Logging basic basic
+System 22System_Logging status status