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/net/dns
Aaron Klotz b005b79236 net/dns, paths, util/winutil: change net/dns/windowsManager NRPT management to support more than 50 domains.
AFAICT this isn't documented on MSDN, but based on the issue referenced below,
NRPT rules are not working when a rule specifies > 50 domains.

This patch modifies our NRPT rule generator to split the list of domains
into chunks as necessary, and write a separate rule for each chunk.

For compatibility reasons, we continue to use the hard-coded rule ID, but
as additional rules are required, we generate new GUIDs. Those GUIDs are
stored under the Tailscale registry path so that we know which rules are ours.

I made some changes to winutils to add additional helper functions in support
of both the code and its test: I added additional registry accessors, and also
moved some token accessors from paths to util/winutil.

Fixes https://github.com/tailscale/coral/issues/63

Signed-off-by: Aaron Klotz <aaron@tailscale.com>
3 years ago
..
publicdns net/dns/publicdns: add missing call to sync.Once.Do (#4410) 3 years ago
resolvconffile all: use strings.Cut even more 3 years ago
resolver net/dns{., resolver}: time out DNS queries after 10 seconds (#4690) 3 years ago
config.go tailcfg,all: change structs to []*dnstype.Resolver 3 years ago
debian_resolvconf.go all: gofmt with Go 1.17 3 years ago
direct.go net/dns: ignore permission errors on Synology DSM7 for now 3 years ago
direct_test.go net/dns: require space after nameserver/search parsing resolv.conf 3 years ago
flush_default.go wgengine: flush DNS cache after major link change. 3 years ago
flush_windows.go wgengine: flush DNS cache after major link change. 3 years ago
ini.go all: gofmt with Go 1.17 3 years ago
ini_test.go all: gofmt -w -s (simplify) tests 3 years ago
manager.go net/dns{., resolver}: time out DNS queries after 10 seconds (#4690) 3 years ago
manager_darwin.go net/dns: add tailscaled-on-macOS DNS OSConfigurator 3 years ago
manager_default.go net/dns: add tailscaled-on-macOS DNS OSConfigurator 3 years ago
manager_freebsd.go net/dns: fall back to copy+delete/truncate if moving to/from /etc/resolv.conf fails. 3 years ago
manager_linux.go net/dns: add health check for particular broken-ish Linux DNS config 3 years ago
manager_linux_test.go all: use any instead of interface{} 3 years ago
manager_openbsd.go net/dns: teach OpenBSD's manager to talk to resolvd(8). (#2789) 3 years ago
manager_tcp_test.go net/dns, wgengine: implement DNS over TCP (#4598) 3 years ago
manager_test.go tailcfg,all: change structs to []*dnstype.Resolver 3 years ago
manager_windows.go net/dns, paths, util/winutil: change net/dns/windowsManager NRPT management to support more than 50 domains. 3 years ago
manager_windows_test.go net/dns, paths, util/winutil: change net/dns/windowsManager NRPT management to support more than 50 domains. 3 years ago
nm.go all: use any instead of interface{} 3 years ago
noop.go net/dns: return error from NewOSManager, use it to initialize NM. 4 years ago
openresolv.go all: gofmt with Go 1.17 3 years ago
osconfig.go net/dns: make debian_resolvconf correctly clear DNS configs. 4 years ago
registry_windows.go wgengine/router/dns: move to net/dns. 4 years ago
resolvconf-workaround.sh net/dns: also include 'tail' and 'base' files when fixing up resolv.conf. 4 years ago
resolvconf.go net/dns: exhaustively test DNS selection paths for linux. 3 years ago
resolvd.go net/dns/resolvconffile: unify three /etc/resolv.conf parsers into new package 3 years ago
resolved.go all: use any instead of interface{} 3 years ago
utf.go net/dns: detect and decode UTF-16 from wsl.exe earlier. 3 years ago
utf_test.go net/dns: detect and decode UTF-16 from wsl.exe earlier. 3 years ago
wsl_windows.go net/dns: fix checking for wrapped error when attempting to read wsl.conf for Windows WSL2 3 years ago