|
|
|
@ -311,7 +311,6 @@ func (e *userspaceEngine) pinger(peerKey wgcfg.Key, ips []wgcfg.IP) {
|
|
|
|
|
// the traditional wireguard config format. On the other hand, wireguard
|
|
|
|
|
// itself doesn't use the traditional 'dns =' setting either.
|
|
|
|
|
func (e *userspaceEngine) Reconfig(cfg *wgcfg.Config, dnsDomains []string) error {
|
|
|
|
|
e.logf("Reconfig(): configuring userspace wireguard engine.\n")
|
|
|
|
|
e.wgLock.Lock()
|
|
|
|
|
defer e.wgLock.Unlock()
|
|
|
|
|
|
|
|
|
@ -330,9 +329,10 @@ func (e *userspaceEngine) Reconfig(cfg *wgcfg.Config, dnsDomains []string) error
|
|
|
|
|
|
|
|
|
|
rc := uapi + "\x00" + strings.Join(dnsDomains, "\x00")
|
|
|
|
|
if rc == e.lastReconfig {
|
|
|
|
|
e.logf("...unchanged config, skipping.\n")
|
|
|
|
|
return nil
|
|
|
|
|
return ErrNoChanges
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e.logf("wgengine: Reconfig: configuring userspace wireguard engine")
|
|
|
|
|
e.lastReconfig = rc
|
|
|
|
|
e.lastCfg = cfg.Copy()
|
|
|
|
|
|
|
|
|
@ -374,7 +374,7 @@ func (e *userspaceEngine) Reconfig(cfg *wgcfg.Config, dnsDomains []string) error
|
|
|
|
|
// just what's absolutely needed (the set of actual routes).
|
|
|
|
|
rss := rs.OnlyRelevantParts()
|
|
|
|
|
if rss != e.lastRoutes {
|
|
|
|
|
e.logf("Reconfiguring router. la=%v dns=%v dom=%v; new routes: %v\n",
|
|
|
|
|
e.logf("wgengine: Reconfig: reconfiguring router. la=%v dns=%v dom=%v; new routes: %v",
|
|
|
|
|
rs.LocalAddr, rs.DNS, rs.DNSDomains, rss)
|
|
|
|
|
e.lastRoutes = rss
|
|
|
|
|
err = e.router.SetRoutes(rs)
|
|
|
|
@ -383,7 +383,7 @@ func (e *userspaceEngine) Reconfig(cfg *wgcfg.Config, dnsDomains []string) error
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
e.logf("Reconfig() done.\n")
|
|
|
|
|
e.logf("wgengine: Reconfig done")
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|