[openwrt/openwrt] unetmsg: fix reconnect loop when RX authenticates before TX

LEDE Commits lede-commits at lists.infradead.org
Mon Feb 16 00:21:00 PST 2026


nbd pushed a commit to openwrt/openwrt.git, branch openwrt-25.12:
https://git.openwrt.org/41ec0c16a7eb2a07666850cfa9062f4535b67e0d

commit 41ec0c16a7eb2a07666850cfa9062f4535b67e0d
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Fri Feb 6 10:12:31 2026 +0000

    unetmsg: fix reconnect loop when RX authenticates before TX
    
    When both peers connect simultaneously, the RX side can authenticate
    before the TX handshake completes. network_check_auth() was sending a
    ping on the unauthenticated TX channel, which gets rejected by the
    remote's pre-auth handler as "Auth failed", killing the connection and
    triggering an endless reconnect cycle.
    
    Check chan.auth before interacting with the TX channel. If TX auth
    hasn't completed yet, just schedule a reconnect timer - auth_data_cb
    already handles state sync when TX auth completes.
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
    (cherry picked from commit 212040b5cac619ec8009b0b4262d11b4e3abfdc4)
---
 .../unetmsg/files/usr/share/ucode/unetmsg/unetmsgd-remote.uc   | 10 +---------
 1 file changed, 1 insertion(+), 9 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 f6b0ef2d59..c7301e1a09 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
@@ -203,16 +203,8 @@ function network_check_auth(sock_data, info)
 	core.dbg(`Incoming connection from ${sock_data.name} established\n`);
 
 	let chan = net.tx_channels[sock_data.name];
-	if (!chan) {
+	if (!chan || !chan.auth)
 		net.timer.set(100);
-		return;
-	}
-
-	chan.channel.request({
-		method: "ping",
-		data: {},
-		return: "ignore",
-	});
 }
 
 function network_accept(net, sock, addr)




More information about the lede-commits mailing list