summaryrefslogtreecommitdiffstats
path: root/openssl-controller.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2008-07-07 19:16:11 +0000
committerTed Trask <ttrask01@yahoo.com>2008-07-07 19:16:11 +0000
commit80b754148dd765622006cc602218c88307e42043 (patch)
tree9351cce3c811929981f37282dd8063c52f662b3a /openssl-controller.lua
parentdbb622fd1e6c7621281bd14c7a6f88a6a3c7cd10 (diff)
downloadacf-openssl-80b754148dd765622006cc602218c88307e42043.tar.bz2
acf-openssl-80b754148dd765622006cc602218c88307e42043.tar.xz
Update openssl to use controllerfunctions and modelfunctions.
git-svn-id: svn://svn.alpinelinux.org/acf/openssl/trunk@1287 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'openssl-controller.lua')
-rw-r--r--openssl-controller.lua131
1 files changed, 19 insertions, 112 deletions
diff --git a/openssl-controller.lua b/openssl-controller.lua
index 2caa20f..83cdf9e 100644
--- a/openssl-controller.lua
+++ b/openssl-controller.lua
@@ -1,21 +1,12 @@
-- the openssl certificates controller
module (..., package.seeall)
-require("getopts")
+require("controllerfunctions")
default_action = "status"
local sslstatus
-local handle_req_clientdata = function(clientdata, defaults)
- -- Put the user values into the table
- for name,value in pairs(clientdata) do
- if defaults.value[name] then
- defaults.value[name].value = value
- end
- end
-end
-
mvc={}
mvc.pre_exec = function(self)
sslstatus = self.model.getstatus()
@@ -35,65 +26,31 @@ end
-- View all pending and approved requests and revoked certificates
readall = function(self)
- local cmdresult = self.sessiondata.cmdresult
- self.sessiondata.cmdresult = nil
local pending = self.model.listrequests()
local approved = self.model.listcerts()
local revoked = self.model.listrevoked()
- local result = cfe({ type="list", value={cmdresult=cmdresult, pending=pending, approved=approved, revoked=revoked} })
+ local result = cfe({ type="list", value={pending=pending, approved=approved, revoked=revoked} })
return result
end
-- Return all certificates (pending, approved, and revoked) for this user
read = function(self)
- local cmdresult = self.sessiondata.cmdresult
- self.sessiondata.cmdresult = nil
local user = cfe({ value=self.sessiondata.userinfo.userid, label="User Name" })
local pending = self.model.listrequests(self.sessiondata.userinfo.userid)
local approved = self.model.listcerts(self.sessiondata.userinfo.userid)
local revoked = self.model.listrevoked()
- local result = cfe({ type="list", value={cmdresult=cmdresult, user=user, pending=pending, approved=approved, revoked=revoked} })
+ local result = cfe({ type="list", value={user=user, pending=pending, approved=approved, revoked=revoked} })
return result
end
-- Form to request a new cert
request = function(self)
- local request = self.model.getnewrequest()
- if self.clientdata.Submit then
- handle_req_clientdata(self.clientdata, request)
- -- Try to submit the request
- request = self.model.submitrequest(request, self.sessiondata.userinfo.userid)
- if not request.errtxt then
- cmdresult = cfe({ value="Request submitted", label="Request result" })
- self.sessiondata.cmdresult = cmdresult
- --request.descr = "Submitted request"
- redirect(self, "read")
- end
- end
-
- request.type = "form"
- request.label = "Request Certificate"
- request.option = "Submit"
-
- return request
+ return controllerfunctions.handle_form(self, self.model.getnewrequest, function(value) return self.model.submitrequest(value, self.sessiondata.userinfo.userid) end, self.clientdata, "Submit", "Request Certificate", "Request Submitted", "read")
end
-- Form to edit request defaults
editdefaults = function(self)
- local defaults = self.model.getreqdefaults()
- if self.clientdata.Save then
- handle_req_clientdata(self.clientdata, defaults)
- defaults = self.model.setreqdefaults(defaults)
- if not defaults.errtxt then
- defaults.descr = "Defaults set"
- end
- end
-
- defaults.type = "form"
- defaults.label = "Edit certificate defaults"
- defaults.option = "Save"
-
- return defaults
+ return controllerfunctions.handle_form(self, self.model.getreqdefaults, self.model.setreqdefaults, self.clientdata, "Save", "Edit Certificate Defaults", "Defaults Set")
end
-- View request details
@@ -103,23 +60,17 @@ end
-- Approve the specified request
approve = function(self)
- local cmdresult = self.model.approverequest(self.clientdata.request)
- self.sessiondata.cmdresult = cmdresult
- redirect_to_referrer(self)
+ return self:redirect_to_referrer(self.model.approverequest(self.clientdata.request))
end
-- Delete the specified request
deleterequest = function(self)
- local cmdresult = self.model.deleterequest(self.clientdata.request)
- self.sessiondata.cmdresult = cmdresult
- redirect_to_referrer(self)
+ return self:redirect_to_referrer(self.model.deleterequest(self.clientdata.request))
end
-- Delete the specified request
deletemyrequest = function(self)
- local cmdresult = self.model.deleterequest(self.clientdata.request, self.sessiondata.userinfo.userid)
- self.sessiondata.cmdresult = cmdresult
- redirect_to_referrer(self)
+ return self:redirect_to_referrer(self.model.deleterequest(self.clientdata.request, self.sessiondata.userinfo.userid))
end
-- View certificate details
@@ -135,30 +86,22 @@ end
-- Revoke the specified cert
revoke = function(self)
- local cmdresult = self.model.revokecert(self.clientdata.cert)
- self.sessiondata.cmdresult = cmdresult
- redirect_to_referrer(self)
+ return self:redirect_to_referrer(self.model.revokecert(self.clientdata.cert))
end
-- Delete the specified certificate
deletecert = function(self)
- local cmdresult = self.model.deletecert(self.clientdata.cert)
- self.sessiondata.cmdresult = cmdresult
- redirect_to_referrer(self)
+ return self:redirect_to_referrer(self.model.deletecert(self.clientdata.cert))
end
-- Submit request to renew the specified certificate
requestrenewcert = function(self)
- local cmdresult = self.model.renewcert(self.clientdata.cert)
- self.sessiondata.cmdresult = cmdresult
- redirect_to_referrer(self)
+ return self:redirect_to_referrer(self.model.renewcert(self.clientdata.cert))
end
-- Renew the specified certificate
renewcert = function(self)
- local cmdresult = self.model.renewcert(self.clientdata.cert, true)
- self.sessiondata.cmdresult = cmdresult
- redirect_to_referrer(self)
+ return self:redirect_to_referrer(self.model.renewcert(self.clientdata.cert, true))
end
-- Get the revoked list
@@ -169,60 +112,24 @@ end
-- Put the CA cert
putcacert = function(self)
- local retval = self.model.putca(self.clientdata.ca, self.clientdata.password, self.clientdata.Upload)
- if self.clientdata.Upload then
- if not retval.errtxt then
- redirect(self)
- end
- end
- retval.type = "form"
- retval.label = "Upload CA Certificate"
- retval.option = "Upload"
-
- return retval
+ return controllerfunctions.handle_form(self, self.model.getnewputca, self.model.putca, self.clientdata, "Upload", "Upload CA Certificate", "Certificate Uploaded", "status")
end
-- Generate a self-signed CA
generatecacert = function(self)
- local request = self.model.getnewcarequest()
- if self.clientdata.Generate then
- handle_req_clientdata(self.clientdata, request)
- -- Try to submit the request
- request = self.model.generateca(request)
- if not request.errtxt then
- redirect(self)
- end
- end
-
- request.type = "form"
- request.label = "Generate CA Certificate"
- request.option = "Generate"
-
- return request
+ return controllerfunctions.handle_form(self, self.model.getnewcarequest, self.model.generateca, self.clientdata, "Generate", "Gererate CA Certificate", "Certificate Generated", "status")
end
editconfigfile = function(self)
- local saved = false
- if self.clientdata.Save then
- saved = self.model.setconfigfile(self.clientdata.filecontent)
- end
- local configfile = self.model.getconfigfile()
- configfile.type = "form"
- configfile.option = "Save"
- configfile.label = "Edit config file"
- if saved then
- configfile.descr = "Saved config file"
- elseif self.clientdata.Save then
- configfile.errtxt = "Failed to save config file"
- end
- return configfile
+ return controllerfunctions.handle_form(self, self.model.getconfigfile, self.model.setconfigfile, self.clientdata, "Save", "Edit Config File", "Config File Saved")
end
checkenvironment = function(self)
local form = cfe({ type="form", value={}, label="Check Environment", option="Configure" })
- form.value.status = self.model.checkenvironment(self.clientdata.Configure)
- if self.clientdata.Configure and not form.value.status.errtxt then
- redirect_to_referrer(self)
+ if self.clientdata.Configure then
+ form.value.status = self:redirect_to_referrer(self.model.checkenvironment(self.clientdata.Configure))
+ else
+ form.value.status = self:redirect_to_referrer() or self.model.checkenvironment(self.clientdata.Configure)
end
return form
end