From: Felix Fietkau Date: Fri, 6 Feb 2026 09:30:26 +0000 (+0000) Subject: unetmsg: fix inverted condition in network_rx_socket_close() X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f09596f84f3572d963e1c893762fd105b4ceee2e;p=thirdparty%2Fopenwrt.git unetmsg: fix inverted condition in network_rx_socket_close() The cleanup condition checked != instead of ==, inverting the logic. This caused two problems: When an authenticated RX connection disconnected, remote state for that host was never cleaned up since the stored entry matched the one being closed. When a stale unauthenticated connection from a peer closed, any existing authenticated connection from the same peer was incorrectly deleted and its remote state wiped. 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 1f1c97a2cae..54e77596f16 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 @@ -62,7 +62,7 @@ function network_rx_socket_close(data) core.dbg(`Incoming connection from ${data.name} closed\n`); let net = networks[data.network]; - if (net && net.rx_channels[data.name] != data) { + if (net && net.rx_channels[data.name] == data) { delete net.rx_channels[data.name]; network_rx_cleanup_state(data.name); }