BIND 9 patch
Overview
The mDNkit provides a patch file for BIND 9. This patch file enables some of the tools included in BIND 9 to support multilingual domain names.
Instructions to apply this patch to BIND 9 are given at the beginning of the patch file. Refer also to the section "Applying and Installing the BIND 9 Patch" of the Installation Guide.
The BIND 9 patch in this version is significantly different from the previous version (mDNkit version 1). Users of the previous version need to read the section Differences from the Previous Version.
Tool Correction Contents
Inquiry tools, dig, host, and nslookup commands are attached to BIND 9. By applying BIND 9 patch, these tools become able to support multilingual domain names. Specifically, the following functions are added.
- Entry of multilingual domain names
Non-ASCII domain names in local encoding can be specified as command arguments and standard input. Locally encoded domain names are automatically converted to encoding used in DNS protocol and are used for querying DNS servers. Normalization is done as it is converted. - Display of multilingual domain names
Multilingual domain names in a response from a DNS server are converted to local encoding before being displayed.
However, if environment variable MDN_DISABLE
was defined, these functions are not performed, but perform as same as when BIND 9 patch was not applied.
The encoding and the normalization scheme for names to be used by the resolver or DNS server should first be specified in the configuration file. Refer to mDNkit resolver configuration for information about the setting method of this file.
Differences from the Previous Version
In the previous version (mDNkit version 1), the BIND 9 patch provides the following functions.
- When a domain name is converted to text, UTF-8 characters are passed through as they are in DNS server (named) of BIND 9.
- The host name in the local encoding can be specified for the API function for name resolution provided by the resolver (lightweight resolver) of BIND 9.
- The host name in the local encoding is returned as the name resolution result.
In mDNkit version 2, however, those functions are deleted from BIND 9 patch. This is because IDNA architecture is adopted. In this architecture, the application layer is supposed to perform normalization (NAMEPREP) and conversion to ACE. Since the multilingual domain names converted to ACE have the correct format as a conventional ASCII domain name, the resolver and DNS server can use those without modification.
mDNkit version 2 provides the API used to process normalization or encoding conversion by the application based on IDNA. For details, refer to Multilingual Domain Name Conversion API.