Commit 47aac1da authored by David Lawrence's avatar David Lawrence
Browse files

documentation for mdnkit

parent 9c2e820b
Copyright (c) 2000 Japan Network Information Center. All rights reserved.
By using this file, you agree to the terms and conditions set forth bellow.
LICENSE TERMS AND CONDITIONS
The following License Terms and Conditions apply, unless a different
license is obtained from Japan Network Information Center ("JPNIC"),
a Japanese association, Fuundo Bldg., 1-2 Kanda Ogawamachi, Chiyoda-ku,
Tokyo, Japan.
1. Use, Modification and Redistribution (including distribution of any
modified or derived work) in source and/or binary forms is permitted
under this License Terms and Conditions.
2. Redistribution of source code must retain the copyright notices as they
appear in each source code file, this License Terms and Conditions.
3. Redistribution in binary form must reproduce the Copyright Notice,
this License Terms and Conditions, in the documentation and/or other
materials provided with the distribution. For the purposes of binary
distribution the "Copyright Notice" refers to the following language:
"Copyright (c) Japan Network Information Center. All rights reserved."
4. Neither the name of JPNIC may be used to endorse or promote products
derived from this Software without specific prior written approval of
JPNIC.
5. Disclaimer/Limitation of Liability: THIS SOFTWARE IS PROVIDED BY JPNIC
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JPNIC BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
6. Indemnification by Licensee
Any person or entities using and/or redistributing this Software under
this License Terms and Conditions shall defend indemnify and hold
harmless JPNIC from and against any and all judgements damages,
expenses, settlement liabilities, cost and other liabilities of any
kind as a result of use and redistribution of this Software or any
claim, suite, action, litigation or proceeding by any third party
arising out of or relates to this License Terms and Conditions.
7. Governing Law, Jurisdiction and Venue
This License Terms and Conditions shall be governed by and and
construed in accordance with the law of Japan. Any person or entities
using and/or redistributing this Software under this License Terms and
Conditions hereby agrees and consent to the personal and exclusive
jurisdiction and venue of Tokyo District Court of Japan.
<!doctype html public "-//IETF//DTD HTML 2.0//EN">
<!-- $Id: bind9.html,v 1.1 2001/03/05 12:58:01 tale Exp $ -->
<html>
<head>
<title>bind9 patch</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<h1>bind9 パッチ</h1>
<h1>bind9 patch</h1>
<ul>
<li><a href="#overview">概要</a>
<li><a href="#overview">Overview</a>
<li><a href="#named">named</a>
<li><a href="#named">named</a>
<li><a href="#resolver">リゾルバ</a>
<li><a href="#resolver">Resolver</a>
<li><a href="#dig">dig/host/nslookup</a>
<li><a href="#dig">dig/host/nslookup</a>
</ul>
<hr>
<h2><a name="overview">概要</a></h2>
<h2><a name="overview">Overview</a></h2>
<p>
mDNkit では bind9 用のパッチファイルを提供しています。
このパッチを適用することにより、
bind9 において多言語ドメイン名を扱うことが可能になります。
<p>
The mDNkit provides a patch file for bind9.
This patch file enables bind9 to support multilingual domain names.
<p>
具体的には、このパッチは bind9 に次のような機能を追加します。
<p>
The patch adds the following functionality to bind9.
<ul>
<li>bind9 の DNS サーバ (named) において、ドメイン名をテキストに
変換する際にUTF-8 文字がそのまま通るようになります。
<li>When a domain name is converted to text in bind9 DNS servers (named), UTF-8 characters will be allowed to pass.
<li>bind9 のリゾルバ (lightweight resolver) の提供する名前解決用の
API 関数に、ホスト名としてローカルエンコーディングで表現されたホスト名を
指定できるようになります。
<li>It will enable the name resolving API function provided with the bind9 resolver
(a lightweight resolver) to denote host names in local encoding to be specified as host names.
<li>同じく名前解決結果として、ローカルエンコーディングで表現された
ホスト名が返されるようになります。
<li>Host names denoted in local encoding can be returned as a result of name resolution.
<li>dig、host、nslookup コマンドがローカルエンコーディングのドメイン名を
受け付け、また問い合わせ結果に含まれるドメイン名をローカルエンコーディングで
表示するようになります。
<li>The dig, host and nslookup commands will accept locally encoded domain names and display domain names included in the result of a query in local encoding.
</ul>
<p>bind9 へのパッチの適用方法は、パッチファイルの先頭に記載してあります。
<a href="install.html">インストールガイド</a>
<a href="install.html#bind9">bind9 用パッチの適用とインストール</a>
ご覧ください。
<p>Instructions for how to install this patch to bind9 are given at the beginning of the patch file.
Refer also to <a href="install.html#bind9">the section "Adding and installing the bind9 patch"</a>in <a href="install.html">the Installation guide</a>.
<p>
<hr>
<h2><a name="named">named</a></h2>
<h2><a name="named">named</a></h2>
<p>このパッチの適用により、DNS サーバである named に対して、
UTF-8 文字の透過機能が追加されます。
<p>A UTF-8 character pass function★(透過機能)★ will be added to the named DNS server by installing this patch.
<p>bind9 の named ではドメイン名の処理はほとんど8ビットスルーになって
いるのですが、named 内のドメイン名の内部表現からテキスト表現への
変換部分は8ビットスルーになっておらず、ASCII 文字以外
はバックスラッシュでクォートされ、<tt>\DDD</tt> という形式の表現に
変換されてしまいます。
<P>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 <TT>\DDD</TT>.
<p>これは DNS プロトコル上で用いられるエンコーディングとして UTF-8 を
使用する場合に問題となります。
<p>This makes it difficult to use UTF-8 for encoding DNS protocols.
<p>本パッチでは、変換しようとする文字がUTF-8 文字の
場合にはバックスラッシュによるクォートをせずそのまま透過させる機能を
追加しました。
この動作は named の設定ファイル (named.conf) で切り替えることができます。
デフォルトは互換性のため透過しない設定になっています。
もしDNS プロトコル上で用いるエンコーディングとして UTF-8 を用いる場合には、
設定ファイルの options セクションの <tt>allow-utf8</tt> パラメータを
次のように指定してください。
<p>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 <tt>allow-utf8</tt> parameter in the configuration file as follows:
<blockquote>
<pre>
options {
...
allow-utf8 yes;
...
};
</pre>
</blockquote>
<p>DNS プロトコル上で用いられるエンコーディングとして RACE 等の
<a href="../spec/library.html#ACE">ASCII 互換エンコーディング</a>
使用する場合には、この設定は不要です。
<p>This setting is not required when RACE or other <a href="../spec/library.html#ACE"> ASCII compatible encoding </a> is used as encoding in a DNS protocol.
<hr>
<h2><a name="resolver">リゾルバ</a></h2>
<h2><a name="resolver">Resolver</a></h2>
<p>bind9 のリゾルバは、bind8 までのものとは全く異なり、
lightweight resolver ライブラリと呼ばれるアプリケーションに
リンクされるライブラリと、lightweight resolver デーモンと呼ばれる
サーバから構成されています。
<p>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.
<p>本パッチを適用することにより、このリゾルバに多言語ドメイン名の
処理機能が加わります。具体的には次のような機能が追加されます。
<p>The use of this patch enables the resolver to handle multilingual domain names. It specifically adds the following functions.
<ul>
<li>多言語ホスト名の指定<br>
リゾルバライブラリが提供する名前解決用の API 関数に対して、
ホスト名引数にローカルエンコーディングで表されたホスト名を指定することが
できるようになります。
ローカルエンコーディングで入力されたこれらのドメイン名は
自動的に DNS プロトコル上で用いられるエンコーディングに変換され、
DNS サーバへの問い合わせが行われます。エンコーディングの変換の際には
同時に正規化も行われます。
<li>Specifying Multilingual host name<br>
It allows the name resolving API function provided by the resolver library to specify host names whose host name argument contains local encoding.
Locally encoded domain names can automatically be converted to the encoding used in a DNS protocol and be used for querying DNS servers.
The encoding is normalized when it is converted.<p>
<li>多言語ドメイン名の返却<br>
リゾルバライブラリが提供する名前解決用の API 関数が、
名前解決結果のデータとしてローカルエンコーディングで表されたホスト名を
返すことができるようになります。
<li>Multilingual domain names returned<br>
The name resolving API function provided by the resolver library can return host names denoted in local encoding as a result of the resolved data.
</ul>
<p>DNS プロトコル上で用いられるエンコーディングや使用する正規化方式の指定は
あらかじめコンフィギュレーションファイルで設定しておきます。
このファイルの設定方法については
<a href="resolvconfig.html">mDNkit リゾルバのコンフィギュレーション</a>
をご覧ください。
<p>The encoding and the normalization scheme to be used in DNS protocol should first be set in the configuration file.
Refer to the <a href="resolvconfig.html">mDNkit resolver configuration </a>
for information on how to set up this file.
<p>以下に、パッチによって多言語化される名前解決用 API 関数の一覧を示します。
多言語化された API 関数は、従来の ASCII ドメイン名に加え、
非 ASCII ドメイン名を扱うことができます。
<p>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.
<ul>
<li>lwres_getaddrinfo()
<li>lwres_getnameinfo()
<li>lwres_gethostbyname()
<li>lwres_gethostbyname2()
<li>lwres_gethostbyname_r()
<li>lwres_gethostbyaddr()
<li>lwres_gethostbyaddr_r()
<li>lwres_getipnodebyname()
<li>lwres_getipnodebyaddr()
</ul>
<p>引数の型や返り値の型に変更はありません。
パッチを当てる前と同様の呼び出し方法で、従来の ASCII ドメイン名と、
非 ASCII ドメイン名の両方を扱うことができます。
<p>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.
<p>本パッチを適用した bind9 リゾルバは
<a href="../spec/library.html">MDN ライブラリ</a> を利用してエンコーディング
変換や正規化を行います。従って bind9 リゾルバを使用したクライアントを
コンパイルする場合、MDN のライブラリ <em>libmdn</em> をリンクする必要が
あります。もしあなたのシステムが <em>iconv()</em> をサポートしていない
場合には、<em>iconv()</em> のライブラリも合わせてリンクする必要があります。
<p>A bind9 resolver with this patch installed utilizes <a href="../spec/library.html">the MDN library</a> for encoding, conversion and normalization. Thus when compiling clients that use the bind9 resolver, the MDN library <em>libmdn</em> must be linked. If your system does not support <em>iconv()</em>, the <em>iconv()</em> library must also be linked.
<p>
<hr>
<h2><a name="dig">dig/host/nslookup</a></h2>
<h2><a name="dig">dig/host/nslookup</a></h2>
<p>bind9 には DNS の問い合わせツールとして dig、host、nslookup という
コマンドが付属します。bind9 パッチを適用することにより、これらはいずれも
多言語ドメイン名が扱えるようになります。具体的には以下の機能が
付加されます。
<p>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.
<ul>
<li>多言語ドメイン名の入力<br>
コマンド引数、あるいは標準入力で、ローカルエンコーディングで
表現された非 ASCII のドメイン名を指定することができるようになります。
ローカルエンコーディングで入力されたこれらのドメイン名は
自動的に DNS プロトコル上で用いられるエンコーディングに変換され、
DNS サーバへの問い合わせが行われます。エンコーディングの変換の際には
同時に正規化も行われます。
<li>Entry of multilingual domain names<br>
Non-ASCII domain names in local encoding can be specified by command arguments and standard input.
Locally encoded domain names are automatically converted to encoding used in a DNS protocol and are used for querying DNS servers.
The encoding is normalized as it is converted.<p>
<li>多言語ドメイン名の表示<br>
DNS サーバからの返答に含まれる多言語ドメイン名がローカルエンコーディングに
変換され、表示されるようになります。
<li>Display of multilingual domain names<br>
Multilingual domain names that are part of a response from a DNS server are converted to local encoding before being displayed.
</ul>
<p>DNS プロトコル上で用いられるエンコーディングや使用する正規化方式の指定は
あらかじめコンフィギュレーションファイルで設定しておきます。
このファイルの設定方法については
<a href="resolvconfig.html">mDNkit リゾルバのコンフィギュレーション</a>
をご覧ください。
<p>The encoding and the normalization scheme to be used in a DNS protocol shoud first be set in the configuration file.
Refer to the <a href="resolvconfig.html">mDNkit resolver configuration </a> for information on how to configure this file.
</body>
</html>
This diff is collapsed.
<!doctype html public "-//IETF//DTD HTML 2.0//EN">
<!-- $Id: clientconfig.html,v 1.1 2001/03/05 12:58:01 tale Exp $ -->
<html>
<head>
<title>Configuring Your Clients</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<h1><a name="clientconfig">クライアント側の設定</a></h1>
<h1><a name="clientconfig"> Client configuration</a></h1>
<p>
DNS Proxy Server (dnsproxy) は、基本的には
多言語ドメイン名に対応していないクライアントから
多言語化対応したDNSサーバを利用できるようにするものです。
<p>
The DNS Proxy Server (dnsproxy) enables clients that basically do not support multilingual domain names the use of multilingual compatible DNS servers.
<blockquote>
ある手法の多言語ドメイン名に対応しているクライアントから
他の手法で多言語化対応したDNSサーバを利用するためにも使用できます。
</blockquote>
<blockquote>
This enables clients that use a specific type of multilingual domain name support procedure to access a DNS server with a different multilingual support procedure.
</blockquote>
<p>
実際にあるクライアントで多言語ドメイン名を使うことができるかどうかは、
そのクライアントがドメイン名をどのように扱うかによります。
クライアントが、ドメイン名を、クライアント側のエンコーディングで
なにもチェック/加工しないで使用しているなら、
dnsproxyを経由することによって、多言語ドメイン名が利用可能になります。
しかし、クライアント側でドメイン名のシンタックスを厳密にチェックしていたり、
ある種の変換を行なっているような場合には、dnsproxyは役に立ちません。
<p>
Whether or not multlingual domain names can be used with a specific client depends on how that client handles domain names.
When a client uses domain names without checking or processing the encoding, multilingual domain names can be used via dnsproxy.
But if the domain name syntax is carefully checked or conversion is performed on the client side, dnsproxy is not useful.
<p>
ここでは、いくつかの代表的なクライアントについて、
dnsproxyによる多言語ドメイン名が使うことができるかどうか、
どうすれば多言語ドメイン名を使うことができるようになるか、
を説明します。
<p>
This document will identify a number of major clients that will allow multilingual domain names when used with dnsproxy or what you have to do to use multilingual domain names.
<p>
<hr>
<h2>UNIXのアプリケーション</h2>
<h2>UNIX applications</h2>
<p>
<h3>resolverの問題</h3>
<h3>resolver problems</h3>
<p>
UNIXの場合、DNSへの要求は、多くの場合resolverを経由して送られます。
しかし、標準的なresolverはnon-ASCIIのドメイン名を受付けません。
この問題に対処するため、mDNkitにはbin8のresolver
(およびnslookup、named)を8-bit throughにするためのパッチが
付属しています。まずは、bind8にこのパッチを適用し、
8-bit throughのresolverを使って再リンクしてください。
詳しくは<a href="install.html">インストールガイド</a>
<a href="install.html#preparation">前準備</a>
<a href="install.html#bind">bind 用パッチの適用とインストール</a>
ご覧ください。
<p>
UNIX often sends DNS queries via a resolver.
The problem is that standard resolvers do not accept non-ASCII domain names.
To cope with this problem, mDNkit is provided with a patch that makes the bind8 resolver (nslookup and named) 8-bit through. First, install this patch in bind8 and use the 8-bit through resolver to relink.
For details, refer to <a href="install.html#preparation">Preparations</a> and <a href="install.html#bind">Applying and Installing the Bind Patch</a> in the <a href="install.html">Installation Guide</a>.
<p>
<h3>nslookup</h3>
<p>
標準的なnslookupはnon-ASCIIのドメイン名を受付けません。
mDNkitのbind8への8-bit throughパッチを適用して作成された
nslookupなら、多言語ドメイン名を使用することが可能になります。
詳しくは<a href="install.html">インストールガイド</a>
<a href="install.html#preparation">前準備</a>
<a href="install.html#bind">bind 用パッチの適用とインストール</a>
ご覧ください。
<p>
Standard inslookup does not support non-ASCII domain names.
nslookup generated by applying the bind8 8-bit through patch in mDNkit can use multilingual domain names.
For details, refer to <a href="install.html#preparation">Preparations</a> and <a href="install.html#bind">Applying and Installing the Bind Patch</a> in the <a href="install.html">Installation Guide</a>.
<h3>Squid</h3>
<p>
Squid経由でWebにアクセスするような場合には、non-ASCII文字を含む
ドメイン名はsquidによってエラーとされます。
mDNkitにはsquidを8-bit through にする
(シンタックスチェックを外す)パッチが含まれています。
これを適用したsquidであれば、多言語ドメイン名を受付けるようになります。
詳しくは<a href="install.html">インストールガイド</a>
<a href="install.html#preparation">前準備</a>
<a href="install.html#squid">squid 用パッチの適用とインストール</a>
ご覧ください。
<p>
When the Web is accessed via Squid, domain names that contain non-ASCII characters generate an error.
mDNkit includes a patch that makes squid 8-bit through (by removing the syntax check).
squid with this patch installed accepts multilingual domain names.
For details, refer to <a href="install.html#preparation">Preparations</a> and <a href="install.html#bind">Applying and Installing the squid Patch</a> in the <a href="install.html">Installation Guide</a>.
<h3>Netscape</h3>
<p>
残念ながら、入力時点でnon-ASCII文字は拒否されてしまいます。
<p>
Unfortunately, non-ASCII characters are rejected when entered.
<p>
<hr>
<h2>Windowsのアプリケーション</h2>
<h2>Windows applications</h2>
<p>
Windowsのresolver(WINSOCK)は、non-ASCIIのドメイン名を通すようです。
クライアント内でのチェック、変換が行なわれなければ問題なく
多言語ドメイン名を使うことができます。通常は
<p>
The Windows resolver (WINSOCK) passes non-ASCII domain names.
So long as no checks or conversions are performed in the client, multilingual domain names can be used without a problem. Usually,
<pre>
client-translation . Shift_JIS
</pre>
とすればOKです。
<p>is OK.
<p>
<h3>nslookup</h3>
<p>
残念ながら、ホスト名の入力時点で、non-ASCII文字を含むホスト名は
拒否されるようです。ls による一覧表示は動作します。
<p>
Unfortunately, domain names that contain non-ASCII characters are rejected upon entry. ls works as usual.
<h3>Netscape Communicator</h3>
<p>
Version 4.7 は問題なく動作しました。
<p>
Version 4.7 works without any problems.
<p>
ただ、HTTPプロキシサーバを使われている場合には、その
プロキシサーバが多言語ドメイン名に対応しているかどうかが
問題になりますのでご注意ください。
<p>However, when an HTTP proxy server is used, operation depends on whether or not that proxy server supports multilingual domain names.
<p>
<h3>Internet Explrore</h3>
<p>
IEには多言語ドメイン名への対応が一部含まれています。
<p>
Some IE features support multilingual domain names.
<pre>
ツール
インターネットオプション
いつもUTF-8としてURLを送信する
</pre>
<pre>
tool
Internet option
URLs are always sent as UTF-8
</pre>
しかし、これを使うと、余分なところまでUTF-8で
エンコードしてしまうようで、dnsproxyでは使用できません。
逆に、これをオフにして、
<br>However, this function encodes more than is required with the result that dnsproxy cannot be used. Instead, turn it off,
<pre>
client-translation . Shift_JIS
</pre>
とすれば、dnsproxy経由で多言語ドメイン名が使えるようになります。
<br>then multilingual domain names can be used via dnsproxy.
<p>
ですが、IEの場合には、webページ内に埋め込まれたURLについては、
そのページのエンコーディングに合わせたエンコーディングに変換して
DNSの問合せを行なうようになっていますので、Shift_JIS以外で
記述されたWebページ上の多言語ドメイン名についてはクエリーが
失敗してしまいます。
<p>
But for URLs embedded in a web page IE converts to encoding that suits the encoding on that page and bases DNS queries on this so entries that use characters other than Shift_JIS fail.
</body>
</html>
<!doctype html public "-//IETF//DTD HTML 2.0//EN">
<!-- $Id: dnsproxy.html,v 1.1 2001/03/05 12:58:01 tale Exp $ -->
<html>
<head>
<title>dnsproxy</title>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
</head>
<body>
<h1>dnsproxy</h1>
<ul>
<li><a href="#overview">概要</a>
<li><a href="#overview">Overview</a>
<li><a href="#setup">設定</a>
<li><a href="#setup">Setup</a>
<li><a href="#usage">使用法</a>
<li><a href="#usage">Usage</a>
<li><a href="#limitation">制限事項</a>
<li><a href="#limitation">Limitations</a>
</ul>
<hr>
<h2><a name="overview">概要</a></h2>
<h2><a name="overview">Overview</a></h2>
<p><b>dnsproxy</b> は文字通り DNS のプロキシサーバとして動作する
プログラムです。クライアントと本物の DNS サーバの間で両者の間の
通信データ (DNS プロトコルメッセージ) の変換を行います。
<p>As the name implies, <b>dnsproxy</b> is a program that operates as a DNS proxy server. It converts communications data (DNS protocol messages) between clients and real DNS servers.
<p>クライアントからローカルエンコードされた多言語ドメイン名を含む
DNS要求を受け取ると、DNSメッセージ中のドメイン名を
多言語化対応したDNS サーバが受付けられる標準エンコーディングに変換し、
DNS サーバに送出します。
エンコーディングの変換と同時に正規化も行います。
また逆に DNS サーバからの応答メッセージを受信すると、その中に
含まれる多言語ドメイン名をクライアント側で認識できるローカル
エンコーディングに変換し、クライアントに返します。
<p>When DNS queries that contain multlingual domain names in local encoding are received from a client, it is converted to standard encoding that can be accepted by a DNS server that supports.
Normalization is performed at the same time as the encoding is converted.
On the other hand, when a response message from a DNS server is received, the multilingual domain names in the message are converted to local encoding that is understood by the client before it is returned to the client.
<p>dnsproxy はこのようなメカニズムによって一般のクライアントが
多言語ドメイン名を扱うことを可能にします。
<p>dnsproxy uses this mechanism to enable regular clients to handle multilingual domain names.
<p>具体的には、
<p>Specifically,
<ul>
<li>日本語など、非 ASCII 文字の入ったホスト名を名前解決できるようになります。
<li>It is possible to resolve host names that contain Japanese and other non-ASCII characters.
<li>非 ASCII 文字の入ったホスト名を名前解決の結果として受け取れるように
なります。
<li>Thus host names containing non-ASCII characters can be received as a result of name resoving.
</ul>
<p>
<hr>
<h2><a name="setup">設定</a></h2>
<h2><a name="setup">Setup</a></h2>
<p>dnsproxy を使用するには、専用のコンフィギュレーションファイルで
使用するエンコーディングや正規化の方法を設定しておく必要があります。
このファイルの設定方法については
<a href="proxyconfig.html">DNS Proxy Server のコンフィギュレーション</a>
をご覧ください。
<p>To use dnsproxy, the encoding and normalization method must be set up using a special configuration file.
Refer to <a href="proxyconfig.html">DNS Proxy Server Configuration</a> for information on how to configure this file.
<p>
<hr>
<h2><a name="usage">使用法</a></h2>
<h2><a name="usage">Usage</a></h2>
<p>dnsproxy を使用するためにはあらかじめ設定が必要です。
<a href="proxyconfig.html">DNS Proxy Server のコンフィギュレーション</a>
をご覧ください。
<p>Use of dnsproxy requires prior setup.
Refer to <a href="proxyconfig.html">DNS Proxy Server Configuration</a>.
<p>dnsproxy は以下のコマンド行オプションを受け付けます。
<p>dnsproxy accepts the following command line options.
<dl>
<dt><tt>-daemon</tt>
<dd>dnsproxy をデーモンとして起動します。
<dd>Starts up dnsproxy as a daemon.
<dt><tt>-config </tt><em>config-file</em>
<dd><em>config-file</em> をコンフィギュレーションファイルとして使用します。
このオプションを指定しなかった場合にはデフォルトのコンフィギュレーション
ファイル (通常は <tt>/usr/local/etc/dnsproxy.conf</tt>) が使用されます。
<dd>Uses <em>config-file</em> as a configuration file.
When this option is not specified, the default configuration file (usually, <tt>/usr/local/etc/dnsproxy.conf</tt>) is used.
<dt><tt>-logfile </tt><em>log-file</em>
<dd>ログをファイル <em>log-file</em> に出力します。このオプションが
指定されなかった場合にはコンフィギュレーションファイルで指定された
ログファイル、またはデフォルトのログファイルに出力されます。
<dd>Outputs the log to <em>log-file</em>. When this option is not specified, the log is output to the file specified by the configuration file or to the default log file.
</dl>
<hr>
<h2><a name="limitation">制限事項</a></h2>
<h2><a name="limitation">Limitations</a></h2>
<p>dnsproxy は、エンコーディング変換や正規化の機能を持たない
一般のクライアントが多言語ドメイン名を扱うことを可能にします。
クライアントではローカルコードで記述されたドメイン名を、
そのまま多言語ドメイン名として使うことができるようになります。
<p>dnsproxy enables ordinary clients without encoding conversion and normalization functions to handle multilingual domain names.
Clients can use domain names in local codes as multilingual domain names.
<p>しかしそれにはクライアントがドメイン名に対して独自のチェックや変換を
行なっていなければ、という前提条件があります。
問題はこの点にあり、
クライアントによっては、ドメイン名のシンタックスを厳密にチェックしていたり、
独自の手法で部分的に多言語化していたりするものがあります。
このようなクライアントであれば、dnsproxyを使っても
多言語ドメイン名を使うことはできません。
<p>However, this is on condition that the client does not check or convert the domain names.
This is a problem since some clients make strict checks of domain name syntax or use proprietary methods to perform partial multilingual encoding.
Multilingual domain names cannot be handled by such clients through dnsproxy.
<p>UNIXの場合は、DNSへの要求は通常リゾルバライブラリを経由して送られますが、
既存のリゾルバはドメイン名のシンタックスをチェックしていて、
ドメイン名にnon-ASCIIコードが含まれているとエラーとして
はじかれてしまいます。
この問題に対処するために、mDNkitには、bind8付属のリゾルバライブラリを
8ビット透過にするためのパッチが付属しています。このパッチを適用した
リゾルバライブラリを組み込めば、クライアントからのローカルコードによる
多言語ドメイン名がdnsproxyに渡されて、多言語化DNSサーバと組み合わせて
使用することができるようになります。
Windowsの場合には、リゾルバ(WINSOCK)は8ビット透過になっていますので、
この問題はありません。