From 2a5cc288277c7db6ac69bbf6828c65f4d441bed2 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Mon, 6 Aug 2012 16:12:08 +0000 Subject: Removed redirect_to_referrer call --- openssh-model.lua | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'openssh-model.lua') diff --git a/openssh-model.lua b/openssh-model.lua index efb0992..de2a688 100644 --- a/openssh-model.lua +++ b/openssh-model.lua @@ -231,11 +231,20 @@ function list_auths(user) return cmdresult end -function delete_auth(user, auth) - user = user or "root" - local cmdresult = cfe({ value="Failed to delete key", errtxt="User not found", label="Delete Authorized Key Result" }) +function get_delete_auth(self, clientdata) + local retval = {} + retval.user = cfe({ value=clientdata.user or "root", label="User" }) + retval.auth = cfe({ value=clientdata.auth or "", label="Authorized Key" }) + return cfe({ type="group", value=retval, label="Delete Authorized Key" }) +end + +function delete_auth(self, delauth) + local user = delauth.value.user.value + delauth.value.user.errtxt = "User not found" + delauth.errtxt = "Failed to delete key" if user == "root" or (not string.find(user, "/") and fs.is_dir("/home/"..user)) then - cmdresult.errtxt = "Key not found" + delauth.value.user.errtxt = nil + delauth.value.auth.errtxt = "Key not found" local file = "/"..user.."/.ssh/authorized_keys" if user ~= "root" then file = "/home"..file end @@ -244,19 +253,19 @@ function delete_auth(user, auth) local newdata = {} for line in string.gmatch(data, "([^\n]+)\n?") do local val = parseauthline(line) - if val.id == auth then - cmdresult.value = "Deleted key" - cmdresult.errtxt = nil + if val.id == delauth.value.auth.value then + delauth.errtxt = nil + delauth.value.auth.errtxt = nil else newdata[#newdata + 1] = line end end - if not cmdresult.errtxt then + if not delauth.errtxt then fs.write_file(file, table.concat(newdata, "\n")) end end end - return cmdresult + return delauth end function get_auth(user) -- cgit v1.2.3