aboutsummaryrefslogtreecommitdiff
path: root/src/net
diff options
context:
space:
mode:
authorMateusz Poliwczak <mpoliwczak34@gmail.com>2023-01-31 18:38:01 +0000
committerGopher Robot <gobot@golang.org>2023-01-31 20:21:00 +0000
commitde2efc2aa1448cfcf28fec66ce0ff3f979fc2f12 (patch)
treeabdf9287b80b08bea518be207f235946d5fa2b2e /src/net
parent780db9a63d73f26dd9614b67e6129b55e854a174 (diff)
downloadgo-de2efc2aa1448cfcf28fec66ce0ff3f979fc2f12.tar.xz
net: report IsNotFound when getnameinfo returns EAI_NONAME
Fixes #57548 Change-Id: I4092624b1e906fbcd520f43aa4bc71c144dea3b6 GitHub-Last-Rev: ab048359473978ee245188710b6d6e12d50fb0ab GitHub-Pull-Request: golang/go#57549 Reviewed-on: https://go-review.googlesource.com/c/go/+/460255 Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Bryan Mills <bcmills@google.com> Reviewed-by: Damien Neil <dneil@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/net')
-rw-r--r--src/net/cgo_unix.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/net/cgo_unix.go b/src/net/cgo_unix.go
index 0cb71c7d38..d76652f054 100644
--- a/src/net/cgo_unix.go
+++ b/src/net/cgo_unix.go
@@ -260,17 +260,21 @@ func cgoLookupAddrPTR(addr string, sa *_C_struct_sockaddr, salen _C_socklen_t) (
}
}
if gerrno != 0 {
+ isErrorNoSuchHost := false
isTemporary := false
switch gerrno {
case _C_EAI_SYSTEM:
if err == nil { // see golang.org/issue/6232
err = syscall.EMFILE
}
+ case _C_EAI_NONAME:
+ err = errNoSuchHost
+ isErrorNoSuchHost = true
default:
err = addrinfoErrno(gerrno)
isTemporary = addrinfoErrno(gerrno).Temporary()
}
- return nil, &DNSError{Err: err.Error(), Name: addr, IsTemporary: isTemporary}
+ return nil, &DNSError{Err: err.Error(), Name: addr, IsTemporary: isTemporary, IsNotFound: isErrorNoSuchHost}
}
for i := 0; i < len(b); i++ {
if b[i] == 0 {