93 lines
3.4 KiB
Diff
93 lines
3.4 KiB
Diff
|
From ec50eff97c259b5bfbfa4e050d69fe7b39b0f15a Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Petr=20Men=C5=A1=C3=ADk?= <pemensik@redhat.com>
|
||
|
Date: Tue, 25 Sep 2018 18:08:46 +0200
|
||
|
Subject: [PATCH] Disable IDN from environment as documented
|
||
|
|
||
|
Manual page of host contained instructions to disable IDN processing
|
||
|
when it was built with libidn2. When refactoring IDN support however,
|
||
|
support for disabling IDN in host and nslookup was lost. Use also
|
||
|
environment variable and document it for nslookup, host and dig.
|
||
|
|
||
|
Support variable CHARSET=ASCII to disable IDN, supported in downstream
|
||
|
RH patch since RHEL 5.
|
||
|
---
|
||
|
bin/dig/dig.docbook | 4 +++-
|
||
|
bin/dig/dighost.c | 5 +++++
|
||
|
bin/dig/host.docbook | 2 +-
|
||
|
bin/dig/nslookup.docbook | 15 +++++++++++++++
|
||
|
4 files changed, 24 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git a/bin/dig/dig.docbook b/bin/dig/dig.docbook
|
||
|
index 5d19301..933af79 100644
|
||
|
--- a/bin/dig/dig.docbook
|
||
|
+++ b/bin/dig/dig.docbook
|
||
|
@@ -1312,7 +1312,9 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
|
||
|
reply from the server.
|
||
|
If you'd like to turn off the IDN support for some reason, use
|
||
|
parameters <parameter>+noidnin</parameter> and
|
||
|
- <parameter>+noidnout</parameter>.
|
||
|
+ <parameter>+noidnout</parameter> or define
|
||
|
+ the <envar>IDN_DISABLE</envar> environment variable.
|
||
|
+
|
||
|
</para>
|
||
|
</refsection>
|
||
|
|
||
|
diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c
|
||
|
index 5eabc1f..73aaab8 100644
|
||
|
--- a/bin/dig/dighost.c
|
||
|
+++ b/bin/dig/dighost.c
|
||
|
@@ -826,6 +826,11 @@ make_empty_lookup(void) {
|
||
|
looknew->badcookie = true;
|
||
|
#ifdef WITH_IDN_SUPPORT
|
||
|
looknew->idnin = isatty(1)?(getenv("IDN_DISABLE") == NULL):false;
|
||
|
+ if (looknew->idnin) {
|
||
|
+ const char *charset = getenv("CHARSET");
|
||
|
+ if (charset && !strcmp(charset, "ASCII"))
|
||
|
+ looknew->idnin = false;
|
||
|
+ }
|
||
|
#else
|
||
|
looknew->idnin = false;
|
||
|
#endif
|
||
|
diff --git a/bin/dig/host.docbook b/bin/dig/host.docbook
|
||
|
index da0f8fb..9689b5a 100644
|
||
|
--- a/bin/dig/host.docbook
|
||
|
+++ b/bin/dig/host.docbook
|
||
|
@@ -379,7 +379,7 @@
|
||
|
<command>host</command> 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
|
||
|
+ If you'd like to turn off the IDN support for some reason, define
|
||
|
the <envar>IDN_DISABLE</envar> environment variable.
|
||
|
The IDN support is disabled if the variable is set when
|
||
|
<command>host</command> runs.
|
||
|
diff --git a/bin/dig/nslookup.docbook b/bin/dig/nslookup.docbook
|
||
|
index d46fc2d..6d7d181 100644
|
||
|
--- a/bin/dig/nslookup.docbook
|
||
|
+++ b/bin/dig/nslookup.docbook
|
||
|
@@ -495,6 +495,21 @@ nslookup -query=hinfo -timeout=10
|
||
|
</para>
|
||
|
</refsection>
|
||
|
|
||
|
+ <refsection><info><title>IDN SUPPORT</title></info>
|
||
|
+
|
||
|
+ <para>
|
||
|
+ If <command>nslookup</command> has been built with IDN (internationalized
|
||
|
+ domain name) support, it can accept and display non-ASCII domain names.
|
||
|
+ <command>nslookup</command> 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, define
|
||
|
+ the <envar>IDN_DISABLE</envar> environment variable.
|
||
|
+ The IDN support is disabled if the variable is set when
|
||
|
+ <command>nslookup</command> runs.
|
||
|
+ </para>
|
||
|
+ </refsection>
|
||
|
+
|
||
|
<refsection><info><title>FILES</title></info>
|
||
|
|
||
|
<para><filename>/etc/resolv.conf</filename>
|
||
|
--
|
||
|
2.20.1
|
||
|
|