summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2008-05-06 07:45:08 +0000
committerMika Havela <mika.havela@gmail.com>2008-05-06 07:45:08 +0000
commit26a72bf1519a8933e3fabc884a024e72947008e0 (patch)
treeb669c81220f0885a37faf8acf3ddb7c02bd8fc19
parent1b8bad95d1204e4f3f90bfe4f212870d09c44918 (diff)
downloadacf-squid-26a72bf1519a8933e3fabc884a024e72947008e0.tar.bz2
acf-squid-26a72bf1519a8933e3fabc884a024e72947008e0.tar.xz
Changing start/stop/restart process to show stderr to the user (as for all other ACF's)
git-svn-id: svn://svn.alpinelinux.org/acf/squid/trunk@1103 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r--squid-advanced-html.lsp5
-rw-r--r--squid-authentication-html.lsp5
-rw-r--r--squid-basic-html.lsp3
-rw-r--r--squid-controller.lua15
-rw-r--r--squid-model.lua25
5 files changed, 18 insertions, 35 deletions
diff --git a/squid-advanced-html.lsp b/squid-advanced-html.lsp
index 1d933b0..0121991 100644
--- a/squid-advanced-html.lsp
+++ b/squid-advanced-html.lsp
@@ -48,11 +48,10 @@ the configuration files for the service are changed. However, the changes will n
<h1>MANAGEMENT</h1>
<form action="" method="POST">
<dl>
-<DT>Daemon control</DT>
-<dd><input class="submit" type="submit" name="srvcmd" value="start" <? io.write( srv1fill ) ?>>
+<DT>Daemon control</DT><dd><input class="submit" type="submit" name="srvcmd" value="start" <? io.write( srv1fill ) ?>>
<input class="submit" type="submit" name="srvcmd" value="stop" <? io.write( srv2fill ) ?>>
<input class="submit" type="submit" name="srvcmd" value="restart" <? io.write( srv2fill ) ?>>
-<pre class="attention"><? io.write( service.message ) ?></pre></dd>
+<? if (service.message) and (service.message.descr) and (#service.message.descr > 0) then ?><pre><? io.write( service.message.descr ) ?></pre><? end ?></dd>
</dl>
</form>
diff --git a/squid-authentication-html.lsp b/squid-authentication-html.lsp
index e3eac32..3835be6 100644
--- a/squid-authentication-html.lsp
+++ b/squid-authentication-html.lsp
@@ -115,10 +115,9 @@ the changes will not be <i>applied</i> until you restart the service.</dd>
<h1>MANAGEMENT</h1>
<form action="" method="POST">
<dl>
-<DT>Daemon control</DT>
-<dd><input class="submit" type="submit" name="srvcmd" value="start" <? io.write( srv1fill ) ?>>
+<DT>Daemon control</DT><dd><input class="submit" type="submit" name="srvcmd" value="start" <? io.write( srv1fill ) ?>>
<input class="submit" type="submit" name="srvcmd" value="stop" <? io.write( srv2fill ) ?>>
<input class="submit" type="submit" name="srvcmd" value="restart" <? io.write( srv2fill ) ?>>
-<pre class="attention"><? io.write( service.message ) ?></pre></dd>
+<? if (service.message) and (service.message.descr) and (#service.message.descr > 0) then ?><pre><? io.write( service.message.descr ) ?></pre><? end ?></dd>
</dl>
</form>
diff --git a/squid-basic-html.lsp b/squid-basic-html.lsp
index ab96ea8..8d1cd43 100644
--- a/squid-basic-html.lsp
+++ b/squid-basic-html.lsp
@@ -109,13 +109,12 @@ until you restart the service.</DD>
</form>
<h1>MANAGEMENT</h1>
-
<form action="" method="POST">
<dl>
<DT>Daemon control</DT><dd><input class="submit" type="submit" name="srvcmd" value="start" <? io.write( srv1fill ) ?>>
<input class="submit" type="submit" name="srvcmd" value="stop" <? io.write( srv2fill ) ?>>
<input class="submit" type="submit" name="srvcmd" value="restart" <? io.write( srv2fill ) ?>>
-<? if #service.message > 0 then ?><pre><? io.write( service.message ) ?></pre><? end ?></dd>
+<? if (service.message) and (service.message.descr) and (#service.message.descr > 0) then ?><pre><? io.write( service.message.descr ) ?></pre><? end ?></dd>
</dl>
</form>
diff --git a/squid-controller.lua b/squid-controller.lua
index 8ffe0cb..7014935 100644
--- a/squid-controller.lua
+++ b/squid-controller.lua
@@ -40,11 +40,11 @@ basic = function( self )
redirect(self, "dep")
end
- local service = { message="", status="", error="" }
+ local service = {}
if self.clientdata.srvcmd then
local srvcmd = self.clientdata.srvcmd
if srvcmd == "start" or srvcmd == "stop" or srvcmd == "restart" then
- service.message = self.model.service_control( srvcmd )
+ service.srvcmdresult, service.message = self.model.service_control( srvcmd )
end
end
@@ -68,7 +68,6 @@ basic = function( self )
end
service.status = self.model.get_status()
--- info.status.value = service.status;
service.config, service.error = self.model.get_basic_config()
return ( cfe ({ option = option, service = service, info = info }) )
@@ -90,11 +89,11 @@ authentication = function( self )
extra = ""
}
- local service = { message="", status="", error="" }
+ local service = {}
if self.clientdata.srvcmd then
local srvcmd = self.clientdata.srvcmd
if srvcmd == "start" or srvcmd == "stop" or srvcmd == "restart" then
- service.message = self.model.service_control( srvcmd )
+ service.srvcmdresult, service.message = self.model.service_control( srvcmd )
end
end
@@ -120,7 +119,6 @@ authentication = function( self )
end
service.status = self.model.get_status()
--- info.status.value = service.status
service.config, service.error = self.model.get_basic_config()
return ( cfe ({ option = option, service = service, info = info }) )
@@ -142,11 +140,11 @@ advanced = function( self )
extra = ""
}
- local service = { message="", status="", config="" }
+ local service = {}
if self.clientdata.srvcmd then
local srvcmd = self.clientdata.srvcmd
if srvcmd == "start" or srvcmd == "stop" or srvcmd == "restart" then
- service.message = self.model.service_control( srvcmd )
+ service.srvcmdresult, service.message = self.model.service_control( srvcmd )
end
end
@@ -157,7 +155,6 @@ advanced = function( self )
end
service.status = self.model.get_status()
--- info.status.value = service.status
service.config = self.model.get_adv_config()
return ( cfe ({ option = option, service = service, info = info }) )
diff --git a/squid-model.lua b/squid-model.lua
index e2b9285..f23f026 100644
--- a/squid-model.lua
+++ b/squid-model.lua
@@ -6,6 +6,7 @@ module (..., package.seeall)
require("format")
require("processinfo")
require("procps")
+require("daemoncontrol")
-- Set variables
local squidconf = "/etc/squid/squid.conf"
@@ -121,24 +122,12 @@ get_status_winbindd = function()
return retval
end
-service_control = function( control )
-
- local retval = ""
-
- local ptr = io.popen( "/etc/init.d/squid " .. control, "r" )
- if ptr ~= nil then
- local retmsg = ptr:read( "*a" )
- ptr:close()
- if retmsg ~= nil then
- retval = retmsg
- else
- retval = "service_control(): Failed to read output from initscript!\n"
- end
- else
- retval = "service_control(): Failed to start/stop/restart service!\n"
- end
-
- return retval
+service_control = function( cmd )
+ local action = {value=cmd}
+ local cmdresult,cmdmessage,cmderror,cmdaction = daemoncontrol.daemoncontrol(processname, cmd)
+ action.descr=cmdmessage
+ action.errtxt=cmderror
+ return cmdresult,action
end
service_control_winbindd = function( control )