@ -17,8 +17,11 @@ type Resolver struct {
// - A plain IP address for a "classic" UDP+TCP DNS resolver.
// - A plain IP address for a "classic" UDP+TCP DNS resolver.
// This is the common format as sent by the control plane.
// This is the common format as sent by the control plane.
// - An IP:port, for tests.
// - An IP:port, for tests.
// - "https://resolver.com/path" for DNS over HTTPS; currently
// as of 2022-09-08 only used for certain well-known resolvers
// (see the publicdns package) for which the IP addresses to dial DoH are
// known ahead of time, so bootstrap DNS resolution is not required.
// - [TODO] "tls://resolver.com" for DNS over TCP+TLS
// - [TODO] "tls://resolver.com" for DNS over TCP+TLS
// - [TODO] "https://resolver.com/query-tmpl" for DNS over HTTPS
Addr string ` json:",omitempty" `
Addr string ` json:",omitempty" `
// BootstrapResolution is an optional suggested resolution for the
// BootstrapResolution is an optional suggested resolution for the
@ -27,6 +30,8 @@ type Resolver struct {
// BootstrapResolution may be empty, in which case clients should
// BootstrapResolution may be empty, in which case clients should
// look up the DoT/DoH server using their local "classic" DNS
// look up the DoT/DoH server using their local "classic" DNS
// resolver.
// resolver.
//
// As of 2022-09-08, BootstrapResolution is not yet used.
BootstrapResolution [ ] netip . Addr ` json:",omitempty" `
BootstrapResolution [ ] netip . Addr ` json:",omitempty" `
}
}