]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
dns: store IPv4 addresses in network byte order
authorHeiko Hund <heiko@ist.eigentlich.net>
Fri, 13 Dec 2024 16:45:52 +0000 (17:45 +0100)
committerGert Doering <gert@greenie.muc.de>
Fri, 20 Dec 2024 21:33:08 +0000 (22:33 +0100)
This is done so that inet_ntop(3) can be used with IPv4 name server
addresses. It expects the binary address in network byte order. If they
are not that way the address octets are reversed.

Change-Id: I81d4bb0abdd421f5ba260c10c610918652334a4d
Signed-off-by: Heiko Hund <heiko@ist.eigentlich.net>
Acked-by: Frank Lichtenheld <frank@lichtenheld.com>
Message-Id: <20241213164552.265863-1-frank@lichtenheld.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg30111.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpn/dns.c

index 0539ca50f401158abb3c94813b694062ba3673ed..15e73223a0d1f7bf457376eefae977eda213a14d 100644 (file)
@@ -121,7 +121,7 @@ dns_server_addr_parse(struct dns_server *server, const char *addr)
     if (ai->ai_family == AF_INET)
     {
         struct sockaddr_in *sin = (struct sockaddr_in *)ai->ai_addr;
-        server->addr[server->addr_count].in.a4.s_addr = ntohl(sin->sin_addr.s_addr);
+        server->addr[server->addr_count].in.a4.s_addr = sin->sin_addr.s_addr;
     }
     else
     {
@@ -384,7 +384,7 @@ setenv_dns_options(const struct dns_options *o, struct env_set *es)
             if (s->addr[j].family == AF_INET)
             {
                 setenv_dns_option(es, "dns_server_%d_address_%d", i, j + 1,
-                                  print_in_addr_t(s->addr[j].in.a4.s_addr, 0, &gc));
+                                  print_in_addr_t(s->addr[j].in.a4.s_addr, IA_NET_ORDER, &gc));
             }
             else
             {
@@ -443,7 +443,7 @@ show_dns_options(const struct dns_options *o)
             const char *fmt_port;
             if (server->addr[j].family == AF_INET)
             {
-                addr = print_in_addr_t(server->addr[j].in.a4.s_addr, 0, &gc);
+                addr = print_in_addr_t(server->addr[j].in.a4.s_addr, IA_NET_ORDER, &gc);
                 fmt_port = "    address = %s:%s";
             }
             else