diff --git a/Configuration.md b/Configuration.md index 1bc30bb..7fb7e16 100644 --- a/Configuration.md +++ b/Configuration.md @@ -130,6 +130,17 @@ the default upstreams, which should be specified as well. An empty domain specification, `//` has the special meaning of “unqualified names only”, i.e. names without any dots in them, like `myhost` or `router`. +Those will only be used for resolving requests for unqualified domain names, but +not their subdomains. So, a configuration like this: + +```none +5.6.7.8:53 +[//]4.3.2.1:53 +[/com/]1.2.3.4:53 +``` + +sends requests for `com` (and its subdomains) to `1.2.3.4:53`, requests for +other top-level domains to `4.3.2.1:53`, and all other requests to `5.6.7.8:53`. More specific domains take precedence over less specific domains. So, a configuration like this: @@ -164,7 +175,9 @@ specification for records' presence given in [RFC 4035, section For example, the `DS` query for `domain.example.com` will be sent to the upstream specified for `example.com`, `com`, or the default one, even if there -is a more specific upstream like `*.example.com`. +is a more specific upstream like `*.example.com`. Note that for two-label `DS` +requests, the upstream specified for unqualified names, or the more specific one +will be used, if any. Since **v0.108.0-b.8** the wildcard `*` has a special meaning of "any subdomain", so `--upstream=[/*.host.com/]1.2.3.4` will send queries for