diff options
author | Lennart Poettering <lennart@poettering.net> | 2020-11-06 20:10:40 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2021-02-16 09:51:17 +0100 |
commit | 018b642a98fc7d41ec7fa5157c9ce84677174ff5 (patch) | |
tree | a482c15616f0ecf759650e059dfc59217771c8e7 /man/resolvectl.xml | |
parent | e557c82dd5867a790d37f0a165feb0570712516b (diff) | |
download | systemd-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.xml | 40 |
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> |