mirror of
https://github.com/safing/portmaster
synced 2025-09-01 18:19:12 +00:00
Reload resolver on config change
This commit is contained in:
parent
c71dfaab38
commit
36c60a1e33
1 changed files with 23 additions and 0 deletions
|
@ -2,6 +2,7 @@ package resolver
|
|||
|
||||
import (
|
||||
"context"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/safing/portbase/log"
|
||||
|
@ -30,6 +31,7 @@ func start() error {
|
|||
// load resolvers from config and environment
|
||||
loadResolvers()
|
||||
|
||||
// reload after network change
|
||||
err := module.RegisterEventHook(
|
||||
"netenv",
|
||||
"network changed",
|
||||
|
@ -44,6 +46,27 @@ func start() error {
|
|||
return err
|
||||
}
|
||||
|
||||
// reload after config change
|
||||
prevNameservers := strings.Join(configuredNameServers(), " ")
|
||||
err = module.RegisterEventHook(
|
||||
"config",
|
||||
"config change",
|
||||
"update nameservers",
|
||||
func(_ context.Context, _ interface{}) error {
|
||||
newNameservers := strings.Join(configuredNameServers(), " ")
|
||||
if newNameservers != prevNameservers {
|
||||
prevNameservers = newNameservers
|
||||
|
||||
loadResolvers()
|
||||
log.Debug("resolver: reloaded nameservers due to config change")
|
||||
}
|
||||
return nil
|
||||
},
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
module.StartServiceWorker(
|
||||
"mdns handler",
|
||||
5*time.Second,
|
||||
|
|
Loading…
Add table
Reference in a new issue