diff options
Diffstat (limited to 'openssl-controller.lua')
-rw-r--r-- | openssl-controller.lua | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/openssl-controller.lua b/openssl-controller.lua index 45efb71..d34cdee 100644 --- a/openssl-controller.lua +++ b/openssl-controller.lua @@ -1,12 +1,12 @@ -- the openssl certificates controller -module (..., package.seeall) +local mymodule = {} -default_action = "status" +mymodule.default_action = "status" local sslstatus -mvc={} -mvc.pre_exec = function(self) +mymodule.mvc={} +mymodule.mvc.pre_exec = function(self) self.model.set_umask() sslstatus = self.model.getstatus() if not self.redirect then @@ -17,17 +17,17 @@ mvc.pre_exec = function(self) or (sslstatus.value.environment.errtxt and self.conf.action ~= "status" and self.conf.action ~= "editconfigfile" and self.conf.action ~= "checkenvironment") or ((sslstatus.value.cacert.errtxt or sslstatus.value.cakey.errtxt) and self.conf.action ~= "status" and self.conf.action ~= "editconfigfile" and self.conf.action ~= "putcacert" and self.conf.action ~= "generatecacert" and self.conf.action ~= "checkenvironment" and self.conf.action ~= "editdefaults") then - redirect(self) + self.redirect(self) end end -- Show openssl status -status = function(self) +mymodule.status = function(self) return sslstatus end -- View all pending and approved requests and revoked certificates -readall = function(self) +mymodule.readall = function(self) local pending = self.model.listrequests() local approved = self.model.listcerts() local revoked = self.model.listrevoked() @@ -36,7 +36,7 @@ readall = function(self) end -- Return all certificates (pending, approved, and revoked) for this user -read = function(self) +mymodule.read = function(self) 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) @@ -46,88 +46,90 @@ read = function(self) end -- Form to request a new cert -request = function(self) +mymodule.request = function(self) return self.handle_form(self, self.model.getnewrequest, function(self, value) return self.model.submitrequest(value, self.sessiondata.userinfo.userid) end, self.clientdata, "Submit", "Request Certificate", "Request Submitted") end -- Form to edit request defaults -editdefaults = function(self) +mymodule.editdefaults = function(self) return self.handle_form(self, self.model.getreqdefaults, self.model.setreqdefaults, self.clientdata, "Save", "Edit Certificate Defaults", "Defaults Set") end -- View request details -viewrequest = function(self) +mymodule.viewrequest = function(self) return self.model.viewrequest(self.clientdata.request) end -- Approve the specified request -approve = function(self) +mymodule.approve = function(self) return self.handle_form(self, self.model.getapproverequest, self.model.approverequest, self.clientdata, "Approve", "Approve Request") end -- Delete the specified request -deleterequest = function(self) +mymodule.deleterequest = function(self) return self.handle_form(self, self.model.getdeleterequest, function(self, value) return self.model.deleterequest(self, value, nil) end, self.clientdata, "Delete", "Delete Request", "Request Deleted") end -- Delete the specified request -deletemyrequest = function(self) +mymodule.deletemyrequest = function(self) return self.handle_form(self, self.model.getdeleterequest, function(self, value) return self.model.deleterequest(self, value, self.sessiondata.userinfo.userid) end, self.clientdata, "Delete", "Delete Request", "Request Deleted") end -- View certificate details -viewcert = function(self) +mymodule.viewcert = function(self) return self.model.viewcert(self.clientdata.cert) end -- Get the specified cert -getcert = function(self) +mymodule.getcert = function(self) return self.model.getcert(self.clientdata.cert) end -- Revoke the specified cert -revoke = function(self) +mymodule.revoke = function(self) return self.handle_form(self, self.model.getrevokecert, self.model.revokecert, self.clientdata, "Revoke", "Revoke Certificate", "Certificate Revoked") end -- Delete the specified certificate -deletecert = function(self) +mymodule.deletecert = function(self) return self.handle_form(self, self.model.getdeletecert, self.model.deletecert, self.clientdata, "Delete", "Delete Certificate", "Certificate Deleted") end -- Submit request to renew the specified certificate -requestrenewcert = function(self) +mymodule.requestrenewcert = function(self) return self.handle_form(self, self.model.getrenewcert, self.model.renewcert, self.clientdata, "Renew", "Renew Certificate") end -- Renew the specified certificate -renewcert = function(self) +mymodule.renewcert = function(self) local retval = self.handle_form(self, self.model.getrenewcert, function(self, value, submit) return self.model.renewcert(self, value, submit, true) end, self.clientdata, "Renew", "Renew Certificate") end -- Get the revoked list -getrevoked = function(self) +mymodule.getrevoked = function(self) return self.model.getcrl(self.clientdata.crltype) end -- Put the CA cert -putcacert = function(self) +mymodule.putcacert = function(self) return self.handle_form(self, self.model.getnewputca, self.model.putca, self.clientdata, "Upload", "Upload CA Certificate", "Certificate Uploaded") end -downloadcacert = function(self) +mymodule.downloadcacert = function(self) return self.model.getca(self.clientdata.certtype) end -- Generate a self-signed CA -generatecacert = function(self) +mymodule.generatecacert = function(self) return self.handle_form(self, self.model.getnewcarequest, self.model.generateca, self.clientdata, "Generate", "Generate CA Certificate", "Certificate Generated") end -editconfigfile = function(self) +mymodule.editconfigfile = function(self) return self.handle_form(self, self.model.getconfigfile, self.model.setconfigfile, self.clientdata, "Save", "Edit Config File", "Config File Saved") end -checkenvironment = function(self) +mymodule.checkenvironment = function(self) return self.handle_form(self, self.model.getenvironment, self.model.setenvironment, self.clientdata, "Configure", "Configure Environment", "Environment Configured") end + +return mymodule |