From: John Crispin Date: Mon, 4 Aug 2025 05:37:47 +0000 (+0200) Subject: hostapd: add raw beacon report data to ubus notification X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b44d4290fe8324c1705c192c02f5d4a452a43552;p=thirdparty%2Fopenwrt.git hostapd: add raw beacon report data to ubus notification Add the complete base64-encoded beacon report structure to the "beacon-report" ubus notification event. Signed-off-by: John Crispin --- diff --git a/package/network/services/hostapd/src/src/ap/ubus.c b/package/network/services/hostapd/src/src/ap/ubus.c index ff0ea312df1..247230a243f 100644 --- a/package/network/services/hostapd/src/src/ap/ubus.c +++ b/package/network/services/hostapd/src/src/ap/ubus.c @@ -24,6 +24,7 @@ #include "taxonomy.h" #include "airtime_policy.h" #include "hw_features.h" +#include "base64.h" static struct ubus_context *ctx; static struct blob_buf b; @@ -2005,6 +2006,8 @@ void hostapd_ubus_notify_beacon_report( struct hostapd_data *hapd, const u8 *addr, u8 token, u8 rep_mode, struct rrm_measurement_beacon_report *rep, size_t len) { + char *encoded; + if (!hapd->ubus.obj.has_subscribers) return; @@ -2024,7 +2027,11 @@ void hostapd_ubus_notify_beacon_report( blobmsg_add_u16(&b, "antenna-id", rep->antenna_id); blobmsg_add_u16(&b, "parent-tsf", rep->parent_tsf); blobmsg_add_u16(&b, "rep-mode", rep_mode); - + encoded = base64_encode(rep, len, NULL); + if (encoded) { + blobmsg_add_string(&b, "report", encoded); + os_free(encoded); + } ubus_notify(ctx, &hapd->ubus.obj, "beacon-report", b.head, -1); }