diff options
author | 2020-06-07 20:10:51 -0600 | |
---|---|---|
committer | 2020-06-07 20:10:51 -0600 | |
commit | 44e2dccb29e0acc17a0cc44033b7b296976c79e5 (patch) | |
tree | e882ed92932277d599740eb7c2b4a3b47612734c | |
parent | mod: bump (diff) | |
download | wireguard-windows-44e2dccb29e0acc17a0cc44033b7b296976c79e5.tar.xz wireguard-windows-44e2dccb29e0acc17a0cc44033b7b296976c79e5.zip |
tunnel: unset dns search if none is specified
This doesn't get automatically cleared in the same way that nameservers
do.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r-- | tunnel/addressconfig.go | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/tunnel/addressconfig.go b/tunnel/addressconfig.go index 462e1052..4be2c36a 100644 --- a/tunnel/addressconfig.go +++ b/tunnel/addressconfig.go @@ -159,14 +159,16 @@ func configureInterface(family winipcfg.AddressFamily, conf *conf.Config, tun *t return err } + dnsSearch := "" if len(conf.Interface.DNSSearch) > 0 { - err = luid.SetDNSDomain(conf.Interface.DNSSearch[0]) - if err != nil { - return nil - } - if len(conf.Interface.DNSSearch) > 1 { - log.Printf("Warning: %d DNS search domains were specified, but only one is supported, so the first one (%s) was used.", len(conf.Interface.DNSSearch), conf.Interface.DNSSearch[0]) - } + dnsSearch = conf.Interface.DNSSearch[0] + } + err = luid.SetDNSDomain(dnsSearch) + if err != nil { + return nil + } + if len(conf.Interface.DNSSearch) > 1 { + log.Printf("Warning: %d DNS search domains were specified, but only one is supported, so the first one (%s) was used.", len(conf.Interface.DNSSearch), dnsSearch) } err = luid.SetDNSForFamily(family, conf.Interface.DNS) if err != nil { |