diff --git a/internal/dns/run.go b/internal/dns/run.go index 430ab0ef..2fec05a9 100644 --- a/internal/dns/run.go +++ b/internal/dns/run.go @@ -82,7 +82,8 @@ func (l *Loop) runWait(ctx context.Context, runError <-chan error) (exitLoop boo for { select { case <-ctx.Done(): - if !*l.GetSettings().KeepNameserver { + settings := l.GetSettings() + if !*settings.KeepNameserver && *settings.ServerEnabled { l.stopServer() // TODO revert OS and Go nameserver when exiting } @@ -90,7 +91,8 @@ func (l *Loop) runWait(ctx context.Context, runError <-chan error) (exitLoop boo case <-l.stop: l.userTrigger = true l.logger.Info("stopping") - if !*l.GetSettings().KeepNameserver { + settings := l.GetSettings() + if !*settings.KeepNameserver && *settings.ServerEnabled { const fallback = false l.useUnencryptedDNS(fallback) l.stopServer()