From eb9b9a2d608c160bb25f67bce5eca499210b0bb5 Mon Sep 17 00:00:00 2001 From: fangpeina Date: Thu, 8 May 2025 22:10:40 +0800 Subject: [PATCH] netutils/rexecd: fix rpname mismatch with rexec when using AF_RPMSG When using AF_RPMSG (-r option), rexecd was setting the rp_name to the raw port number, while rexec was using htons(port). This caused a mismatch where rexec couldn't connect to rexecd. This commit fixes the issue by applying htons() to REXECD_PORT when setting rp_name in the AF_RPMSG case, making it consistent with the rexec client implementation. Signed-off-by: fangpeina --- netutils/rexecd/rexecd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/netutils/rexecd/rexecd.c b/netutils/rexecd/rexecd.c index 2e462083c..6c238d586 100644 --- a/netutils/rexecd/rexecd.c +++ b/netutils/rexecd/rexecd.c @@ -223,7 +223,7 @@ int main(int argc, FAR char **argv) case AF_RPMSG: ((FAR struct sockaddr_rpmsg *)&addr)->rp_family = AF_RPMSG; snprintf(((FAR struct sockaddr_rpmsg *)&addr)->rp_name, - RPMSG_SOCKET_NAME_SIZE, "%d", REXECD_PORT); + RPMSG_SOCKET_NAME_SIZE, "%d", htons(REXECD_PORT)); ret = sizeof(struct sockaddr_rpmsg); }