From 5dc61be74636c9c643f83ed146545db07c3b20cd Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Mon, 9 Sep 2019 11:09:18 +0200 Subject: [PATCH] luci-base: replace luci/getHostname with generic file/read rpc operation Signed-off-by: Jo-Philipp Wich --- .../htdocs/luci-static/resources/protocol/dhcp.js | 12 +++++++----- modules/luci-base/root/usr/libexec/rpcd/luci | 11 ----------- .../root/usr/share/rpcd/acl.d/luci-base.json | 7 ++++--- 3 files changed, 11 insertions(+), 19 deletions(-) diff --git a/modules/luci-base/htdocs/luci-static/resources/protocol/dhcp.js b/modules/luci-base/htdocs/luci-static/resources/protocol/dhcp.js index b0b65974a8..f0a3ec579c 100644 --- a/modules/luci-base/htdocs/luci-static/resources/protocol/dhcp.js +++ b/modules/luci-base/htdocs/luci-static/resources/protocol/dhcp.js @@ -3,10 +3,12 @@ 'require form'; 'require network'; -var callHostname = rpc.declare({ - object: 'luci', - method: 'getHostname', - expect: { result: '' } +var callFileRead = rpc.declare({ + object: 'file', + method: 'read', + params: [ 'path' ], + expect: { data: '' }, + filter: function(value) { return value.trim() } }); return network.registerProtocol('dhcp', { @@ -20,7 +22,7 @@ return network.registerProtocol('dhcp', { o = s.taboption('general', form.Value, 'hostname', _('Hostname to send when requesting DHCP')); o.datatype = 'hostname'; o.load = function(section_id) { - return callHostname().then(L.bind(function(hostname) { + return callFileRead('/proc/sys/kernel/hostname').then(L.bind(function(hostname) { this.placeholder = hostname; return form.Value.prototype.load.apply(this, [section_id]); }, this)); diff --git a/modules/luci-base/root/usr/libexec/rpcd/luci b/modules/luci-base/root/usr/libexec/rpcd/luci index b8243b8272..850b159acf 100755 --- a/modules/luci-base/root/usr/libexec/rpcd/luci +++ b/modules/luci-base/root/usr/libexec/rpcd/luci @@ -468,17 +468,6 @@ local methods = { return rv end - }, - - getHostname = { - call = function() - local fs = require "nixio.fs" - local hostname, code, err = fs.readfile("/proc/sys/kernel/hostname") - if err then - return { error = err }, 1 - end - return { result = hostname:gsub("\n$", "") } - end } } diff --git a/modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json b/modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json index 417296a394..1952a7c3ae 100644 --- a/modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json +++ b/modules/luci-base/root/usr/share/rpcd/acl.d/luci-base.json @@ -22,12 +22,13 @@ "read": { "file": { "/": [ "list" ], - "/*": [ "list" ] + "/*": [ "list" ], + "/proc/sys/kernel/hostname": [ "read" ] }, "ubus": { - "file": [ "list", "stat" ], + "file": [ "list", "read", "stat" ], "iwinfo": [ "assoclist", "freqlist", "txpowerlist", "countrylist" ], - "luci": [ "getBoardJSON", "getDUIDHints", "getHostHints", "getIfaddrs", "getInitList", "getLocaltime", "getTimezones", "getDHCPLeases", "getLEDs", "getNetworkDevices", "getUSBDevices", "getHostname", "getWirelessDevices" ], + "luci": [ "getBoardJSON", "getDUIDHints", "getHostHints", "getIfaddrs", "getInitList", "getLocaltime", "getTimezones", "getDHCPLeases", "getLEDs", "getNetworkDevices", "getUSBDevices", "getWirelessDevices" ], "network.device": [ "status" ], "network.interface": [ "dump" ], "network": [ "get_proto_handlers" ], -- 2.30.2