diff options
-rw-r--r-- | syslog-basic-html.lsp | 47 | ||||
-rw-r--r-- | syslog-config-html.lsp | 63 | ||||
-rw-r--r-- | syslog-controller.lua | 22 | ||||
-rw-r--r-- | syslog-expert-html.lsp | 12 | ||||
-rw-r--r-- | syslog-model.lua | 5 | ||||
-rw-r--r-- | syslog-status-html.lsp | 25 | ||||
-rw-r--r-- | syslog.menu | 2 |
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 |