You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tailscale/tstest
Aaron Klotz e016eaf410 cmd/tailscaled: conditionally flush Windows DNS cache on SessionChange
For the service, all we need to do is handle the `svc.SessionChange` command.
Upon receipt of a `windows.WTS_SESSION_UNLOCK` event, we fire off a goroutine to flush the DNS cache.
(Windows expects responses to service requests to be quick, so we don't want to do that synchronously.)

This is gated on an integral registry value named `FlushDNSOnSessionUnlock`,
whose value we obtain during service initialization.

(See [this link](https://docs.microsoft.com/en-us/windows/win32/api/winsvc/nc-winsvc-lphandler_function_ex) for information re: handling `SERVICE_CONTROL_SESSIONCHANGE`.)

Fixes #2956

Signed-off-by: Aaron Klotz <aaron@tailscale.com>
3 years ago
..
integration cmd/tailscaled: conditionally flush Windows DNS cache on SessionChange 3 years ago
natlab fix: typo spelling grammar 3 years ago
staticcheck tstest/staticcheck: import the main package to fix "go mod tidy" 3 years ago
clock.go tstest/natlab: add a stateful firewall. 4 years ago
log.go tstest: make MemLogger.String acquire its mutex 3 years ago
log_test.go tstest: rename LogListener to LogLineTracker 4 years ago
resource.go net/dns{,/resolver}: refactor DNS forwarder, send out of right link on macOS/iOS 3 years ago
tstest.go tstest: add WaitFor helper 3 years ago