aboutsummaryrefslogtreecommitdiff
path: root/middleware/proxy/lookup.go
diff options
context:
space:
mode:
Diffstat (limited to 'middleware/proxy/lookup.go')
-rw-r--r--middleware/proxy/lookup.go9
1 files changed, 6 insertions, 3 deletions
diff --git a/middleware/proxy/lookup.go b/middleware/proxy/lookup.go
index 23c086bbf..56dc0eb4c 100644
--- a/middleware/proxy/lookup.go
+++ b/middleware/proxy/lookup.go
@@ -16,7 +16,7 @@ func NewLookup(hosts []string) Proxy {
p := Proxy{Next: nil}
upstream := &staticUpstream{
- from: "",
+ from: ".",
Hosts: make([]*UpstreamHost, len(hosts)),
Policy: &Random{},
Spray: nil,
@@ -71,7 +71,11 @@ func (p Proxy) Forward(state request.Request) (*dns.Msg, error) {
}
func (p Proxy) lookup(state request.Request) (*dns.Msg, error) {
- for _, upstream := range *p.Upstreams {
+ upstream := p.match(state)
+ if upstream == nil {
+ return nil, errInvalidDomain
+ }
+ for {
start := time.Now()
// Since Select() should give us "up" hosts, keep retrying
@@ -106,5 +110,4 @@ func (p Proxy) lookup(state request.Request) (*dns.Msg, error) {
}
return nil, errUnreachable
}
- return nil, errUnreachable
}