]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Fix check_addr_clash argument order
authorRalf Lici <ralf@mandelbit.com>
Tue, 17 Sep 2024 09:14:33 +0000 (11:14 +0200)
committerGert Doering <gert@greenie.muc.de>
Tue, 17 Sep 2024 09:39:35 +0000 (11:39 +0200)
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 <ralf@mandelbit.com>
Acked-by: Frank Lichtenheld <frank@lichtenheld.com>
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 <gert@greenie.muc.de>
(cherry picked from commit 7d345b19e20f30cb2ecbea71682b5a41e6cff454)

src/openvpn/tun.c

index 70c898e701ae57bdd37fc2081b60157435c9ca5c..92e71a399e301b875e9ef6a4b4b784510b37bdfa 100644 (file)
@@ -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);
                 }