From 3b27176bfcc752535f7e09582f880d11238716cf Mon Sep 17 00:00:00 2001 From: Eugene Burkov Date: Fri, 26 Apr 2024 15:50:44 +0300 Subject: [PATCH] Pull request 198: 6744 Unqualified domains Squashed commit of the following: commit 779b93c3d715a86aaa1c686c5028e7e418ab2b9e Author: Eugene Burkov Date: Fri Apr 26 15:27:47 2024 +0300 Configuration: add example commit e66761c424a80c5c09113b546a58974e55294611 Author: Eugene Burkov Date: Fri Apr 26 15:23:12 2024 +0300 Configuration: imp doc about unqualified domains --- Configuration.md | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) 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