mirror of
https://github.com/tailscale/tailscale.git
synced 2025-02-21 12:28:39 +00:00
net/dns, cmd/tailscaled: plumb system health tracker into dns cleanup (#12969)
fixes tailscale#12968 The dns manager cleanup func was getting passed a nil health tracker, which will panic. Fixed to pass it the system health tracker. Signed-off-by: Jonathan Nobels <jonathan@tailscale.com>
This commit is contained in:
parent
eead25560f
commit
8a8ecac6a7
@ -394,7 +394,7 @@ func run() (err error) {
|
|||||||
// Always clean up, even if we're going to run the server. This covers cases
|
// Always clean up, even if we're going to run the server. This covers cases
|
||||||
// such as when a system was rebooted without shutting down, or tailscaled
|
// such as when a system was rebooted without shutting down, or tailscaled
|
||||||
// crashed, and would for example restore system DNS configuration.
|
// crashed, and would for example restore system DNS configuration.
|
||||||
dns.CleanUp(logf, netMon, args.tunname)
|
dns.CleanUp(logf, netMon, sys.HealthTracker(), args.tunname)
|
||||||
router.CleanUp(logf, netMon, args.tunname)
|
router.CleanUp(logf, netMon, args.tunname)
|
||||||
// If the cleanUp flag was passed, then exit.
|
// If the cleanUp flag was passed, then exit.
|
||||||
if args.cleanUp {
|
if args.cleanUp {
|
||||||
|
@ -538,7 +538,9 @@ func (m *Manager) FlushCaches() error {
|
|||||||
// CleanUp restores the system DNS configuration to its original state
|
// CleanUp restores the system DNS configuration to its original state
|
||||||
// in case the Tailscale daemon terminated without closing the router.
|
// in case the Tailscale daemon terminated without closing the router.
|
||||||
// No other state needs to be instantiated before this runs.
|
// No other state needs to be instantiated before this runs.
|
||||||
func CleanUp(logf logger.Logf, netMon *netmon.Monitor, interfaceName string) {
|
//
|
||||||
|
// health must not be nil
|
||||||
|
func CleanUp(logf logger.Logf, netMon *netmon.Monitor, health *health.Tracker, interfaceName string) {
|
||||||
oscfg, err := NewOSConfigurator(logf, nil, nil, interfaceName)
|
oscfg, err := NewOSConfigurator(logf, nil, nil, interfaceName)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logf("creating dns cleanup: %v", err)
|
logf("creating dns cleanup: %v", err)
|
||||||
@ -546,7 +548,7 @@ func CleanUp(logf logger.Logf, netMon *netmon.Monitor, interfaceName string) {
|
|||||||
}
|
}
|
||||||
d := &tsdial.Dialer{Logf: logf}
|
d := &tsdial.Dialer{Logf: logf}
|
||||||
d.SetNetMon(netMon)
|
d.SetNetMon(netMon)
|
||||||
dns := NewManager(logf, oscfg, nil, d, nil, nil, runtime.GOOS)
|
dns := NewManager(logf, oscfg, health, d, nil, nil, runtime.GOOS)
|
||||||
if err := dns.Down(); err != nil {
|
if err := dns.Down(); err != nil {
|
||||||
logf("dns down: %v", err)
|
logf("dns down: %v", err)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user