From 392ba53effa26d2592db14c607c7d3103cce34d3 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Fri, 8 Nov 2019 10:25:30 +0100 Subject: [PATCH] luci-base, luci-mod-network: migrate getDUIDHints method to C plugin Signed-off-by: Jo-Philipp Wich --- modules/luci-base/root/usr/libexec/rpcd/luci | 20 ------------------- .../root/usr/share/rpcd/acl.d/luci-base.json | 4 ++-- .../resources/view/network/dhcp.js | 4 ++-- 3 files changed, 4 insertions(+), 24 deletions(-) diff --git a/modules/luci-base/root/usr/libexec/rpcd/luci b/modules/luci-base/root/usr/libexec/rpcd/luci index 5bd17c75d2..56cb7bc85d 100755 --- a/modules/luci-base/root/usr/libexec/rpcd/luci +++ b/modules/luci-base/root/usr/libexec/rpcd/luci @@ -160,26 +160,6 @@ local methods = { end }, - getDUIDHints = { - call = function() - local fp = io.open('/var/hosts/odhcpd') - local result = { } - if fp then - for line in fp:lines() do - local dev, duid, name = string.match(line, '# (%S+)%s+(%S+)%s+%d+%s+(%S+)') - if dev and duid and name then - result[duid] = { - name = (name ~= "-") and name or nil, - device = dev - } - end - end - fp:close() - end - return result - end - }, - getConntrackHelpers = { call = function() local ok, fd = pcall(io.open, "/usr/share/fw3/helpers.conf", "r") 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 321817302e..50ddc299fa 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 @@ -43,8 +43,8 @@ "ubus": { "file": [ "list", "read", "stat" ], "iwinfo": [ "assoclist", "freqlist", "txpowerlist", "countrylist" ], - "luci": [ "getConntrackList", "getDUIDHints", "getInitList", "getLocaltime", "getProcessList", "getRealtimeStats", "getTimezones", "getLEDs", "getUSBDevices", "getSwconfigFeatures", "getSwconfigPortState", "getBlockDevices", "getMountPoints" ], - "luci-rpc": [ "getBoardJSON", "getDHCPLeases", "getDSLStatus", "getHostHints", "getNetworkDevices", "getWirelessDevices" ], + "luci": [ "getConntrackList", "getInitList", "getLocaltime", "getProcessList", "getRealtimeStats", "getTimezones", "getLEDs", "getUSBDevices", "getSwconfigFeatures", "getSwconfigPortState", "getBlockDevices", "getMountPoints" ], + "luci-rpc": [ "getBoardJSON", "getDHCPLeases", "getDSLStatus", "getDUIDHints", "getHostHints", "getNetworkDevices", "getWirelessDevices" ], "network.interface": [ "dump" ], "network.rrdns": [ "lookup" ], "network": [ "get_proto_handlers" ], diff --git a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js index d7620e7f47..84586f4854 100644 --- a/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js +++ b/modules/luci-mod-network/htdocs/luci-static/resources/view/network/dhcp.js @@ -12,7 +12,7 @@ callHostHints = rpc.declare({ }); callDUIDHints = rpc.declare({ - object: 'luci', + object: 'luci-rpc', method: 'getDUIDHints', expect: { '': {} } }); @@ -394,7 +394,7 @@ return L.view.extend({ so = ss.option(form.Value, 'duid', _('DUID')); so.datatype = 'and(rangelength(20,36),hexstring)'; Object.keys(duids).forEach(function(duid) { - so.value(duid, '%s (%s)'.format(duid, duids[duid].name || '?')); + so.value(duid, '%s (%s)'.format(duid, duids[duid].hostname || duids[duid].macaddr || duids[duid].ip6addr || '?')); }); so = ss.option(form.Value, 'hostid', _('IPv6-Suffix (hex)')); -- 2.30.2