From 11e94e48a41869f088946722bce2d9f356006633 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Sat, 21 Jun 2025 09:53:18 +0200 Subject: [PATCH] fix handling remote data in get_data Also make it possible to query only local data. Signed-off-by: Felix Fietkau --- ufpd | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/ufpd b/ufpd index 6d5a55f..0b3e283 100755 --- a/ufpd +++ b/ufpd @@ -66,7 +66,10 @@ function dev_timestamp_cmp(a, b) return a[1].timestamp - b[1].timestamp; } -function network_devices() { +function network_devices(local) { + if (local) + return devices; + let device_lists = [ devices ]; @@ -319,6 +322,7 @@ global.ubus_object = { get_data: { args: { macaddr: "", + local: false }, call: function(req) { let mac = req.args.macaddr; @@ -328,7 +332,8 @@ global.ubus_object = { if (!mac) return devices; - let dev = devices[mac]; + let cur_devices = network_devices(req.args.local); + let dev = cur_devices[mac]; if (!dev) return libubus.STATUS_NOT_FOUND; @@ -339,7 +344,8 @@ global.ubus_object = { add_data: { args: { macaddr: "", - data: [] + data: [], + local: false }, call: function(req) { let mac = req.args.macaddr; @@ -357,12 +363,13 @@ global.ubus_object = { fingerprint: { args: { macaddr: "", - weight: false + weight: false, + local: false }, call: function(req) { refresh_plugins(); - let cur_devices = network_devices(); + let cur_devices = network_devices(req.args.local); let mac_list = req.args.macaddr ? [ req.args.macaddr ] : keys(cur_devices); let ret = {}; @@ -396,12 +403,13 @@ global.ubus_object = { list: { args: { - macaddr: "" + macaddr: "", + local: false }, call: function(req) { refresh_plugins(); - let cur_devices = network_devices(); + let cur_devices = network_devices(req.args.local); let mac_list = req.args.macaddr ? [ req.args.macaddr ] : keys(cur_devices); let ret = {}; -- 2.30.2