include $(TOPDIR)/rules.mk
PKG_NAME:=libxml2
-PKG_VERSION:=2.9.13
+PKG_VERSION:=2.9.14
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNOME/libxml2/$(basename $(PKG_VERSION))
-PKG_HASH:=276130602d12fe484ecc03447ee5e759d0465558fbc9d6bd144e3745306ebf0e
+PKG_HASH:=60d74a257d1ccec0475e749cba2f21559e48139efba6ff28224357c7c798dfee
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
local ubus = require "ubus"
local bit = require "bit"
-local function get_wifi_interfaces() -- based on hostapd_stations.lua
- local u = ubus.connect()
- local status = u:call("network.wireless", "status", {})
+local function get_wifi_hostapd_interfaces(u)
+ local ubuslist = u:objects()
local interfaces = {}
- for _, dev_table in pairs(status) do
- for _, intf in ipairs(dev_table['interfaces']) do
- table.insert(interfaces, intf['ifname'])
+ for _,net in ipairs(ubuslist) do
+ if net.find(net,"hostapd.") then
+ table.insert(interfaces, net)
end
end
end
local function scrape()
+ local u = ubus.connect()
local metric_hostapd_ubus_station_rrm_caps_link_measurement =
metric("hostapd_ubus_station_rrm_caps_link_measurement", "gauge")
local metric_hostapd_ubus_station_rrm_caps_neighbor_report =
metric_hostapd_ubus_station_rrm_caps_ftm_range_report(label_station, rrm_caps_ftm_range_report)
end
- for _, ifname in ipairs(get_wifi_interfaces()) do
- local u = ubus.connect()
- local clients_call = u:call("hostapd." .. ifname, "get_clients", {})
+ for _, hostapd_int in ipairs(get_wifi_hostapd_interfaces(u)) do
+ local clients_call = u:call(hostapd_int, "get_clients", {})
+ local ifname = hostapd_int:gsub("hostapd.", "")
for client, client_table in pairs(clients_call['clients']) do
evaluate_metrics(ifname, clients_call['freq'], client, client_table)
end
end
+ u:close()
end
return { scrape = scrape }