diff options
| author | Mateusz Poliwczak <mpoliwczak34@gmail.com> | 2023-01-31 18:38:01 +0000 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2023-01-31 20:21:00 +0000 |
| commit | de2efc2aa1448cfcf28fec66ce0ff3f979fc2f12 (patch) | |
| tree | abdf9287b80b08bea518be207f235946d5fa2b2e /src/net | |
| parent | 780db9a63d73f26dd9614b67e6129b55e854a174 (diff) | |
| download | go-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.go | 6 |
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 { |
