Skip to content

Commit

Permalink
fix issue where search domains are ignored
Browse files Browse the repository at this point in the history
This commit fixes an issue where search domains was ignored
if the user has not configured any external resolvers. Based
on tailscale's documentation, there is no mention of this
behaviour as far as I can see:
https://tailscale.com/kb/1054/dns#search-domains

In addition, it does add the missing base domain to the
search domain.

Signed-off-by: Kristoffer Dalby <[email protected]>
  • Loading branch information
kradalby committed Jun 20, 2024
1 parent dfc089e commit 93fb4f6
Showing 1 changed file with 4 additions and 11 deletions.
15 changes: 4 additions & 11 deletions hscontrol/types/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -536,16 +536,6 @@ func GetDNSConfig() (*tailcfg.DNSConfig, string) {
dnsConfig.Domains = domains
}

if viper.IsSet("dns_config.domains") {
domains := viper.GetStringSlice("dns_config.domains")
if len(dnsConfig.Resolvers) > 0 {
dnsConfig.Domains = domains
} else if domains != nil {
log.Warn().
Msg("Warning: dns_config.domains is set, but no nameservers are configured. Ignoring domains.")
}
}

if viper.IsSet("dns_config.extra_records") {
var extraRecords []tailcfg.DNSRecord

Expand All @@ -571,8 +561,11 @@ func GetDNSConfig() (*tailcfg.DNSConfig, string) {
baseDomain = "headscale.net" // does not really matter when MagicDNS is not enabled
}

log.Trace().Interface("dns_config", dnsConfig).Msg("DNS configuration loaded")
if domains := viper.GetStringSlice("dns_config.domains"); len(domains) > 0 {
dnsConfig.Domains = append(dnsConfig.Domains, domains...)
}

log.Trace().Interface("dns_config", dnsConfig).Msg("DNS configuration loaded")
return dnsConfig, baseDomain
}

Expand Down

0 comments on commit 93fb4f6

Please sign in to comment.