diff options
author | Ted Trask <ttrask01@yahoo.com> | 2008-07-07 19:16:11 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2008-07-07 19:16:11 +0000 |
commit | 80b754148dd765622006cc602218c88307e42043 (patch) | |
tree | 9351cce3c811929981f37282dd8063c52f662b3a /openssl-controller.lua | |
parent | dbb622fd1e6c7621281bd14c7a6f88a6a3c7cd10 (diff) | |
download | acf-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.lua | 131 |
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 |