[openwrt/openwrt] unetmsg: only send publish notifications for remote publisher changes
LEDE Commits
lede-commits at lists.infradead.org
Mon Feb 16 00:21:01 PST 2026
nbd pushed a commit to openwrt/openwrt.git, branch openwrt-25.12:
https://git.openwrt.org/40a7b55d70681db008427c11cfad56e3c78908c9
commit 40a7b55d70681db008427c11cfad56e3c78908c9
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Sat Feb 7 08:02:24 2026 +0000
unetmsg: only send publish notifications for remote publisher changes
handle_publish() notifies local subscribers about publisher state
changes. The publish/subscribe handler in network_socket_handle_request()
was calling it for both remote publish and subscribe changes, but
subscriber changes are not relevant to local subscribers.
Guard the handle_publish() calls with a msgtype == "publish" check,
matching the local client paths in unetmsgd-client.uc which already
have this guard.
Signed-off-by: Felix Fietkau <nbd at nbd.name>
(cherry picked from commit e0722d0ac41b931e8a3b79c439a029844e89cbad)
---
.../unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc b/package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc
index c7301e1a09..e5f1b7fb5f 100644
--- a/package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc
+++ b/package/network/services/unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc
@@ -104,7 +104,7 @@ function network_socket_handle_request(sock_data, req)
return;
if (args.enabled) {
if (list[name]) {
- if (tx_auth)
+ if (tx_auth && msgtype == "publish")
core.handle_publish(null, name);
return 0;
}
@@ -124,13 +124,14 @@ function network_socket_handle_request(sock_data, req)
network: sock_data.network,
name: host,
}, pubsub_proto);
- if (tx_auth)
+ if (tx_auth && msgtype == "publish")
core.handle_publish(null, name);
list[name] = true;
} else {
if (!list[name])
return 0;
- core.handle_publish(null, name);
+ if (msgtype == "publish")
+ core.handle_publish(null, name);
delete core["remote_" + msgtype][name][host];
delete list[name];
}
More information about the lede-commits
mailing list