mDNkit では bind9 用のパッチファイルを提供しています。 このパッチを適用することにより、 bind9 において多言語ドメイン名を扱うことが可能になります。
The mDNkit provides a patch file for bind9. This patch file enables bind9 to support multilingual domain names.
具体的には、このパッチは bind9 に次のような機能を追加します。
The patch adds the following functionality to bind9.
bind9 へのパッチの適用方法は、パッチファイルの先頭に記載してあります。 インストールガイドの bind9 用パッチの適用とインストールも ご覧ください。
Instructions for how to install 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.
このパッチの適用により、DNS サーバである named に対して、 UTF-8 文字の透過機能が追加されます。
A UTF-8 character pass function★(透過機能)★ will be added to the named DNS server by installing this patch.
bind9 の named ではドメイン名の処理はほとんど8ビットスルーになって いるのですが、named 内のドメイン名の内部表現からテキスト表現への 変換部分は8ビットスルーになっておらず、ASCII 文字以外 はバックスラッシュでクォートされ、\DDD という形式の表現に 変換されてしまいます。
Although most domain name processing under bind9 named is 8-bit through, the conversion of the internal expression of domain names to text in named is not 8-bit through. Therefore, non-ASCII characters are quoted with backslashes as \DDD.
これは DNS プロトコル上で用いられるエンコーディングとして UTF-8 を 使用する場合に問題となります。
This makes it difficult to use UTF-8 for encoding DNS protocols.
本パッチでは、変換しようとする文字がUTF-8 文字の 場合にはバックスラッシュによるクォートをせずそのまま透過させる機能を 追加しました。 この動作は named の設定ファイル (named.conf) で切り替えることができます。 デフォルトは互換性のため透過しない設定になっています。 もしDNS プロトコル上で用いるエンコーディングとして UTF-8 を用いる場合には、 設定ファイルの options セクションの allow-utf8 パラメータを 次のように指定してください。
This patch contains a function that allow UTF-8 characters to pass through, so that they are not converted and quoted with backslashes. This function can be turned on or off in the named configuration file (named.conf). For the sake of compatibility, in the default setting UTF-8 characters are not let through. When UTF-8 characters are to be used as encoding in a DNS protocol, change the options section allow-utf8 parameter in the configuration file as follows:
options { ... allow-utf8 yes; ... };
DNS プロトコル上で用いられるエンコーディングとして RACE 等の ASCII 互換エンコーディングを 使用する場合には、この設定は不要です。
This setting is not required when RACE or other ASCII compatible encoding is used as encoding in a DNS protocol.
bind9 のリゾルバは、bind8 までのものとは全く異なり、 lightweight resolver ライブラリと呼ばれるアプリケーションに リンクされるライブラリと、lightweight resolver デーモンと呼ばれる サーバから構成されています。
The bind9 resolver differs greatly from any resolver up to bind8, in that it is comprised of a library, linked to an application referred to as a 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.
DNS プロトコル上で用いられるエンコーディングや使用する正規化方式の指定は あらかじめコンフィギュレーションファイルで設定しておきます。 このファイルの設定方法については mDNkit リゾルバのコンフィギュレーション をご覧ください。
The encoding and the normalization scheme to be used in DNS protocol should first be set in the configuration file. Refer to the mDNkit resolver configuration for information on how to set up this file.
以下に、パッチによって多言語化される名前解決用 API 関数の一覧を示します。 多言語化された API 関数は、従来の ASCII ドメイン名に加え、 非 ASCII ドメイン名を扱うことができます。
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.
引数の型や返り値の型に変更はありません。 パッチを当てる前と同様の呼び出し方法で、従来の ASCII ドメイン名と、 非 ASCII ドメイン名の両方を扱うことができます。
Argument types and returned value types do not change. Both regular ASCII domain names and non-ASCII domain names can be handled through the call up methods used prior to patch installation.
本パッチを適用した bind9 リゾルバは MDN ライブラリ を利用してエンコーディング 変換や正規化を行います。従って bind9 リゾルバを使用したクライアントを コンパイルする場合、MDN のライブラリ libmdn をリンクする必要が あります。もしあなたのシステムが iconv() をサポートしていない 場合には、iconv() のライブラリも合わせてリンクする必要があります。
A bind9 resolver with this patch installed 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.
bind9 には DNS の問い合わせツールとして dig、host、nslookup という コマンドが付属します。bind9 パッチを適用することにより、これらはいずれも 多言語ドメイン名が扱えるようになります。具体的には以下の機能が 付加されます。
Included within bind9 are 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.
DNS プロトコル上で用いられるエンコーディングや使用する正規化方式の指定は あらかじめコンフィギュレーションファイルで設定しておきます。 このファイルの設定方法については mDNkit リゾルバのコンフィギュレーション をご覧ください。
The encoding and the normalization scheme to be used in a DNS protocol shoud first be set in the configuration file. Refer to the mDNkit resolver configuration for information on how to configure this file.