aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/conf
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2021-01-29 02:20:14 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2021-02-01 16:55:02 +0100
commit143301e067f17229d9d70d73303c75bd5c25844d (patch)
treed345dbd4fb0b203d07221ad07df91144818fba09 /conf
parentglobal: move away from ioutil (diff)
downloadwireguard-windows-143301e067f17229d9d70d73303c75bd5c25844d.tar.xz
wireguard-windows-143301e067f17229d9d70d73303c75bd5c25844d.zip
conf: simplify ip casting in dns resolution
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'conf')
-rw-r--r--conf/dnsresolver_windows.go13
1 files changed, 5 insertions, 8 deletions
diff --git a/conf/dnsresolver_windows.go b/conf/dnsresolver_windows.go
index 0b0183ac..b17be849 100644
--- a/conf/dnsresolver_windows.go
+++ b/conf/dnsresolver_windows.go
@@ -68,20 +68,17 @@ func resolveHostnameOnce(name string) (resolvedIPString string, err error) {
defer windows.FreeAddrInfoW(result)
ipv6 := ""
for ; result != nil; result = result.Next {
- addr := unsafe.Pointer(result.Addr)
switch result.Family {
case windows.AF_INET:
- a := (*syscall.RawSockaddrInet4)(addr).Addr
- return net.IP{a[0], a[1], a[2], a[3]}.String(), nil
+ return (net.IP)((*syscall.RawSockaddrInet4)(unsafe.Pointer(result.Addr)).Addr[:]).String(), nil
case windows.AF_INET6:
if len(ipv6) != 0 {
continue
}
- a := (*syscall.RawSockaddrInet6)(addr).Addr
- ipv6 = net.IP{a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], a[12], a[13], a[14], a[15]}.String()
- scope := uint32((*syscall.RawSockaddrInet6)(addr).Scope_id)
- if scope != 0 {
- ipv6 += fmt.Sprintf("%%%d", scope)
+ a := (*syscall.RawSockaddrInet6)(unsafe.Pointer(result.Addr))
+ ipv6 = (net.IP)(a.Addr[:]).String()
+ if a.Scope_id != 0 {
+ ipv6 += fmt.Sprintf("%%%d", a.Scope_id)
}
}
}