Bug fix: DNS setup failure loop behavior
This commit is contained in:
@@ -109,7 +109,11 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup, signalDNSReady fun
|
|||||||
var unboundCancel context.CancelFunc = func() {}
|
var unboundCancel context.CancelFunc = func() {}
|
||||||
waitError := make(chan error)
|
waitError := make(chan error)
|
||||||
|
|
||||||
for ctx.Err() == nil && l.GetSettings().Enabled {
|
for l.GetSettings().Enabled {
|
||||||
|
if ctx.Err() != nil {
|
||||||
|
l.logger.Warn("context canceled: exiting loop")
|
||||||
|
return
|
||||||
|
}
|
||||||
var err error
|
var err error
|
||||||
unboundCancel, err = l.setupUnbound(ctx, crashed, waitError)
|
unboundCancel, err = l.setupUnbound(ctx, crashed, waitError)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -118,6 +122,7 @@ func (l *looper) Run(ctx context.Context, wg *sync.WaitGroup, signalDNSReady fun
|
|||||||
l.useUnencryptedDNS(fallback)
|
l.useUnencryptedDNS(fallback)
|
||||||
}
|
}
|
||||||
l.logAndWait(ctx, err)
|
l.logAndWait(ctx, err)
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@@ -315,11 +320,13 @@ func (l *looper) RunRestartTicker(ctx context.Context, wg *sync.WaitGroup) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (l *looper) updateFiles(ctx context.Context) (err error) {
|
func (l *looper) updateFiles(ctx context.Context) (err error) {
|
||||||
|
l.logger.Info("downloading DNS over TLS cryptographic files")
|
||||||
if err := l.conf.SetupFiles(ctx); err != nil {
|
if err := l.conf.SetupFiles(ctx); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
settings := l.GetSettings()
|
settings := l.GetSettings()
|
||||||
|
|
||||||
|
l.logger.Info("downloading hostnames and IP block lists")
|
||||||
hostnameLines, ipLines, errs := l.conf.BuildBlocked(ctx, l.client,
|
hostnameLines, ipLines, errs := l.conf.BuildBlocked(ctx, l.client,
|
||||||
settings.BlockMalicious, settings.BlockAds, settings.BlockSurveillance,
|
settings.BlockMalicious, settings.BlockAds, settings.BlockSurveillance,
|
||||||
settings.Unbound.BlockedHostnames, settings.Unbound.BlockedIPs,
|
settings.Unbound.BlockedHostnames, settings.Unbound.BlockedIPs,
|
||||||
|
|||||||
Reference in New Issue
Block a user