From: Felix Fietkau Date: Sat, 7 Feb 2026 08:02:24 +0000 (+0000) Subject: unetmsg: only send publish notifications for remote publisher changes X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e0722d0ac41b931e8a3b79c439a029844e89cbad;p=thirdparty%2Fopenwrt.git 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 --- 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 c7301e1a09f..e5f1b7fb5f9 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]; }