From 7e6723aa7096bee80eb42a473fbfde7de4362b0f Mon Sep 17 00:00:00 2001 From: Ralf Lici Date: Tue, 17 Sep 2024 11:14:33 +0200 Subject: [PATCH] Fix check_addr_clash argument order In init_tun() make sure to pass the --local and --remote addresses in the host order so that they can be compared to the --ifconfig addresses. Change-Id: I5adbe0a79f078221c4bb5f3d39391a81b4d8adce Signed-off-by: Ralf Lici Acked-by: Frank Lichtenheld Message-Id: <20240917091433.24092-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg29261.html Signed-off-by: Gert Doering (cherry picked from commit 7d345b19e20f30cb2ecbea71682b5a41e6cff454) --- src/openvpn/tun.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c index 70c898e701a..92e71a399e3 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -879,9 +879,10 @@ init_tun(const char *dev, /* --dev option */ { if (curele->ai_family == AF_INET) { + const in_addr_t local = ntohl(((struct sockaddr_in *)curele->ai_addr)->sin_addr.s_addr); check_addr_clash("local", tt->type, - ((struct sockaddr_in *)curele->ai_addr)->sin_addr.s_addr, + local, tt->local, tt->remote_netmask); } @@ -891,9 +892,10 @@ init_tun(const char *dev, /* --dev option */ { if (curele->ai_family == AF_INET) { + const in_addr_t remote = ntohl(((struct sockaddr_in *)curele->ai_addr)->sin_addr.s_addr); check_addr_clash("remote", tt->type, - ((struct sockaddr_in *)curele->ai_addr)->sin_addr.s_addr, + remote, tt->local, tt->remote_netmask); }