summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2019-09-17 07:43:48 +0200
committerJo-Philipp Wich <jo@mein.io>2019-09-17 07:43:48 +0200
commitf878b21c8c4ef9444a9de6bc02b58ed4f91b0b2d (patch)
treefc30189d3019269208eb1d090cf84a42d86515a7
parent9ae9657a8585b794bc93b993d83e64b6d7f65b92 (diff)
luci-mod-system: remplement dropbear settings as client side view
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
-rw-r--r--modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js42
-rw-r--r--modules/luci-mod-system/luasrc/controller/admin/system.lua2
-rw-r--r--modules/luci-mod-system/luasrc/model/cbi/admin_system/dropbear.lua53
3 files changed, 43 insertions, 54 deletions
diff --git a/modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js
new file mode 100644
index 000000000..7a8b1428d
--- /dev/null
+++ b/modules/luci-mod-system/htdocs/luci-static/resources/view/system/dropbear.js
@@ -0,0 +1,42 @@
+'use strict';
+'require form';
+'require tools.widgets as widgets';
+
+return L.view.extend({
+ render: function() {
+ var m, s, o;
+
+ m = new form.Map('dropbear', _('SSH Access'), _('Dropbear offers <abbr title="Secure Shell">SSH</abbr> network shell access and an integrated <abbr title="Secure Copy">SCP</abbr> server'));
+
+ s = m.section(form.TypedSection, 'dropbear', _('Dropbear Instance'));
+ s.anonymous = true;
+ s.addremove = true;
+ s.addbtntitle = _('Add instance');
+
+ o = s.option(widgets.NetworkSelect, 'Interface', _('Interface'), _('Listen only on the given interface or, if unspecified, on all'));
+ o.nocreate = true;
+ o.unspecified = true;
+
+ o = s.option(form.Value, 'Port', _('Port'));
+ o.datatype = 'port';
+ o.placeholder = 22;
+
+ o = s.option(form.Flag, 'PasswordAuth', _('Password authentication'), _('Allow <abbr title="Secure Shell">SSH</abbr> password authentication'));
+ o.enabled = 'on';
+ o.disabled = 'off';
+ o.default = o.enabled;
+ o.rmempty = false;
+
+ o = s.option(form.Flag, 'RootPasswordAuth', _('Allow root logins with password'), _('Allow the <em>root</em> user to login with password'));
+ o.enabled = 'on';
+ o.disabled = 'off';
+ o.default = o.enabled;
+
+ o = s.option(form.Flag, 'GatewayPorts', _('Gateway Ports'), _('Allow remote hosts to connect to local SSH forwarded ports'));
+ o.enabled = 'on';
+ o.disabled = 'off';
+ o.default = o.disabled;
+
+ return m.render();
+ }
+});
diff --git a/modules/luci-mod-system/luasrc/controller/admin/system.lua b/modules/luci-mod-system/luasrc/controller/admin/system.lua
index d1fda1d7c..0ce08d10b 100644
--- a/modules/luci-mod-system/luasrc/controller/admin/system.lua
+++ b/modules/luci-mod-system/luasrc/controller/admin/system.lua
@@ -15,7 +15,7 @@ function index()
entry({"admin", "system", "admin", "password"}, view("system/password"), _("Router Password"), 1)
if fs.access("/etc/config/dropbear") then
- entry({"admin", "system", "admin", "dropbear"}, cbi("admin_system/dropbear"), _("SSH Access"), 2)
+ entry({"admin", "system", "admin", "dropbear"}, view("system/dropbear"), _("SSH Access"), 2)
entry({"admin", "system", "admin", "sshkeys"}, view("system/sshkeys"), _("SSH-Keys"), 3)
end
diff --git a/modules/luci-mod-system/luasrc/model/cbi/admin_system/dropbear.lua b/modules/luci-mod-system/luasrc/model/cbi/admin_system/dropbear.lua
deleted file mode 100644
index 1a1695d2b..000000000
--- a/modules/luci-mod-system/luasrc/model/cbi/admin_system/dropbear.lua
+++ /dev/null
@@ -1,53 +0,0 @@
--- Copyright 2008 Steven Barth <steven@midlink.org>
--- Copyright 2011-2018 Jo-Philipp Wich <jo@mein.io>
--- Licensed to the public under the Apache License 2.0.
-
-m = Map("dropbear", translate("SSH Access"),
- translate("Dropbear offers <abbr title=\"Secure Shell\">SSH</abbr> network shell access and an integrated <abbr title=\"Secure Copy\">SCP</abbr> server"))
-m.apply_on_parse = true
-
-s = m:section(TypedSection, "dropbear", translate("Dropbear Instance"))
-s.anonymous = true
-s.addremove = true
-
-
-ni = s:option(Value, "Interface", translate("Interface"),
- translate("Listen only on the given interface or, if unspecified, on all"))
-
-ni.template = "cbi/network_netlist"
-ni.nocreate = true
-ni.unspecified = true
-
-
-pt = s:option(Value, "Port", translate("Port"),
- translate("Specifies the listening port of this <em>Dropbear</em> instance"))
-
-pt.datatype = "port"
-pt.default = 22
-
-
-pa = s:option(Flag, "PasswordAuth", translate("Password authentication"),
- translate("Allow <abbr title=\"Secure Shell\">SSH</abbr> password authentication"))
-
-pa.enabled = "on"
-pa.disabled = "off"
-pa.default = pa.enabled
-pa.rmempty = false
-
-
-ra = s:option(Flag, "RootPasswordAuth", translate("Allow root logins with password"),
- translate("Allow the <em>root</em> user to login with password"))
-
-ra.enabled = "on"
-ra.disabled = "off"
-ra.default = ra.enabled
-
-
-gp = s:option(Flag, "GatewayPorts", translate("Gateway ports"),
- translate("Allow remote hosts to connect to local SSH forwarded ports"))
-
-gp.enabled = "on"
-gp.disabled = "off"
-gp.default = gp.disabled
-
-return m