Description of problem:
A. Cu would like to disable idn display. So, he tried to execute following commands :
[root@]# dig axfr . @k.root-servers.net | grep 'xn--'
[root@]# env IDN_DISALBE=t dig axfr . @k.root-servers.net | grep 'xn--'
He is unable to disable.
Version-Release number of selected component (if applicable):
$ dig axfr . @k.root-servers.net | grep 'xn--'
$ env IDN_DISALBE=t dig axfr . @k.root-servers.net | grep 'xn--'
B. Secondly, as per manual of "dig" in connection with IDN, cu doesn't get expected result. He would like to modify this document too.
From manual :
If dig has been built with IDN (internationalized domain name) support, it can accept and display non-ASCII domain
names. dig appropriately converts character encoding of domain name before sending a request to DNS server or
displaying a reply from the server. If you´d like to turn off the IDN support for some reason, defines the IDN_DISABLE
environment variable. The IDN support is disabled if the variable is set when dig runs.
Steps to Reproduce:
dig out put doesn't show non-IDN domains
dig out put will show non-IDN domains
Following work around solution works fine :
To obtain the xn-- variations the easiest options is simply to run with LANG=ASCII which forces the conversion regardless.
$ LANG=ASCII dig axfr . @k.root-servers.net | grep '^xn--' | wc -l
$ LANG=ASCII dig axfr . @k.root-servers.net | grep '^xn--' | head
xn--0zwm56d. 172800 IN NS a.iana-servers.net.
xn--0zwm56d. 172800 IN NS b.iana-servers.net.
xn--0zwm56d. 172800 IN NS c.iana-servers.net.
xn--0zwm56d. 86400 IN DS 56231 8 1 A4F7756C0B5E82D9E31E8649F097B81F4E28F683
xn--0zwm56d. 86400 IN DS 56231 8 2 D569A173FA0099A428A4B5E0EAF6ED445309C9D76F2D8FB4CE83AEF5 AE79D593
xn--0zwm56d. 86400 IN RRSIG DS 8 1 86400 20120329000000 20120321230000 51201 . loklh26PX7NrzAbJTxQqsxTn6HwZGujDeeLxKHtXI88JYBxHEgHkurKr ZgYljw/t1mRgLghldcJ6iNEti2IjfKZgdsK5O6fbp0tFziuCltTg/Hjr 1BX9GMehkZeXaTQgiO7YmPSe1vfzYqnB4Rg395XOByEzUqIZOPejxDod 0Tg=
xn--0zwm56d. 86400 IN RRSIG NSEC 8 1 86400 20120329000000 20120321230000 51201 . BUnkUos+NR/iRfS73w3qn+BZcXCsAjP2wandklKrxydxS4LGrPoK7gda 3x1JCFPnJwtJf0PGRZd4AEo3wHomhQPARhtaUWOm+h/qAOEo1IiXlz0h +CmOlBrP+UoFF6/7WMTHKvnX3WzgnvsNHO1AgQN0qtPyHSmRptuIZnOC Um8=
xn--0zwm56d. 86400 IN NSEC xn--11b5bs3a9aj6g. NS DS RRSIG NSEC
xn--11b5bs3a9aj6g. 172800 IN NS a.iana-servers.net.
xn--11b5bs3a9aj6g. 172800 IN NS b.iana-servers.net.
FYI : As currently built, if the code thinks the terminal can handle characters >127 then it will output the domain names in true format.
The manual page is wrong. IDN support in Red Hat distributions is based on libidn library (instead of idnkit, which is shipped as part of BIND source). The IDN_DISABLE environment variable is idnkit-specific option. The correct libidn environment option is "CHARSET", which is similar to LANG. I.e. you can run
dig axfr . @k.root-servers.net |grep '^xn--'
I will update manual page appropriately, thanks for the report.
This request was evaluated by Red Hat Product Management for inclusion
in a Red Hat Enterprise Linux release. Product Management has
requested further review of this request by Red Hat Engineering, for
potential inclusion in a Red Hat Enterprise Linux release for currently
deployed products. This request is not yet committed for inclusion in
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.