From 82fd89a04f774eeb785ad110dd6923a12345f973 Mon Sep 17 00:00:00 2001 From: Lev Stipakov Date: Tue, 24 Dec 2024 18:42:33 +0100 Subject: [PATCH] repair DNS address option Commit 6f2d222 ("dns: store IPv4 addresses in network byte order") changed the internal representation of IPv4 address within DNS settings to network byte order, however later this value is copied into tuntap_options, where IPv4 addresses are assumed to be in host byte order (see lots of occurences of "htonl(tt->" in tun.c). As a consequence, DNS server address is set incorrectly, like 4.4.8.8 instead of 8.8.4.4 Fix by converting address to host byte order when copying from DNS options to tuntap_options. Change-Id: I87e4593e6a548bacd40b840cd241950019fa457d Signed-off-by: Lev Stipakov Acked-by: Gert Doering Message-Id: <20241224174233.13005-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg30195.html Signed-off-by: Gert Doering --- src/openvpn/options.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/openvpn/options.c b/src/openvpn/options.c index b2a3a8beebf..20e8d553423 100644 --- a/src/openvpn/options.c +++ b/src/openvpn/options.c @@ -1390,7 +1390,7 @@ tuntap_options_copy_dns(struct options *o) overflow = true; continue; } - tt->dns[tt->dns_len++] = server->addr[i].in.a4.s_addr; + tt->dns[tt->dns_len++] = ntohl(server->addr[i].in.a4.s_addr); } else {