From 36717208f1ae73290d352d706425e32f9726ff37 Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Thu, 14 Aug 2008 16:11:49 +0000 Subject: Fixed login form Converted SSH-Keys to CBI-Map --- modules/admin-core/luasrc/view/sysauth.htm | 43 +++++++++++++--------- .../admin-full/luasrc/controller/admin/system.lua | 20 +--------- .../luasrc/model/cbi/admin_system/sshkeys.lua | 34 +++++++++++++++++ .../luasrc/view/admin_system/sshkeys.htm | 39 -------------------- 4 files changed, 61 insertions(+), 75 deletions(-) create mode 100644 modules/admin-full/luasrc/model/cbi/admin_system/sshkeys.lua delete mode 100644 modules/admin-full/luasrc/view/admin_system/sshkeys.htm (limited to 'modules') diff --git a/modules/admin-core/luasrc/view/sysauth.htm b/modules/admin-core/luasrc/view/sysauth.htm index 236ec7e6a7..e48f414c56 100644 --- a/modules/admin-core/luasrc/view/sysauth.htm +++ b/modules/admin-core/luasrc/view/sysauth.htm @@ -14,27 +14,36 @@ $Id$ -%> <%+header%> <% luci.i18n.loadc("sysauth") %> -

<%:sysauth_head%>

-

<%:sysauth_prompt%>

-<% if fuser then %> -
<%:sysauth_failed%>
-
-<% end %> +
-
+
+

<%:sysauth_head%>

+
+ <%:sysauth_prompt%> + <%- if fuser then %> +
<%:sysauth_failed%>
+
+ <% end -%> +
+
-
<%:username%>
-
+ +
+ +
-
<%:password%>
-
+ +
+ +
-
-
- - -
-
+ +
+ +
+ + +
<%+footer%> \ No newline at end of file diff --git a/modules/admin-full/luasrc/controller/admin/system.lua b/modules/admin-full/luasrc/controller/admin/system.lua index fec6526991..cf39483cfb 100644 --- a/modules/admin-full/luasrc/controller/admin/system.lua +++ b/modules/admin-full/luasrc/controller/admin/system.lua @@ -21,7 +21,7 @@ function index() entry({"admin", "system", "packages"}, call("action_packages"), i18n("a_s_packages"), 10) entry({"admin", "system", "packages", "ipkg"}, call("action_ipkg"), i18n("a_s_p_ipkg")) entry({"admin", "system", "passwd"}, call("action_passwd"), i18n("a_s_changepw"), 20) - entry({"admin", "system", "sshkeys"}, call("action_sshkeys"), i18n("a_s_sshkeys"), 30) + entry({"admin", "system", "sshkeys"}, form("admin_system/sshkeys"), i18n("a_s_sshkeys"), 30) entry({"admin", "system", "system"}, cbi("admin_system/system"), i18n("system"), 40) entry({"admin", "system", "fstab"}, cbi("admin_system/fstab"), i18n("a_s_fstab"), 50) entry({"admin", "system", "leds"}, cbi("admin_system/leds"), i18n("leds", "LEDs"), 60) @@ -220,24 +220,6 @@ function action_reboot() end end -function action_sshkeys() - local file = "/etc/dropbear/authorized_keys" - local data = luci.http.formvalue("data") - local stat = nil - local err = nil - - if data then - stat, err = luci.fs.writefile(file, data) - end - - local cnt = luci.fs.readfile(file) - if cnt then - cnt = luci.util.pcdata(cnt) - end - - luci.template.render("admin_system/sshkeys", {cnt=cnt, msg=err}) -end - function action_upgrade() require("luci.model.uci") diff --git a/modules/admin-full/luasrc/model/cbi/admin_system/sshkeys.lua b/modules/admin-full/luasrc/model/cbi/admin_system/sshkeys.lua new file mode 100644 index 0000000000..a204d420fc --- /dev/null +++ b/modules/admin-full/luasrc/model/cbi/admin_system/sshkeys.lua @@ -0,0 +1,34 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth +Copyright 2008 Jo-Philipp Wich + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +$Id$ +]]-- +local keyfile = "/etc/dropbear/authorized_keys" + +f = SimpleForm("sshkeys", translate("a_s_sshkeys"), translate("a_s_sshkeys1")) + +t = f:field(TextValue, "keys") +t.rows = 10 +function t.cfgvalue() + return luci.fs.readfile(keyfile) or "" +end + +function f.handle(self, state, data) + if state == FORM_VALID then + if (luci.fs.readfile(keyfile) or "") ~= data.keys then + luci.fs.writefile(keyfile, data.keys) + end + end + return true +end + +return f \ No newline at end of file diff --git a/modules/admin-full/luasrc/view/admin_system/sshkeys.htm b/modules/admin-full/luasrc/view/admin_system/sshkeys.htm deleted file mode 100644 index 7b636090cd..0000000000 --- a/modules/admin-full/luasrc/view/admin_system/sshkeys.htm +++ /dev/null @@ -1,39 +0,0 @@ -<%# -LuCI - Lua Configuration Interface -Copyright 2008 Steven Barth -Copyright 2008 Jo-Philipp Wich - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -$Id$ - --%> - -<%+header%> - -
-
-

<%:a_s_sshkeys%>

-
- <%:a_s_sshkeys1%> -
-
- <%:a_s_sshkeys%> - - <% if msg then -%> -
<%:error%>: <%=msg%>
- <% end %> -
-
- -
- - -
-
- -<%+footer%> -- cgit v1.2.3