メインコンテンツへジャンプする

JPNICはインターネットの円滑な運営を支えるための組織です

ロゴ:JPNIC

WHOIS 検索 サイト内検索 WHOISとは? JPNIC WHOIS Gateway
WHOIS検索 サイト内検索

bind9 patch


Overview

The mDNkit provides a patch file for bind9. This patch file enables bind9 to support multilingual domain names.

The patch adds the following functionalities to bind9.

  • When a domain name is converted to text in bind9 DNS servers (named), UTF-8 characters will be allowed to pass as is.
  • It will enable the name resolving API function provided with the bind9 resolver (a lightweight resolver) to accept host names in local encoding specified as host names.
  • Host names denoted in local encoding can be returned as a result of name resolution.
  • The dig, host and nslookup commands will accept locally encoded domain names and display domain names the result of a query in local encoding.

Instructions to apply this patch to bind9 are given at the beginning of the patch file. Refer also to the section "Adding and installing the bind9 patch"in the Installation guide.


named

A UTF-8 character transparent function will be added to the named DNS server by installing this patch.

Although most domain name processing under bind9 named is 8-bit transparent, the conversion of the internal expression of domain names to text in named is not 8-bit transparent. Therefore, non-ASCII characters are quoted with backslashes as \DDD.

This may cause a problem to use UTF-8 for encoding on DNS protocols.

This patch contains a function that allow UTF-8 characters to pass through, so that they are not converted and not quoted with backslashes. This function can be turned on or off in the named configuration file (named.conf). For the compatibility, in the default setting for UTF-8 characters is not transparent. When UTF-8 characters are used as encoding in DNS protocol, change the options section allow-utf8 parameter in the configuration file as follows:

options {
    ...
    allow-utf8 yes;
    ...
};

This setting is not required when RACE or other ASCII compatible encoding is used as encoding in DNS protocol.


Resolver

The bind9 resolver differs greatly from any resolver up to bind8, in that it is comprised of a library linked to an application that is 'lightweight resolver library', and a server called a lightweight resolver daemon.

The use of this patch enables the resolver to handle multilingual domain names. It specifically adds the following functions.

  • Specifying Multilingual host name
    It allows the name resolving API function provided by the resolver library to specify host name argument in local encoding. Locally encoded domain names can be automatically converted to the encoding used in DNS protocol and be used for querying DNS servers. The normalization is applies with the conversion of encoding.

  • Multilingual domain names returned
    The name resolving API function provided by the resolver library can return host names denoted in local encoding as a result of the resolved query.

The encoding and the normalization scheme used in DNS protocol should first be specified in the configuration file. Refer to the mDNkit resolver configuration for information about this file.

Name-resolving API functions that the patch enables to handle multilingual domain names are listed below. Multilingual API functions can handle non-ASCII domain names in addition to traditional ASCII domain names.

  • lwres_getaddrinfo()
  • lwres_getnameinfo()
  • lwres_gethostbyname()
  • lwres_gethostbyname2()
  • lwres_gethostbyname_r()
  • lwres_gethostbyaddr()
  • lwres_gethostbyaddr_r()
  • lwres_getipnodebyname()
  • lwres_getipnodebyaddr()

Argument types and returned value types do not change. Both regular ASCII domain names and non-ASCII domain names can be handled through the same call methods as the version without a patch.

A bind9 resolver with this patch utilizes the MDN library for encoding, conversion and normalization. Thus when compiling clients that use the bind9 resolver, the MDN library libmdn must be linked. If your system does not support iconv(), the iconv() library must also be linked.


dig/host/nslookup

BIND9 provides the dig, host and nslookup commands for querying DNS. These commands can support multilingual domain names when the bind9 patch is installed. The following functions have been 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. The 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.

The encoding and the normalization scheme to be used in DNS protocol should first be specified in the configuration file. Refer to the mDNkit resolver configuration for information about this file.

このページを評価してください

このWebページは役に立ちましたか?
よろしければ回答の理由をご記入ください

それ以外にも、ページの改良点等がございましたら自由にご記入ください。

回答が必要な場合は、お問い合わせ先をご利用ください。

ロゴ:JPNIC

Copyright© 1996-2024 Japan Network Information Center. All Rights Reserved.