aboutsummaryrefslogtreecommitdiff
path: root/lib/dns/server.go
diff options
context:
space:
mode:
authorShulhan <m.shulhan@gmail.com>2019-11-24 23:16:26 +0700
committerShulhan <m.shulhan@gmail.com>2019-11-24 23:18:47 +0700
commit91efbcb6918b0789264fe6e4ed5335329ee62715 (patch)
tree0e11421517aab67f029195aaec49840d672e3125 /lib/dns/server.go
parent8294d33fa6a15636f8e320dbc67f6ed447f77917 (diff)
downloadpakakeh.go-91efbcb6918b0789264fe6e4ed5335329ee62715.tar.xz
dns: check for nil forwarder
The forwarder could be nil if its not created yet and the its want to be stopped through "stopper" channel.
Diffstat (limited to 'lib/dns/server.go')
-rw-r--r--lib/dns/server.go12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/dns/server.go b/lib/dns/server.go
index 474ce498..b5b5ee91 100644
--- a/lib/dns/server.go
+++ b/lib/dns/server.go
@@ -889,7 +889,9 @@ func (srv *Server) runDohForwarder(nameserver string, primaryq, fallbackq chan *
log.Printf("dns: reconnect forwarder %s for %s\n", tag, nameserver)
out:
- forwarder.Close()
+ if forwarder != nil {
+ forwarder.Close()
+ }
srv.decForwarder()
}
srv.fwGroup.Done()
@@ -953,7 +955,9 @@ func (srv *Server) runTLSForwarder(nameserver string, primaryq, fallbackq chan *
log.Printf("dns: reconnect forwarder %s for %s\n", tag, nameserver)
out:
- forwarder.Close()
+ if forwarder != nil {
+ forwarder.Close()
+ }
srv.decForwarder()
}
srv.fwGroup.Done()
@@ -1075,7 +1079,9 @@ func (srv *Server) runUDPForwarder(remoteAddr string, primaryq, fallbackq chan *
log.Printf("dns: reconnect forwarder %s for %s\n", tag, remoteAddr)
out:
- forwarder.Close()
+ if forwarder != nil {
+ forwarder.Close()
+ }
srv.decForwarder()
}
srv.fwGroup.Done()