mirror of
https://github.com/tailscale/tailscale.git
synced 2025-02-18 02:48:40 +00:00
net/dns/resolver: unexport Resolve and ResolveReverse.
They're only used internally and in tests, and have surprising semantics in that they only resolve MagicDNS names, not upstream resolver queries. Signed-off-by: David Anderson <danderson@tailscale.com>
This commit is contained in:
parent
cdeb8d6816
commit
dbe4f6f42d
@ -171,10 +171,10 @@ func (r *Resolver) NextResponse() (packet []byte, to netaddr.IPPort, err error)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Resolve maps a given domain name to the IP address of the host that owns it,
|
// resolve maps a given domain name to the IP address of the host that owns it,
|
||||||
// if the IP address conforms to the DNS resource type given by tp (one of A, AAAA, ALL).
|
// if the IP address conforms to the DNS resource type given by tp (one of A, AAAA, ALL).
|
||||||
// The domain name must be in canonical form (with a trailing period).
|
// The domain name must be in canonical form (with a trailing period).
|
||||||
func (r *Resolver) Resolve(domain string, tp dns.Type) (netaddr.IP, dns.RCode, error) {
|
func (r *Resolver) resolve(domain string, tp dns.Type) (netaddr.IP, dns.RCode, error) {
|
||||||
r.mu.Lock()
|
r.mu.Lock()
|
||||||
dnsMap := r.dnsMap
|
dnsMap := r.dnsMap
|
||||||
r.mu.Unlock()
|
r.mu.Unlock()
|
||||||
@ -240,9 +240,9 @@ func (r *Resolver) Resolve(domain string, tp dns.Type) (netaddr.IP, dns.RCode, e
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ResolveReverse returns the unique domain name that maps to the given address.
|
// resolveReverse returns the unique domain name that maps to the given address.
|
||||||
// The returned domain name is in canonical form (with a trailing period).
|
// The returned domain name is in canonical form (with a trailing period).
|
||||||
func (r *Resolver) ResolveReverse(ip netaddr.IP) (string, dns.RCode, error) {
|
func (r *Resolver) resolveReverse(ip netaddr.IP) (string, dns.RCode, error) {
|
||||||
r.mu.Lock()
|
r.mu.Lock()
|
||||||
dnsMap := r.dnsMap
|
dnsMap := r.dnsMap
|
||||||
r.mu.Unlock()
|
r.mu.Unlock()
|
||||||
@ -567,7 +567,7 @@ func (r *Resolver) respondReverse(query []byte, name string, resp *response) ([]
|
|||||||
}
|
}
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
resp.Name, resp.Header.RCode, err = r.ResolveReverse(ip)
|
resp.Name, resp.Header.RCode, err = r.resolveReverse(ip)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
r.logf("resolving rdns: %v", ip, err)
|
r.logf("resolving rdns: %v", ip, err)
|
||||||
}
|
}
|
||||||
@ -607,7 +607,7 @@ func (r *Resolver) respond(query []byte) ([]byte, error) {
|
|||||||
return r.respondReverse(query, name, resp)
|
return r.respondReverse(query, name, resp)
|
||||||
}
|
}
|
||||||
|
|
||||||
resp.IP, resp.Header.RCode, err = r.Resolve(name, resp.Question.Type)
|
resp.IP, resp.Header.RCode, err = r.resolve(name, resp.Question.Type)
|
||||||
// This return code is special: it requests forwarding.
|
// This return code is special: it requests forwarding.
|
||||||
if resp.Header.RCode == dns.RCodeRefused {
|
if resp.Header.RCode == dns.RCodeRefused {
|
||||||
return nil, errNotOurName
|
return nil, errNotOurName
|
||||||
|
@ -223,7 +223,7 @@ func TestResolve(t *testing.T) {
|
|||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
ip, code, err := r.Resolve(tt.qname, tt.qtype)
|
ip, code, err := r.resolve(tt.qname, tt.qtype)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("err = %v; want nil", err)
|
t.Errorf("err = %v; want nil", err)
|
||||||
}
|
}
|
||||||
@ -260,7 +260,7 @@ func TestResolveReverse(t *testing.T) {
|
|||||||
|
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
name, code, err := r.ResolveReverse(tt.ip)
|
name, code, err := r.resolveReverse(tt.ip)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("err = %v; want nil", err)
|
t.Errorf("err = %v; want nil", err)
|
||||||
}
|
}
|
||||||
@ -476,7 +476,7 @@ func TestConcurrentSetMap(t *testing.T) {
|
|||||||
}()
|
}()
|
||||||
go func() {
|
go func() {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
r.Resolve("test1.ipn.dev", dns.TypeA)
|
r.resolve("test1.ipn.dev", dns.TypeA)
|
||||||
}()
|
}()
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user