cmd/ctrld: start listener with no default upstream

We can have more listeners than upstreams.
This commit is contained in:
Cuong Manh Le
2023-05-03 18:12:40 +07:00
committed by Cuong Manh Le
parent 440d085c6d
commit e3a792d50d
2 changed files with 4 additions and 2 deletions

View File

@@ -257,6 +257,9 @@ func (p *prog) proxy(ctx context.Context, upstreams []string, failoverRcodes []i
return answer
}
for n, upstreamConfig := range upstreamConfigs {
if upstreamConfig == nil {
continue
}
answer := resolve(n, upstreamConfig, msg)
if answer == nil {
if serveStaleCache && staleAnswer != nil {

View File

@@ -91,8 +91,7 @@ func (p *prog) run() {
listenerConfig := p.cfg.Listener[listenerNum]
upstreamConfig := p.cfg.Upstream[listenerNum]
if upstreamConfig == nil {
mainLog.Error().Msgf("missing upstream config for: [listener.%s]", listenerNum)
return
mainLog.Warn().Msgf("no default upstream for: [listener.%s]", listenerNum)
}
addr := net.JoinHostPort(listenerConfig.IP, strconv.Itoa(listenerConfig.Port))
mainLog.Info().Msgf("Starting DNS server on listener.%s: %s", listenerNum, addr)