summaryrefslogtreecommitdiff
path: root/man/resolvectl.xml
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2020-11-06 20:10:40 +0100
committerLennart Poettering <lennart@poettering.net>2021-02-16 09:51:17 +0100
commit018b642a98fc7d41ec7fa5157c9ce84677174ff5 (patch)
treea482c15616f0ecf759650e059dfc59217771c8e7 /man/resolvectl.xml
parente557c82dd5867a790d37f0a165feb0570712516b (diff)
downloadsystemd-018b642a98fc7d41ec7fa5157c9ce84677174ff5.tar.gz
resolvectl: clarify IDNA and search path logic in combination with "resolvectl query --type="
When low-level RR resolution is requested from "resolvectl query" via "--type=" or "--class=" no search domain logic is applied and no IDNA translation. Explain this in detail in the documentation, and also mentions this when users attempt to resolve single-label names or names with international characters in the output. I believe the current behaviour is correct, but it is indeed surprising. Hence the documentation and output improvement. Fixes: #11325 #10737
Diffstat (limited to 'man/resolvectl.xml')
-rw-r--r--man/resolvectl.xml40
1 files changed, 31 insertions, 9 deletions
diff --git a/man/resolvectl.xml b/man/resolvectl.xml
index 7662349cc5..c87b6fd44b 100644
--- a/man/resolvectl.xml
+++ b/man/resolvectl.xml
@@ -55,7 +55,19 @@
<varlistentry>
<term><command>query</command> <replaceable>HOSTNAME|ADDRESS</replaceable>…</term>
- <listitem><para>Resolve domain names, IPv4 and IPv6 addresses.</para></listitem>
+ <listitem><para>Resolve domain names, as well as IPv4 and IPv6 addresses. When used in conjuntion
+ with <option>--type=</option> or <option>--class=</option> (see below), resolves low-level DNS
+ resource records.</para>
+
+ <para>If a single-label domain name is specified it is searched for according to the configured
+ search domains — unless <option>--search=no</option> or
+ <option>--type=</option>/<option>--class=</option> are specified, both of which turn this logic
+ off.</para>
+
+ <para>If an international domain name is specified, it is automatically translated according to IDNA
+ rules when resolved via classic DNS — but not for look-ups via MulticastDNS or LLMNR. If
+ <option>--type=</option>/<option>--class=</option> is used IDNA translation is turned off and domain
+ names are processed as specified.</para></listitem>
</varlistentry>
<varlistentry>
@@ -233,11 +245,19 @@
<term><option>-c</option> <replaceable>CLASS</replaceable></term>
<term><option>--class=</option><replaceable>CLASS</replaceable></term>
- <listitem><para>Specifies the DNS resource record type (e.g. A, AAAA, MX, …) and class (e.g. IN, ANY, …) to
- look up. If these options are used a DNS resource record set matching the specified class and type is
- requested. The class defaults to IN if only a type is specified.
- The special value <literal>help</literal> may be used to list known values.
- </para></listitem>
+ <listitem><para>When used in conjunction with the <command>query</command> command, specifies the DNS
+ resource record type (e.g. A, AAAA, MX, …) and class (e.g. IN, ANY, …) to look up. If these options
+ are used a DNS resource record set matching the specified class and type is requested. The class
+ defaults to IN if only a type is specified. The special value <literal>help</literal> may be used to
+ list known values.</para>
+
+ <para>Without these options <command>resolvectl query</command> provides high-level domain name to
+ address and address to domain name resolution. With these options it provides low-level DNS resource
+ record resolution. The search domain logic is automatically turned off when these options are used,
+ i.e. specified domain names need to be fully qualified domain names. Moreover, IDNA internal domain
+ name translation is turned off as well, i.e. international domain names should be specified in
+ <literal>xn--…</literal> notation, unless look-up in MulticastDNS/LLMNR is desired, in which case
+ UTF-8 characters should be used.</para></listitem>
</varlistentry>
<varlistentry>
@@ -324,9 +344,11 @@
<varlistentry>
<term><option>--search=</option><replaceable>BOOL</replaceable></term>
- <listitem><para>Takes a boolean parameter. If true (the default), any specified single-label hostnames will be
- searched in the domains configured in the search domain list, if it is non-empty. Otherwise, the search domain
- logic is disabled.</para></listitem>
+ <listitem><para>Takes a boolean parameter. If true (the default), any specified single-label
+ hostnames will be searched in the domains configured in the search domain list, if it is
+ non-empty. Otherwise, the search domain logic is disabled. Note that this option has no effect if
+ <option>--type=</option> is used (see above), in which case the search domain logic is
+ unconditionally turned off.</para></listitem>
</varlistentry>
<varlistentry>