diff options
| author | John Crispin | 2025-08-04 05:37:47 +0000 |
|---|---|---|
| committer | Felix Fietkau | 2026-01-26 17:46:16 +0000 |
| commit | b44d4290fe8324c1705c192c02f5d4a452a43552 (patch) | |
| tree | ddf846974e38636f2344b2509285164329d70685 | |
| parent | 79cd45ddeeb5bd711892514658938632890aff17 (diff) | |
| download | openwrt-b44d4290fe8324c1705c192c02f5d4a452a43552.tar.gz | |
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 <john@phrozen.org>
| -rw-r--r-- | package/network/services/hostapd/src/src/ap/ubus.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/package/network/services/hostapd/src/src/ap/ubus.c b/package/network/services/hostapd/src/src/ap/ubus.c index ff0ea312df..247230a243 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); } |