feat(dnsovergetaddrinfo): collect the CNAME (#876)
* feat(dnsovergetaddrinfo): collect the CNAME This diff modifies how dnsovergetaddrinfo.go works such that the returned DNSResponse includes the CNAME. Closes https://github.com/ooni/probe/issues/2226. While there, recognize that we can remove getaddrinfoLookupHost and always call getaddrinfoLookupANY everywhere. (This simplification is why we did https://github.com/ooni/probe-cli/pull/874.) * fix: extra debugging because of failing CI Everything is OK locally (on macOS). However, maybe things are a bit different on GNU/Linux perhaps? Here's the error: ``` --- FAIL: TestPass (0.11s) resolver_test.go:113: unexpected rcode FAIL coverage: 95.7% of statements FAIL github.com/ooni/probe-cli/v3/internal/cmd/jafar/resolver 0.242s ``` I'm a bit confused because jafar's resolver is _unrelated_. But actually this error never occurred again after a committed the debugging diff.
This commit is contained in:
parent
cc24f28b9d
commit
080abf90d9
6 changed files with 49 additions and 46 deletions
|
|
@ -1,21 +1,6 @@
|
|||
package netxlite
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
)
|
||||
|
||||
// getaddrinfoLookupHost performs a DNS lookup and returns the
|
||||
// results. If we were compiled with CGO_ENABLED=0, then this
|
||||
// function calls net.DefaultResolver.LookupHost. Otherwise,
|
||||
// we call getaddrinfo. In such a case, if getaddrinfo returns a nonzero
|
||||
// return value, we'll return as error an instance of the
|
||||
// ErrGetaddrinfo error. This error will contain the specific
|
||||
// code returned by getaddrinfo in its .Code field.
|
||||
func getaddrinfoLookupHost(ctx context.Context, domain string) ([]string, error) {
|
||||
addrs, _, err := getaddrinfoLookupANY(ctx, domain)
|
||||
return addrs, err
|
||||
}
|
||||
import "errors"
|
||||
|
||||
// ErrGetaddrinfo represents a getaddrinfo failure.
|
||||
type ErrGetaddrinfo struct {
|
||||
|
|
|
|||
Loading…
Reference in a new issue