Update dependencies
This commit is contained in:
34
vendor/tailscale.com/net/dns/flush_windows.go
generated
vendored
Normal file
34
vendor/tailscale.com/net/dns/flush_windows.go
generated
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
// Copyright (c) Tailscale Inc & AUTHORS
|
||||
// SPDX-License-Identifier: BSD-3-Clause
|
||||
|
||||
package dns
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"syscall"
|
||||
|
||||
"golang.org/x/sys/windows"
|
||||
)
|
||||
|
||||
func flushCaches() error {
|
||||
cmd := exec.Command("ipconfig", "/flushdns")
|
||||
cmd.SysProcAttr = &syscall.SysProcAttr{
|
||||
CreationFlags: windows.DETACHED_PROCESS,
|
||||
}
|
||||
out, err := cmd.CombinedOutput()
|
||||
if err != nil {
|
||||
return fmt.Errorf("%v (output: %s)", err, out)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Flush clears the local resolver cache.
|
||||
//
|
||||
// Only Windows has a public dns.Flush, needed in router_windows.go. Other
|
||||
// platforms like Linux need a different flush implementation depending on
|
||||
// the DNS manager. There is a FlushCaches method on the manager which
|
||||
// can be used on all platforms.
|
||||
func Flush() error {
|
||||
return flushCaches()
|
||||
}
|
||||
Reference in New Issue
Block a user