From 47aac1da4b0db2aff723e36654577e34847649fc Mon Sep 17 00:00:00 2001 From: David Lawrence Date: Mon, 5 Mar 2001 12:58:09 +0000 Subject: [PATCH] documentation for mdnkit --- contrib/idn/mdnkit/doc/LICENSE.txt | 55 + contrib/idn/mdnkit/doc/en/guide/bind9.html | 233 ++ .../idn/mdnkit/doc/en/guide/bindconfig.html | 403 +++ .../idn/mdnkit/doc/en/guide/clientconfig.html | 182 + contrib/idn/mdnkit/doc/en/guide/dnsproxy.html | 158 + contrib/idn/mdnkit/doc/en/guide/guide.html | 441 +++ contrib/idn/mdnkit/doc/en/guide/install.html | 649 ++++ .../idn/mdnkit/doc/en/guide/proxyconfig.html | 389 ++ .../idn/mdnkit/doc/en/guide/reference.html | 194 + .../idn/mdnkit/doc/en/guide/resolvconfig.html | 328 ++ contrib/idn/mdnkit/doc/en/guide/runmdn.html | 103 + contrib/idn/mdnkit/doc/en/guide/wrapper.html | 491 +++ contrib/idn/mdnkit/doc/en/spec/bind9.html | 641 ++++ .../idn/mdnkit/doc/en/spec/clientconfig.html | 401 +++ contrib/idn/mdnkit/doc/en/spec/dnsproxy.html | 497 +++ contrib/idn/mdnkit/doc/en/spec/index.html | 71 + contrib/idn/mdnkit/doc/en/spec/library.html | 3135 +++++++++++++++++ contrib/idn/mdnkit/doc/en/spec/mdnconv.html | 287 ++ contrib/idn/mdnkit/doc/en/spec/runmdn.html | 165 + contrib/idn/mdnkit/doc/en/spec/spec.html | 181 + contrib/idn/mdnkit/doc/en/spec/wrapper.html | 728 ++++ contrib/idn/mdnkit/doc/index.html | 24 + contrib/idn/mdnkit/doc/ja/guide/bind9.html | 176 + .../idn/mdnkit/doc/ja/guide/bindconfig.html | 322 ++ .../idn/mdnkit/doc/ja/guide/clientconfig.html | 130 + contrib/idn/mdnkit/doc/ja/guide/dnsproxy.html | 122 + contrib/idn/mdnkit/doc/ja/guide/guide.html | 320 ++ .../idn/mdnkit/doc/ja/guide/img/dnsproxy.jpg | Bin 0 -> 24235 bytes .../idn/mdnkit/doc/ja/guide/img/mdnconv.jpg | Bin 0 -> 18734 bytes .../mdnkit/doc/ja/guide/img/method_bind9.jpg | Bin 0 -> 18873 bytes .../mdnkit/doc/ja/guide/img/method_named.jpg | Bin 0 -> 14311 bytes .../mdnkit/doc/ja/guide/img/method_proxy.jpg | Bin 0 -> 20114 bytes .../doc/ja/guide/img/method_resolver.jpg | Bin 0 -> 14425 bytes .../mdnkit/doc/ja/guide/img/method_runmdn.jpg | Bin 0 -> 20995 bytes .../doc/ja/guide/img/method_wrapper.jpg | Bin 0 -> 14693 bytes .../doc/ja/guide/img/wrapper_config1.jpg | Bin 0 -> 15783 bytes .../doc/ja/guide/img/wrapper_config2.jpg | Bin 0 -> 20918 bytes .../doc/ja/guide/img/wrapper_config3.jpg | Bin 0 -> 36290 bytes .../doc/ja/guide/img/wrapper_config4.jpg | Bin 0 -> 22510 bytes .../doc/ja/guide/img/wrapper_config5.jpg | Bin 0 -> 18183 bytes .../doc/ja/guide/img/wrapper_config6.jpg | Bin 0 -> 27773 bytes .../doc/ja/guide/img/wrapper_config7.jpg | Bin 0 -> 19159 bytes .../doc/ja/guide/img/wrapper_config8.jpg | Bin 0 -> 25806 bytes .../doc/ja/guide/img/wrapper_config9.jpg | Bin 0 -> 38239 bytes contrib/idn/mdnkit/doc/ja/guide/install.html | 614 ++++ .../idn/mdnkit/doc/ja/guide/proxyconfig.html | 332 ++ .../idn/mdnkit/doc/ja/guide/reference.html | 183 + .../idn/mdnkit/doc/ja/guide/resolvconfig.html | 294 ++ contrib/idn/mdnkit/doc/ja/guide/runmdn.html | 111 + contrib/idn/mdnkit/doc/ja/guide/wrapper.html | 412 +++ contrib/idn/mdnkit/doc/ja/index.html | 42 + contrib/idn/mdnkit/doc/ja/spec/bind9.html | 476 +++ .../idn/mdnkit/doc/ja/spec/clientconfig.html | 281 ++ contrib/idn/mdnkit/doc/ja/spec/dnsproxy.html | 379 ++ .../idn/mdnkit/doc/ja/spec/img/bind9_arch.jpg | Bin 0 -> 38313 bytes .../idn/mdnkit/doc/ja/spec/img/components.jpg | Bin 0 -> 48119 bytes .../mdnkit/doc/ja/spec/img/components2.jpg | Bin 0 -> 40075 bytes .../doc/ja/spec/img/libmdn_callgraph.jpg | Bin 0 -> 44317 bytes .../idn/mdnkit/doc/ja/spec/img/translator.jpg | Bin 0 -> 49308 bytes .../idn/mdnkit/doc/ja/spec/img/winsock1.jpg | Bin 0 -> 5067 bytes .../idn/mdnkit/doc/ja/spec/img/winsock2.jpg | Bin 0 -> 8253 bytes .../idn/mdnkit/doc/ja/spec/img/wrapper.jpg | Bin 0 -> 11992 bytes contrib/idn/mdnkit/doc/ja/spec/library.html | 2573 ++++++++++++++ contrib/idn/mdnkit/doc/ja/spec/mdnconv.html | 218 ++ contrib/idn/mdnkit/doc/ja/spec/runmdn.html | 127 + contrib/idn/mdnkit/doc/ja/spec/spec.html | 136 + contrib/idn/mdnkit/doc/ja/spec/wrapper.html | 518 +++ 67 files changed, 17522 insertions(+) create mode 100644 contrib/idn/mdnkit/doc/LICENSE.txt create mode 100644 contrib/idn/mdnkit/doc/en/guide/bind9.html create mode 100644 contrib/idn/mdnkit/doc/en/guide/bindconfig.html create mode 100644 contrib/idn/mdnkit/doc/en/guide/clientconfig.html create mode 100644 contrib/idn/mdnkit/doc/en/guide/dnsproxy.html create mode 100644 contrib/idn/mdnkit/doc/en/guide/guide.html create mode 100644 contrib/idn/mdnkit/doc/en/guide/install.html create mode 100644 contrib/idn/mdnkit/doc/en/guide/proxyconfig.html create mode 100644 contrib/idn/mdnkit/doc/en/guide/reference.html create mode 100644 contrib/idn/mdnkit/doc/en/guide/resolvconfig.html create mode 100644 contrib/idn/mdnkit/doc/en/guide/runmdn.html create mode 100644 contrib/idn/mdnkit/doc/en/guide/wrapper.html create mode 100644 contrib/idn/mdnkit/doc/en/spec/bind9.html create mode 100644 contrib/idn/mdnkit/doc/en/spec/clientconfig.html create mode 100644 contrib/idn/mdnkit/doc/en/spec/dnsproxy.html create mode 100644 contrib/idn/mdnkit/doc/en/spec/index.html create mode 100644 contrib/idn/mdnkit/doc/en/spec/library.html create mode 100644 contrib/idn/mdnkit/doc/en/spec/mdnconv.html create mode 100644 contrib/idn/mdnkit/doc/en/spec/runmdn.html create mode 100644 contrib/idn/mdnkit/doc/en/spec/spec.html create mode 100644 contrib/idn/mdnkit/doc/en/spec/wrapper.html create mode 100644 contrib/idn/mdnkit/doc/index.html create mode 100644 contrib/idn/mdnkit/doc/ja/guide/bind9.html create mode 100644 contrib/idn/mdnkit/doc/ja/guide/bindconfig.html create mode 100644 contrib/idn/mdnkit/doc/ja/guide/clientconfig.html create mode 100644 contrib/idn/mdnkit/doc/ja/guide/dnsproxy.html create mode 100644 contrib/idn/mdnkit/doc/ja/guide/guide.html create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/dnsproxy.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/mdnconv.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/method_bind9.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/method_named.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/method_proxy.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/method_resolver.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/method_runmdn.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/method_wrapper.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/wrapper_config1.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/wrapper_config2.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/wrapper_config3.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/wrapper_config4.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/wrapper_config5.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/wrapper_config6.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/wrapper_config7.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/wrapper_config8.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/img/wrapper_config9.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/guide/install.html create mode 100644 contrib/idn/mdnkit/doc/ja/guide/proxyconfig.html create mode 100644 contrib/idn/mdnkit/doc/ja/guide/reference.html create mode 100644 contrib/idn/mdnkit/doc/ja/guide/resolvconfig.html create mode 100644 contrib/idn/mdnkit/doc/ja/guide/runmdn.html create mode 100644 contrib/idn/mdnkit/doc/ja/guide/wrapper.html create mode 100644 contrib/idn/mdnkit/doc/ja/index.html create mode 100644 contrib/idn/mdnkit/doc/ja/spec/bind9.html create mode 100644 contrib/idn/mdnkit/doc/ja/spec/clientconfig.html create mode 100644 contrib/idn/mdnkit/doc/ja/spec/dnsproxy.html create mode 100644 contrib/idn/mdnkit/doc/ja/spec/img/bind9_arch.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/spec/img/components.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/spec/img/components2.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/spec/img/libmdn_callgraph.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/spec/img/translator.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/spec/img/winsock1.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/spec/img/winsock2.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/spec/img/wrapper.jpg create mode 100644 contrib/idn/mdnkit/doc/ja/spec/library.html create mode 100644 contrib/idn/mdnkit/doc/ja/spec/mdnconv.html create mode 100644 contrib/idn/mdnkit/doc/ja/spec/runmdn.html create mode 100644 contrib/idn/mdnkit/doc/ja/spec/spec.html create mode 100644 contrib/idn/mdnkit/doc/ja/spec/wrapper.html diff --git a/contrib/idn/mdnkit/doc/LICENSE.txt b/contrib/idn/mdnkit/doc/LICENSE.txt new file mode 100644 index 0000000000..0e33381338 --- /dev/null +++ b/contrib/idn/mdnkit/doc/LICENSE.txt @@ -0,0 +1,55 @@ +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. diff --git a/contrib/idn/mdnkit/doc/en/guide/bind9.html b/contrib/idn/mdnkit/doc/en/guide/bind9.html new file mode 100644 index 0000000000..c47b82f3fd --- /dev/null +++ b/contrib/idn/mdnkit/doc/en/guide/bind9.html @@ -0,0 +1,233 @@ + + + + + +bind9 patch + + + + +

bind9 パッチ

+

bind9 patch

+ + + +
+

概要

+

Overview

+ +

+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. + +

+ +


+

named

+

named

+ +

このパッチの適用により、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. + +


+

リゾルバ

+

Resolver

+ +

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. + +

+ +


+

dig/host/nslookup

+

dig/host/nslookup

+ +

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. + + + diff --git a/contrib/idn/mdnkit/doc/en/guide/bindconfig.html b/contrib/idn/mdnkit/doc/en/guide/bindconfig.html new file mode 100644 index 0000000000..9822165caf --- /dev/null +++ b/contrib/idn/mdnkit/doc/en/guide/bindconfig.html @@ -0,0 +1,403 @@ + + + + + +mDNkit BIND configuration guide + + + + + +

DNSサーバの設定

+

DNS server setup

+ +

DNSサーバにて多言語ドメイン名を扱うための設定方法について +解説します。とはいっても従来の ASCII ドメイン名の場合の設定方法と +大きく変わるわけではありません。注意すべき点は次の2点だけです。 +

This document describes how to configure a DNS server to enable handling of multilingual domain names. This configuration procedure does not differ greatly from that used for configuring ASCII domain names. However, two points have to be borne in mind. +

+ +

DNSサーバの設定の手順は、およそ以下の通りです。 +

Configure a DNS server according to the following procedure. + +

    +
  1. エンコーディング・正規化方式を決める。 +
    Determine the encoding and normalization scheme. +
  2. DNS サーバを用意する。 +
    Set a DNS server. +
  3. named.conf、ゾーンマスタファイルを作成する。 +
    Create named.conf, a zone master file. +
+ +

最後のファイル作成に関しては、エンコーディングとして UTF-5 を +使用したときに特有の問題があり、これを +

When UTF-5 is used for encoding during file generation, the last item, specific problems occur. These problems are discussed in the following section. +

+としてまとめてあります。 + +

設定で使用するエンコーディング変換ツール mdnconv の外部仕様 +および内部処理の詳細に関しては、 +mdnconv の仕様書をご覧ください。 +

For information on external specifications and internal processing of mdnconv, the encoding conversion tool, used in the setup, refer to the mdnconv specifications. + +

また、クライアントからこれらの DNS サーバにアクセスするためには、 +多言語ドメイン名用パッチを当てた bind9、 +runmdn コマンド、 +mDN Wrapper などを使用してクライアント側で +エンコーディング変換や正規化を行うか、あるいは +エンコーディング変換を行うプロキシサーバである dnsproxy を通す必要があります。 +dnsproxy の設定については +DNS Proxy Server のコンフィギュレーションで説明します。 +

To enable the client to access these DNS servers, encoding, conversion and normalization using bind9 with a multilingual domain name patch installed、the runmdn command、the mDN Wrapper or similar tool must be used on the client side or access has to be made via dnsproxy, a proxy server that performs encoding and conversion. +dnsproxy configuration is described in DNS Proxy Server configuration. + +

+ +


+ +

エンコーディング・正規化方式の決定

+

Determining Encoding and Normalization Scheme

+ +

まず DNS の設定に先だって、DNS サーバで使用するドメイン名の +エンコーディングおよび正規化方式を決める必要があります。 +

The encoding and normalization scheme to be used for a DNS server must be determined prior to DNS setup. + +

評価しようとする DNS の多言語化方式が決まっていれば、 +その方式に合わせることになります。 +現在提案されている方式の中から、使用するエンコーディング・正規化を +いくつか紹介します。これ以外の方式も多数提案されています。詳しくは +参考文献をご覧ください。 +

Encoding scheme should be selected to suit a DNS multilingual system to be assessed. +The following are some of the currently proposed encoding and normalization schemes. Various other systems are also being proposed. For details, see +reference document. + +

+ +

エンコーディングとして UTF-5 を採用した場合には、 +ZLD (zero level domain) を付けることで従来のドメイン名と区別する必要が +あります。したがって ZLD を何にするかも決定する必要があります。 +

When UTF-5 encoding is employed, it is essential to distinguish it from traditional domain names by adding ZLD (zero level domain). Consequently, it is necessary to determine which type of ZLD is to be used.★ZLD を何にするか★ + +

その他 mDNkit がサポートしているエンコーディング・正規化方式については +MDN ライブラリの仕様を参照してください。 +

Refer to the MDN library specifications for information on other encoding and normalization schemes supported by the mDNkit. +

+ +

もちろん、1台の DNS サーバに複数のエンコーディングを持たせることも可能 +です。この場合はゾーン毎に異なるエンコーディングを割り当てることになる +でしょう。ただし mDNkit を用いて多言語ドメイン名の扱いを可能にした +クライアントや dnsproxy は DNS サーバ側のエンコーディングが単一である +ことを仮定しているので、例えば dnsproxy の場合にはエンコーディング毎に +複数の dnsproxy を起動するなどのテクニックが必要です。 +

Of course, multiple types of encoding schemes can be employed for one DNS server.In such a case, a different type of encoding would be assigned to each zone. However, a client or dnsproxy enabled to support multilingual domain names through mDNkit assumes that a DNS server employs a single encoding scheme. Such techniques that start up multiple dnsproxies to handle all encodings would have to be used for dnsproxy. + +

+ +


+ +

DNS サーバの用意

+

Setting up a DNS server

+ +

エンコーディングとして ASCII 互換エンコーディング (ACE: ASCII Compatible +Encoding) である RACE、UTF-5 を用いる場合には、エンコード結果は従来の +ホスト名として正当な文字列になるので、現在使用中の DNS サーバをそのまま +使うことができます。しかし ASCII 互換エンコーディング以外のエンコーディング、 +特に UTF-8 を用いる場合には、多言語ドメイン処理を付加するパッチを当てた +bind9 の DNS サーバ (named) を使用するか、 +8ビットスルーパッチを当てた bind8 の DNS サーバを用意する必要があります。 +

When ASCII compatible encoding (ACE: ASCII Compatible Encoding) such as RACE or UTF-5 is used, the encoding results legal characters in traditional host names and allow use of current DNS servers. +However, the other encoding schemes, especially UTF-8, requires the use of a bind9 DNS server (named) with a multilingual domain patch installed, or a bind8 DNS server with an 8-bit through patch installed. + +

それぞれのパッチの当て方およびインストールの方法については +bind9 用パッチの適用とインストール および +bind8 用パッチの適用とインストール を +ご覧ください。 +

For information on procedures for adding or installing these patches, refer to Adding and installing bind9 patch and +Adding and installing bind8 patch. + +

+ +


+ +

named.conf、ゾーンマスタファイルの作成

+

Creating named.conf and a zone master file

+ +

named.conf やゾーンマスタファイル書き方自体は、 +多言語ドメイン名と従来のドメイン名で変わるところはありません。 +単にドメイン名に漢字などを含めることができるかどうかだけの違いです。 +

The writing of named.conf and zone master files for multilingual domain names does not differ from those of traditional domain names. +The only difference is that the domain names contain kanji or other non-ASCII characters. + +

DNS サーバ自体にエンコーディング変換機能は備わっていないので、 +DNS の読み込む named.conf ファイルやゾーンマスタファイルの +エンコーディングはエンコーディング・正規化方式の決定で +決定したエンコーディングに合わせる必要があります。 +mdnconv はこのような目的のために設計されたコード変換ツールです。 +

Since the DNS server does not contain the encoding coversion function, the encoding of the named.conf file and zone master file read by DNS must be adjusted to encoding determined by the encoding and normalization scheme. +mdnconv is the code conversion tool designed to solve this problem. + +

RACE や UTF-5 なら、ASCII 文字が編集できるエディタがあれば直接入力 +することも可能ですが、例えば「こんにちは.世界.」と入力する代わりに +bq--gbjzg23bn4.bq--3bhbm5km. +などといった暗号のような文字列を (しかも正確に) 入力しなければならず、 +変換ツールを使用するほうがはるかにに簡単です。 +

Although an ASCII character editor allows direct entries with RACE and UTF-5, you would be forced to accurately enter code strings such as bq--gbjzg23bn4.bq--3bhbm5km. for 「こんにちは.世界.」. Thus the conversion tool radically simplifies the character entry task. + +

UTF-8 ならばエディタによっては直接編集可能なものがあるので、それを +使うこともできます。しかしそのエディタも正規化までは多分してくれない +でしょうから、やはりツールでエンコーディング変換することをお勧めします。 +

Editors that allow direct editing with UTF-8 can also be used. +However, since such editors will probably not support normalization; encoding conversion is again the recommended procedure. + +

例えば次のようなコマンドを実行すると EUC-JP で書かれたゾーンマスタファイル +db.somezone.euc を RACE エンコーディングの db.somezone.race +に変換し、同時に Unicode Normalization Form C による正規化を適用する +ことができます。 +

For example when the following command is executed, the db.somezone.euc zone master file is converted to db.somezone.race RACE encoding and is simultaneously normalized according to Unicode Normalization Form C. + +

+
+% mdnconv -noconf -in EUC-JP -out RACE -normalize unicode-form-c \
+	db.foo.euc > db.foo.race
+
+
+ +

-in オプションで入力テキストのエンコーディングを、 +-out で出力テキストのエンコーディングを、 +そして -normalize で正規化方式を指定します。 +オプションの一覧とどのような値が指定できるかについては、 +mdnconv の仕様書をご覧ください。 +

-in option specifies encoding of input text, -out specifies output text encoding and -normalize specifies the normalization scheme.Refer to mdnconv specifications for a list of options and other values. + +

ではこの逆に RACE エンコーディングから EUC-JP への変換ができるかというと、 +RACE エンコーディングの場合には可能です。ただしこれは mdnconv が +RACE エンコーディング専用の特別な処理を備えているためで、 +一般的には ASCII 互換エンコーディングからローカルエンコーディングへの変換は +できないということを覚えておいてください。 +これは、入力された文字列の中で ASCII 互換エンコーディングを用いて +表記されている個所とそうでない通常の ASCII 表記の場所を区別できないからです。 +これについては mdnconv の仕様書の +変換処理の詳細を参照してください。 +

RACE encoding also allows you to do the opposite; to convert from RACE encoding to EUC-JP encoding. But note that this is only because mdnconv is provided with RACE encoding specific processing; normally, it is not possible to convert from ASCII compatible encoding to local encoding. The reason is that it is not possible to distinguish between characters denoted in ASCII compatible encoding and those that use normal ASCII encoding in entered character strings. +Refer to the conversion information, the mdnconv specifications, for details. + +

以上のことから、ゾーンマスタファイル等 DNS サーバが読み込むファイル +の作成と管理には次のような方法をとるのがよいと考えられます。 +まずローカルエンコーディングを用いて記述した版を用意して、これに対して +編集やバージョン管理を行います。 +そして mdnconv を用いてエンコーディング変換と正規化を行い、 +DNS サーバの使用するエンコーディング版のファイルを生成して、これを +DNS サーバが読み込むためのファイルとして使用します。 +

Consequently, the following procedure should be adhered to in creating and maintaining zone master files and other files that are to be read by a DNS server.First, create a file version in local encoding that is edited under version control. +Then use mdnconv to convert encoding and normalize the file to generate a file with the encoding employed by a DNS server and use it as the file the DNS server will read. + +

とはいってもローカルエンコーディング版のファイルを改訂するたびに +mdnconv を実行してサーバエンコーディング版のファイルを作るのは面倒です。 +この場合例えば make コマンドを使用すれば変換を自動化することができます。 +

However, executing mdnconv each time a locally encoded file has to be converted to a server encoded file is time-consuming. +In this situation, use the make command to automate conversion. + +

例えばローカルエンコーディング版のファイル名にサフィックス .lc、 +UTF-8 エンコーディング版にサフィックス .utf8、 +RACE エンコーディング版にサフィックス .race をつけるとします。 +すると次のような Makefile を書くことにより、ローカルエンコーディング版を +更新したら make を実行するだけで変換を自動的に行うことができます。 +

For example, let's assume that a file in local encoding has the suffix .lc, a UTF-8 encoding file the suffix .utf8 and a RACE encoding version file the suffix tt>.race. +Then the following type of Makefile could be written to allow automatic conversion using make when a file in local encoding is updated. + +

+
+.SUFFIXES: .lc .utf8 .race
+
+.lc.utf8:
+	mdnconv -in $(LOCALCODE) -out UTF-8 $(NORMALIZE) $< > $@
+.lc.race:
+	mdnconv -in $(LOCALCODE) -out RACE $(NORMALIZE) $< > $@
+
+LOCALCODE = EUC-JP
+NORMALIZE = -normalize unicode-form-c -normalize unicode-lowercase
+
+TARGETS = db.foo.utf8 db.bar.race
+
+all: $(TARGETS)
+
+
+ +

1つの DNS サーバに異なるエンコーディングの複数のゾーンのマスタを +させようとした場合、named.conf に複数のエンコーディングを +混在させなくてはならない状況になることがあります。残念ながらこれは +mdnconv では無理なので、include ディレクティブ等を使って +ファイルを分割し、1つのファイルに複数のエンコーディングが +混在しないようにしてください。 +

When multiple zone master files with different encoding schemes are attempted in a single DNS server, it may be necessary to include multiple encoding schemes in named.conf. Unfortunately, this cannot be handled with mdnconv so the include directive or similar command must be used to split the file so that each file does not contain multiple encoding schemes. + +

最後にもう1つ、UTF-5 特有の問題について説明します。 +

Finally, we will discuss UTF-5 specific problems. + +

+ +


+ +

UTF-5 特有の問題

+

UTF-5 specific problems

+ +

DNS サーバで使用するドメイン名のエンコーディングを UTF-5 にした場合には +いくつかの問題が生じます。 +

A number of problems occur when UTF-5 encoding is used as the domain name encoding of a DNS server. + +

+ +

ZLD の指定

+

ZLD specification

+ +

UTF-5 は ASCII 互換エンコーディングの一つなので、UTF-5 でエンコードされた +ドメイン名はそのままでは従来の ASCII のドメイン名と区別できません。 +同じく ASCII 互換エンコーディングの一つである RACE では、ドメイン名の +各ラベルの先頭に特定のプリフィックス (bq--) をつけることによって +従来のドメイン名と (一応) 識別できるのですが、 +UTF-5 にはこのような機構がないため、ZLD という概念を使用して従来のドメイン +名との識別を可能にしています。 +

+Since UTF-5 is an ASCII compatible encoding scheme, domain names encoded in UTF-5 cannot be distinguished from regular ASCII domain names. +By contrast, RACE, another ASCII compatible encoding scheme, appends (bq--), a prefix, to the beginning of each domain name label to allow differentiation from traditional domain names. But since UTF-5 does not have this feature a concept called ZLD is used to identify traditional domain names. + +

ZLD (zero level domain) とはドメイン名の最後につける +トップレベルドメインのことで、例えば utf5. という +トップレベルドメインを作り、 +UTF-5 エンコーディングのドメイン名はすべてこのドメインのサブドメインとする +ことで、従来のドメイン名との区別を可能にします。実際には このトップレベル +ドメインはローカルエンコーディングから UTF-5 エンコーディングへの変換を行う +場所 (現在の mDNkit では dnsproxy) で自動的に付加され、また UTF-5 から +ローカルエンコーディングに戻すときに自動的に除去されるので +アプリケーションにはこのドメインは見えません。アプリケーションにとっての +トップレベルドメインよりさらに上位ドメインに位置するので zero level domain +なわけです。もちろん DNS サーバからは ZLD は隠されておらず、したがって +DNS サーバの設定では ZLD を意識しなければなりません。 +

ZLD (zero level domain) is the top level domain appended at the end of a domain name. For example, when a utf5. top level domain is created, all UTF-5 encoded domain names can be made the subdomains of this top level domain making it possible to distinguish them from traditional domain names. +Since this top level domain is automatically added to the area (dnsproxy in current mDNkit) where conversion from local encoding to UTF-5 encoding takes place and is automatically deleted when coding is returned from UTF-5 to local encoding, the application does not see this level. +The top level domain to an application is at a still higher level, hence the name zero level domain. ZLD is of course visible to a DNS server, so DNS server settings must take ZLD into account. + +

さて、このように UTF-5 エンコーディングでは ZLD が必須ですが、 +mdnconv によるローカルエンコーディングから UTF-5 エンコーディングへの変換 +の際には、ドメイン名の ZLD の部分とそうでない部分を明確に区別する +必要があります。例えば www.ニック.日本.utf5. というドメイン名を +UTF-5 に変換すると N7N7N7.J0CBJ0C3J0AF.M5E5M72C.utf5 となります +(ただし ZLD は utf5. だとします)。先頭の www は +UTF-5 に変換しますが、ZLD 部分は変換しません。このため mdnconv は +ZLD がなんであるかをあらかじめ知っておく必要があります。このために +-zld というオプションが用意されています。 +このオプションは、ゾーンマスタファイル等に書かれたドメイン名が +指定された ZLD にマッチした時に、マッチした部分を出力エンコーディングへの +変換対象から外すという働きをします。ただしドメイン名と ZLD がマッチするのは +

Thus ZLD is required in UTF-5 encoding, whereas conversion from local encoding to UTF-5 encoding using mdncon requires that the ZLD part of the domain name is distinguished from other parts. +For example when the domain name www.ニック.日本.utf5. is converted to UTF-5, it beccomes N7N7N7.J0CBJ0C3J0AF.M5E5M72C.utf5 (but ZLD is utf5.). +Thus mdnconv must know what ZLD is. The option -zld is provided for this reason. +When a domain name written in a zone master file or other file matches a specified ZLD, this option removes the matching portion from conversion to output encoding.★マッチした部分を出力エンコーディングへの変換対象から外すという働きをします★ +The conditions for a domain name and ZLD match are as follows: +

    +
  1. ドメイン名の最後がピリオドで終わっていること +
    The domain name ends in a period +
  2. ZLD がドメイン名の最後の部分と一致していること +
    ZLD matches the last part of the domain name +
+という条件を満たしているときだけです。例えば ZLD が utf5. だとすると +ZLD とマッチするのは次に示す3つのドメイン名の中で最初のものだけです。 +
For example if ZLD is utf5., only the first of the following three domain names matches ZLD. +
+
+www.ニック.日本.utf5.
+www.ニック.日本
+utf5.ニック.日本.
+
+
+ +

さらに mdnconv の -auto オプション +を併用するとある程度 ZLD を自動付加させることができ、 +この場合ゾーンマスタファイルにいちいち ZLD を書く必要がなくなります。 +ただし確実に付加できるわけではないので、このオプションには頼らない方が +よいでしょう。 +

Also, if used with the mdnconv option -auto, ZLD is often automatically added in which case there is no need to write ZLD in each zone master file. +However, as addition of this option is not guaranteed, it may be best not to rely on it. + +

+ +

単独で出現する ASCII ラベル

+

Single ASCII labels

+ +

mdnconv は、デフォルトでは非 ASCII 文字を1文字以上含むドメイン名のみを +出力エンコーディングに変換します。つまり ASCII のみからなるドメイン名は +変換しません。これは従来の ASCII ドメイン名と多言語ドメイン名を混在させた +時に、ASCII ドメイン名までが UTF-5 などに変換されてしまうのを防ぐための +処置です。 +

By default, mdnconv converts to output encoding only domain names that contain two or more non-ASCII characters. Consequently, it does not convert domain names that are entirely made up of ASCII characters. This is to prevent ASCII domain names from being converted to UTF-5 when there are both ASCII domain names and multilingual domain names. + +

ところが多言語ドメイン名の中に ASCII 文字のみから構成されるラベルが +ある場合、それが単独でゾーンマスタファイルに出現するとこの処置のために +そのラベルが UTF-5 に変換されないという問題が生じます。 +例えばドメイン名 www.ニック.日本.utf5. の A レコードを +ゾーンマスタファイルに記述するときに、次のように書いてしまうと +www の部分が UTF-5 に変換されません。 +

However, this gives rise to the following problem. A label containing only ASCII characters in a multilingual domain name that occurs independently in the zone master file is not converted to UTF-5. For example when the A record of the domain name www.ニック.日本.utf5. is denoted in the zone master file as shown below the www part is not converted to UTF-5. +

+
+$ORIGIN ニック.日本.utf5.
+...
+www	IN A 10.9.8.7
+
+
+ +

このような場合、FQDN で記述するなどして、非 ASCII 文字が含まれる +ようにしてやる必要があります。 +

In this case, use FQDN, for example, to add non-ASCII characters. + + + diff --git a/contrib/idn/mdnkit/doc/en/guide/clientconfig.html b/contrib/idn/mdnkit/doc/en/guide/clientconfig.html new file mode 100644 index 0000000000..31c4deeab4 --- /dev/null +++ b/contrib/idn/mdnkit/doc/en/guide/clientconfig.html @@ -0,0 +1,182 @@ + + + + +Configuring Your Clients + + + + +

クライアント側の設定

+

Client configuration

+

+DNS Proxy Server (dnsproxy) は、基本的には +多言語ドメイン名に対応していないクライアントから +多言語化対応したDNSサーバを利用できるようにするものです。 +

+The DNS Proxy Server (dnsproxy) enables clients that basically do not support multilingual domain names the use of multilingual compatible DNS servers. +

+ある手法の多言語ドメイン名に対応しているクライアントから +他の手法で多言語化対応したDNSサーバを利用するためにも使用できます。 +
+
+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. +
+

+実際にあるクライアントで多言語ドメイン名を使うことができるかどうかは、 +そのクライアントがドメイン名をどのように扱うかによります。 +クライアントが、ドメイン名を、クライアント側のエンコーディングで +なにもチェック/加工しないで使用しているなら、 +dnsproxyを経由することによって、多言語ドメイン名が利用可能になります。 +しかし、クライアント側でドメイン名のシンタックスを厳密にチェックしていたり、 +ある種の変換を行なっているような場合には、dnsproxyは役に立ちません。 +

+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. +

+ここでは、いくつかの代表的なクライアントについて、 +dnsproxyによる多言語ドメイン名が使うことができるかどうか、 +どうすれば多言語ドメイン名を使うことができるようになるか、 +を説明します。 +

+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. +

+ +


+ +

UNIXのアプリケーション

+

UNIX applications

+

+ +

resolverの問題

+

resolver problems

+

+UNIXの場合、DNSへの要求は、多くの場合resolverを経由して送られます。 +しかし、標準的なresolverはnon-ASCIIのドメイン名を受付けません。 +この問題に対処するため、mDNkitにはbin8のresolver +(およびnslookup、named)を8-bit throughにするためのパッチが +付属しています。まずは、bind8にこのパッチを適用し、 +8-bit throughのresolverを使って再リンクしてください。 +詳しくはインストールガイドの +前準備、 +bind 用パッチの適用とインストールを +ご覧ください。 +

+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 Preparations and Applying and Installing the Bind Patch in the Installation Guide. +

+ +

nslookup

+

+標準的なnslookupはnon-ASCIIのドメイン名を受付けません。 +mDNkitのbind8への8-bit throughパッチを適用して作成された +nslookupなら、多言語ドメイン名を使用することが可能になります。 +詳しくはインストールガイドの +前準備、 +bind 用パッチの適用とインストールを +ご覧ください。 +

+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 Preparations and Applying and Installing the Bind Patch in the Installation Guide. + +

Squid

+

+Squid経由でWebにアクセスするような場合には、non-ASCII文字を含む +ドメイン名はsquidによってエラーとされます。 +mDNkitにはsquidを8-bit through にする +(シンタックスチェックを外す)パッチが含まれています。 +これを適用したsquidであれば、多言語ドメイン名を受付けるようになります。 +詳しくはインストールガイドの +前準備、 +squid 用パッチの適用とインストールを +ご覧ください。 +

+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 Preparations and Applying and Installing the squid Patch in the Installation Guide. + +

Netscape

+

+残念ながら、入力時点でnon-ASCII文字は拒否されてしまいます。 +

+Unfortunately, non-ASCII characters are rejected when entered. +

+ +


+ +

Windowsのアプリケーション

+

Windows applications

+

+Windowsのresolver(WINSOCK)は、non-ASCIIのドメイン名を通すようです。 +クライアント内でのチェック、変換が行なわれなければ問題なく +多言語ドメイン名を使うことができます。通常は +

+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, +

+    client-translation . Shift_JIS
+
+とすればOKです。 +

is OK. +

+ +

nslookup

+

+残念ながら、ホスト名の入力時点で、non-ASCII文字を含むホスト名は +拒否されるようです。ls による一覧表示は動作します。 +

+Unfortunately, domain names that contain non-ASCII characters are rejected upon entry. ls works as usual. + +

Netscape Communicator

+

+Version 4.7 は問題なく動作しました。 +

+Version 4.7 works without any problems. +

+ただ、HTTPプロキシサーバを使われている場合には、その +プロキシサーバが多言語ドメイン名に対応しているかどうかが +問題になりますのでご注意ください。 +

However, when an HTTP proxy server is used, operation depends on whether or not that proxy server supports multilingual domain names. +

+ +

Internet Explrore

+

+IEには多言語ドメイン名への対応が一部含まれています。 +

+Some IE features support multilingual domain names. +

+    ツール
+        インターネットオプション
+	    いつもUTF-8としてURLを送信する
+
+
+    tool
+        Internet option
+	    URLs are always sent as UTF-8
+
+しかし、これを使うと、余分なところまでUTF-8で +エンコードしてしまうようで、dnsproxyでは使用できません。 +逆に、これをオフにして、 +
However, this function encodes more than is required with the result that dnsproxy cannot be used. Instead, turn it off, +
+    client-translation . Shift_JIS
+
+とすれば、dnsproxy経由で多言語ドメイン名が使えるようになります。 +
then multilingual domain names can be used via dnsproxy. +

+ですが、IEの場合には、webページ内に埋め込まれたURLについては、 +そのページのエンコーディングに合わせたエンコーディングに変換して +DNSの問合せを行なうようになっていますので、Shift_JIS以外で +記述されたWebページ上の多言語ドメイン名についてはクエリーが +失敗してしまいます。 +

+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. + + + diff --git a/contrib/idn/mdnkit/doc/en/guide/dnsproxy.html b/contrib/idn/mdnkit/doc/en/guide/dnsproxy.html new file mode 100644 index 0000000000..d829441382 --- /dev/null +++ b/contrib/idn/mdnkit/doc/en/guide/dnsproxy.html @@ -0,0 +1,158 @@ + + + + + +dnsproxy + + + + +

dnsproxy

+ + + +
+

概要

+

Overview

+ +

dnsproxy は文字通り DNS のプロキシサーバとして動作する +プログラムです。クライアントと本物の DNS サーバの間で両者の間の +通信データ (DNS プロトコルメッセージ) の変換を行います。 +

As the name implies, dnsproxy is a program that operates as a DNS proxy server. It converts communications data (DNS protocol messages) between clients and real DNS servers. + +

クライアントからローカルエンコードされた多言語ドメイン名を含む +DNS要求を受け取ると、DNSメッセージ中のドメイン名を +多言語化対応したDNS サーバが受付けられる標準エンコーディングに変換し、 +DNS サーバに送出します。 +エンコーディングの変換と同時に正規化も行います。 +また逆に DNS サーバからの応答メッセージを受信すると、その中に +含まれる多言語ドメイン名をクライアント側で認識できるローカル +エンコーディングに変換し、クライアントに返します。 +

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. + +

dnsproxy はこのようなメカニズムによって一般のクライアントが +多言語ドメイン名を扱うことを可能にします。 +

dnsproxy uses this mechanism to enable regular clients to handle multilingual domain names. + +

具体的には、 +

Specifically, +

+ +

+ +


+

設定

+

Setup

+ +

dnsproxy を使用するには、専用のコンフィギュレーションファイルで +使用するエンコーディングや正規化の方法を設定しておく必要があります。 +このファイルの設定方法については +DNS Proxy Server のコンフィギュレーション +をご覧ください。 +

To use dnsproxy, the encoding and normalization method must be set up using a special configuration file. +Refer to DNS Proxy Server Configuration for information on how to configure this file. + +

+ +


+

使用法

+

Usage

+ +

dnsproxy を使用するためにはあらかじめ設定が必要です。 +DNS Proxy Server のコンフィギュレーション +をご覧ください。 +

Use of dnsproxy requires prior setup. +Refer to DNS Proxy Server Configuration. + +

dnsproxy は以下のコマンド行オプションを受け付けます。 +

dnsproxy accepts the following command line options. +

+
-daemon +
dnsproxy をデーモンとして起動します。 +
Starts up dnsproxy as a daemon. +
-config config-file +
config-file をコンフィギュレーションファイルとして使用します。 + このオプションを指定しなかった場合にはデフォルトのコンフィギュレーション + ファイル (通常は /usr/local/etc/dnsproxy.conf) が使用されます。 +
Uses config-file as a configuration file. + When this option is not specified, the default configuration file (usually, /usr/local/etc/dnsproxy.conf) is used. +
-logfile log-file +
ログをファイル log-file に出力します。このオプションが + 指定されなかった場合にはコンフィギュレーションファイルで指定された + ログファイル、またはデフォルトのログファイルに出力されます。 +
Outputs the log to log-file. When this option is not specified, the log is output to the file specified by the configuration file or to the default log file. +
+ +
+

制限事項

+

Limitations

+ +

dnsproxy は、エンコーディング変換や正規化の機能を持たない +一般のクライアントが多言語ドメイン名を扱うことを可能にします。 +クライアントではローカルコードで記述されたドメイン名を、 +そのまま多言語ドメイン名として使うことができるようになります。 +

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. + +

しかしそれにはクライアントがドメイン名に対して独自のチェックや変換を +行なっていなければ、という前提条件があります。 +問題はこの点にあり、 +クライアントによっては、ドメイン名のシンタックスを厳密にチェックしていたり、 +独自の手法で部分的に多言語化していたりするものがあります。 +このようなクライアントであれば、dnsproxyを使っても +多言語ドメイン名を使うことはできません。 +

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. + +

UNIXの場合は、DNSへの要求は通常リゾルバライブラリを経由して送られますが、 +既存のリゾルバはドメイン名のシンタックスをチェックしていて、 +ドメイン名にnon-ASCIIコードが含まれているとエラーとして +はじかれてしまいます。 +この問題に対処するために、mDNkitには、bind8付属のリゾルバライブラリを +8ビット透過にするためのパッチが付属しています。このパッチを適用した +リゾルバライブラリを組み込めば、クライアントからのローカルコードによる +多言語ドメイン名がdnsproxyに渡されて、多言語化DNSサーバと組み合わせて +使用することができるようになります。 +Windowsの場合には、リゾルバ(WINSOCK)は8ビット透過になっていますので、 +この問題はありません。 +

UNIX usually sends DNS queries to the resolver library and current resolvers checks the syntax of domain names and rejects non-ASCII code as an error. +To cope with this problem, the bind8 resolver library in mDNkit has been provided with an 8-bit through patch. +By installing a resolver library with this patch the local encoding of multilingual domain names handled by clients is submitted to dnsproxy and can be used with multilingual DNS servers. +The Windows resolver (WINSOCK) is already 8-bit through so this is not a problem. + +

残る問題は、アプリケーションでのチェックや変換ですが、 +これは対象となるクライアントが多数ありますし、また、 +ソースが公開されていないものについては手の出しようがありませんので、 +基本的には、mDNkitには含まれていません。しかし、 +DNSのチェックに多用されるnslookup(in bind8)と、 +汎用のproxyとして使用されることの多いsquidについては、 +ドメイン名のチェックを外すためのパッチが含まれています。 +

The remaining problem, i.e. checks and conversions performed by the application, a problem that affects many clients and which little can be done about when sources are not made public. Functions are not provided in mDNkit to handle this issue. However, a patch that removes the check of domain names from nslookup(in bind8), an often used DNS check tool, and squid, an often used as a general-purpose proxy, are included. + +

dnsproxy を使用してどのようなアプリケーションが多言語ドメイン名を +扱えるようになるのかをまとめた +文書を用意してありますので、 +こちらをご覧ください。 +

Refer to document for information on which applications dnsproxy can enable to handle multilingual domain names. + + + diff --git a/contrib/idn/mdnkit/doc/en/guide/guide.html b/contrib/idn/mdnkit/doc/en/guide/guide.html new file mode 100644 index 0000000000..5137775bcb --- /dev/null +++ b/contrib/idn/mdnkit/doc/en/guide/guide.html @@ -0,0 +1,441 @@ + + + + +Introduction to mDNkit + + + + +

ガイド一覧

+

Guide List

+

+mDNkitのガイドは以下のドキュメントから構成されています。 +

+The mDNkit guide is comprised of the following documents. +

+ +

+一般ユーザの方はまずmDNkitの紹介をご覧ください。 +そのあと、使用する多言語ドメイン処理方式 (あなたのシステムで +利用できる処理方式についてはシステム管理者にお尋ねください) に応じて +bind9 パッチ、 +runmdn、 +mDN Wrapper、 +dnsproxy のいずれかをご覧ください。 +

+Ordinary users should refer to Introduction to mDNkit. +Depending on the method of processing multilingual domain names (ask the system administrator which method your system uses) refer to bind9 patch, runmdn, mDN Wrapper、or dnsproxy. + +

+本キットをインストールするシステム管理者の方はすべてのガイドに +一通り目を通しておくことをお勧めします。 +

+It is recommended that the system administrator that installs this kit carefully reads through all the guides. + +

+本キットはフリーソフトウェアです。本キットの使用、再配布等に関する +条件については LICENSE.txt を +ご覧ください。 +

+This kit is free software. Read the LICENSE.txt for information on the redistribution conditions of this kit. + +


+

mDNkit の紹介

+

Introduction to mDNkit

+

+mDNkitは、既存のDNSサーバ(bind8/9)、既存のクライアントで、 +多言語ドメイン名を使うために提案されている各種の方式を試験的に +評価してみることができるようにするための +パッチ、ツール、ライブラリをまとめたものです。 +

+The mDNkit comprises all the patches, tools and libraries to experimentally assess the variety of systems that enable existing DNS servers (bind8, bind9) to use multilingual domain names with current clients. +

+従来、ドメイン名には、英字、数字(およびハイフン)しか使えませんでした。 +多言語化されたドメイン名とは、ドメイン名としてこれらに加えて日本語など +いろいろな言語の文字を使えるようにしたものです。 +その実現方式として、現在インターネットドラフトでいくつかの +提案がなされています。(参考文献 参照) +

+Traditional domain names can only use alphabetic characters, numerics and hyphe ns. +In addition to these characters, multilingual domain names can also handle Japanese and a great number of characters from other languages. +A number of recommendations for how these are to be implemented are offered in the form of drafts on the Internet. See (Reference.) +

+ +

エンコーディング変換

+

Encoding Conversion

+ +

+DNS で多言語ドメイン名を使えるようにするには、まず DNS サーバ間で +多言語ドメイン名として使用する標準エンコーディング (コードセット) を +決める必要があります。 +現在提案されている方式は、いずれもISO10646 をベースとした +エンコーディングで、大きく次の2つに分けられます。 +

+First, the standard encoding (code set) to be used for multilingual domain names between DNS servers must be determined to enable use of multilingual names in DNS. +Currently recommended systems are all based on ISO10646 encoding and are basically of the following two types. +

    +
  1. 従来のドメイン名として使うことのできる文字だけを使ったエンコーディング +
    Encoding that uses only characters that can be used in traditional domain names +
  2. UTF-8 のように、従来のドメイン名としては正しくない文字列となる + エンコーディング +
    Encoding that uses characters that are not legal in traditional domain names such as UTF-8 +
+

+1. の方法は、エンコード結果が従来のドメイン名としても使える文字列になるので、 +多言語ドメイン名を既存のDNSが受付けることができる文字列で +表現することができます。この場合、DNSサーバ自体は +既存のものがそのまま使えます。 +

+With method 1, the encoded result are character strings that could also be used in traditional domain names, allowing you to use a multilingual domain name in the existing DNS server. Existing DNS servers can be used with this method. +

+2.の方法では、DNS サーバをそのエンコーディングに対応するように +改造する必要があります。 +

+With method 2, the DNS server has to be modified to support the encoding. +

+いずれの方式に関しても、DNS サーバの持つドメイン名のデータはあらかじめ +そのエンコーディングで用意する必要があります。 +

+Whichever method is selected, the domain name data held by a DNS server has to be prepared in that encoding. +

+一方、アプリケーションは一般的には SJIS 等のローカルエンコーディングを +使用するので、多言語ドメイン名を使えるようにするためにはどこかで +エンコーディングの相互変換をする必要があります。 +

+On the other hand, applications normally use SJIS or other local encoding so some type of interconversion must be performed at some point to enable the use of multilingual domain names. +

+つまりアプリケーションは多言語ドメイン名をローカルエンコーディングで +扱い、DNS サーバは標準エンコーディングで扱うので、 +クライアントと DNS サーバの間のどこかでアプリケーションの指定した +ローカルエンコーディングのドメイン名を標準エンコーディングのドメイン名へ +変換し、 +また DNS サーバからの応答に含まれる標準エンコーディングのドメイン名を +クライアントで表示可能なローカルエンコーディングに戻さなければなりません。 +

+Thus applications handle multilingual domain names in local encoding, whereas the DNS server handles them in standard encoding. This requires that at some point between the client and the DNS server that domain names in local encoding specified by an application be converted to domain names in standard encoding, and that domain names in standard encoding in the response from the DNS server be returned to local encoding that can be displayed by the client. +

+このためには次の3種類の方法が考えられます。 +

+The following three methods have been proposed to implement this. +

+
a. クライアントでの変換
+ クライアントでエンコーディングを変換する。 +
a. Conversion is performed by the client
+ Encoding is converted by the client. + client-side conversion +

+

b. DNS サーバでの変換
+ DNS サーバでエンコーディングを変換する。 +
b. Conversion is performed by the DNS server
+ Encoding is converted by the DNS server. + server-side conversion +

+

c. プロキシサーバでの変換
+ クライアントと DNS サーバの間にエンコーディング変換用の中継サーバを + 設ける。 +
c. Conversion is performed by a proxy server
+ An intermediate server is set up between the client and the DNS server to handle encoding conversions. + proxy conversion +
+

+ +ただし b. の方式は DNS サーバに不必要に複雑な機構を持ち込むこと、負 +荷を高めることなどの問題があり好ましくないため、本キットでは a. と +c. の2通りの方法を提供します。 +
System b. unduly increases the complexity of DNS server configuration and thereby its load making it less desirable, therefore, methods a. and c. are recommended for use with this kit. +

+mDNkitは、既存のDNSサーバ、クライアントを、最小限の改造で +複数の方式の多言語ドメイン名を +実際に試してみることができるようにするものです。 +

+mDNkit requires a minimum of modifications to allow experimental use of multiple multilingual domain name systems with existing DNS servers and clients. +

+ +

正規化

+

Normalization

+ +

多言語ドメイン名を扱うためには、エンコーディング変換の他にも重要な +機能があります。それはドメイン名の正規化です。 +

In addition to encoding conversion, normalization is another vital function to enable handling of multilingual domain names. + +

すでに述べたように、DNS サーバ間で使用されるドメイン名のエンコーディング +として提案されている方式はいずれも ISO10646 をベースとしていますが、 +ISO10646 では見かけ上全く同一の文字を表す方法が複数ある場合があります。 +このような文字に対してその表現方法を1つに統一しないと、ユーザが +正しい (と思える) ドメイン名を入力したにも関わらず、名前解決ができない +という不都合が生じることになります。 +

As stated above, the recommended encoding of domain names to be used between DNS servers are all based on ISO10646, the problem is that a number of characters that look identical can be denoted in a number of different ways. +Unless a single unique method of notation is found for such characters, what a user thinks is a correctly entered domain name may not be possible to resolve. + +

また、従来の ASCII ドメイン名では、ドメイン名のマッチングの際に大文字と +小文字は同一視されていました。これをそのまま多言語ドメイン名にも適用する +ことは、マッチングの処理効率などの点で問題があり、あらかじめすべて小文字 +あるいは大文字に統一するのがより効率的だと考えられます。 +

Another problem is that upper case and lower case characters in domain name matching of traditional ASCII domain names are handled as equivalents. If this method is carried over to the handling of multilingual domain names in its present form, the matching process will be slowed down. To ensure higher efficiency, it may a good idea to use only lower case or upper case letters. + +

このようにドメイン名をあらかじめ設定した基準にしたがって標準形に変換するのが +正規化です。基本的には正規化はエンコーディング変換と同時に行われるので、 +エンコーディング変換と同じく +

Normalization is the method used to convert domain names to standard encoding using a set standard. Normalization is normally performed simultaneous with encoding conversion and just like encoding conversion there are the following three types. +

+の3種類の方法が考えられます。そして2番目の方式が好ましくないことも +エンコーディング変換と同じです。 +

Like encode conversion, the second option is not desirable. + +

クライアントでの変換・正規化

+

Conversiona and normalization performed by the client

+ +

多言語ドメイン名を扱う方法のあるべき姿は、クライアント側の +リゾルバライブラリなどにエンコーディングの変換や正規化の機能を +持たせることによって、DNS プロトコルにはローカルエンコーディングの +データを一切載せないことだと考えられます。 +この処理方法を実現するために mDNkit ではいくつかの方式を提供しています。 +

The ideal method of handling multilingual domain names is thought to be to leave the conversion and normalization of encoding to resolver libraries and other features on the client side and let no local encoding data be handled by the DNS protocol. + +mDNkit provides a number of methods to implement this type of processing. + +

+ +
bind9 に対するパッチ
+
bind9 patch
+このパッチは bind9 のリゾルバにエンコーディングの変換および +正規化の機能を持たせるものです。 +アプリケーションはこのパッチを適用した bind9 のリゾルバライブラリを +リンクすることにより、多言語ドメイン名を扱うことが可能になります。 +

This patch enables the bind9 resolver to convert and normalize encoding. +An application can handle multilingual domain names by linking to a bind9 resolver library where this patch has been installed. +

+conversion/normalization by bind9 patch +
+

+ +

runmdn コマンド
+
runmdn command
+このコマンドは、bind4 あるいは bind8 ベースのリゾルバライブラリを持つ +Unix アプリケーションを、再コンパイルなしに多言語ドメイン名を扱えるように +します。これは共有ライブラリの動的リンク機構を利用して、リゾルバライブラリの +提供する一部の関数を多言語ドメイン名の処理を付加したバージョンに +動的に置き換えることで実現されます。 +

This command allows Unix applications with bind4 or bind8 based resolver libraries to handle multilingual domain names without the need for recompiling. +The command does this by utilizing the dynamic link of shared libraries to dynamically replace some of the functions of the resolver library with versions added to enable multilingual domain name processing. +

+conversion/normalization by runmdn +
+

+ +

mDN Wrapper
+これは Windows クライアントを、やはり再コンパイルなしに多言語ドメイン名を +扱えるようにするものです。DLL の機構を利用して、名前解決を行う WINSOCK +の一部の関数に多言語ドメイン名の処理を付加することで実現されています。 +

This function is provided to enable Windows clients handle multilingual domain names without the need for recompiling. It utilizes the DLL mechanism to add multilingual domain name processing capability to some of the functions of WINSOCK, the name resolver. +

+conversion/normalization by winsock wrapper +
+ +
+ +

runmdn コマンドと mDN Wrapper は、既存のアプリケーションを変更せずに +多言語ドメイン名の機能を付加しようとするものですが、実際にはいくつかの +制限事項があり、どのようなアプリケーションにも適用できるものではありません。 +詳しくはそれぞれの解説をご覧ください。 +

The rundmdn command and mDN Wrapper attempt to add multilingual domain name functions to existing applications without making any modifications, but there are a number of limitations and they cannot be used with any application. +Refer to respective instructions for details. + +

また bind9 パッチといえども、例えばアプリケーションが独自に +ドメイン名の文字チェックを実行して英数字とハイフン以外の文字を含む +ドメイン名をエラーにしていたりする場合には無力です。 +

For example if the application checks domain name characters, characters other than alphanumerics and hyphens will generate an error regardless of the bind9 patch. + +

プロキシサーバでの変換・正規化

+

Conversion and Normalization via a proxy server

+ +

すでに述べたように、エンコーディング変換や正規化は +クライアント側で実行するのが理想的だと考えられますが、 +実際問題としてソースが公開されていないためそのような改良のできない +クライアントや、特殊なリゾルバを持っていて runmdn が適用できないクライアントが +存在します。 +

As stated above, conversion and normalization of encoding should ideally be performed on the client side. The problem is that there are clients that do not admit to such modifications because the source is not made public or it uses special resolvers that do not allow the use of runmdn. + +

そこで mDNkit では、クライアントからローカルエンコードされた +多言語ドメイン名を含むDNS要求を受け取り、多言語化対応した +DNS サーバが受付けられる標準エンコーディングのドメイン名に変換し、 +また逆に DNS サーバからの応答の多言語ドメイン名を +クライアント側で認識できる形式に戻す DNS proxy サーバを +用意しました。 +

To cope with such situations, the mDNkit provides a DNS proxy server that receives DNS queries that include multilingual domain names in local encoding from a client and converts these to standard encoding acceptable to a DNS server supporting multilingual domain names, and conversly, returns multilingual domain names in the DNS server response to a format that is understood by the client. + +

dnsproxyを使うと、 +クライアント側がドメイン名のチェックや変換を +行なっていなければ、クライアント側のローカルコードで記述された +ドメイン名を、そのまま多言語ドメイン名として使うことができる +ようになります。 +

When dnsproxyis used, the domain names in the local code of the client side can be used as multilingual domain names without modification if domain names are checked and converted on the client side. +

+mDNkit - DNS Proxy Server +
+ +

+ +

DNS側でのドメイン名の変換

+

Domain Name Conversion on the DNS Side

+

+DNS サーバ側のゾーンマスタファイルや named.conf ファイル上のドメイン名は、 +あらかじめ、規定されたエンコーディングに変換されている必要があります +(前述の理由により +DNS サーバに変換機能を持たせる方法はここでは考えません)。 +

+The domain names in the zone master file and named.conf file on the DNS server side must be converted to the prescribed encoding. +(the above reason i.e. adding conversion functionality to the DNS server is not considered here). +

+mDNkitでは、管理者はこれらのファイルをローカルエンコーディングで +作成して必要に応じて変換して使うものと想定し、 +ローカルエンコーディングから +多言語ドメイン名で必要とするエンコーディングへの +変換ツールmdnconvを提供します。 +

+mDNkit assumes that the administrator generate these files in local encoding and only convert them as need dictates and to this end provides mdnconv, a conversion tool to handle conversion from local encoding to multilingual domain names. + +

+mDNkit - mDN converter +
+ + + + + + + + + + +
注: + ローカルエンコーディングで記述されたゾーンマスタ + ファイルを多言語エンコーディングへ変換することはできますが、 + 多言語エンコーディングによっては逆変換が + できないことがあります。 + これは、エンコーディングによってはそのエンコーディングで + エンコードされた文字列と通常の ASCII 文字列が + 区別できず、ファイルのどの部分を逆変換すべきか判定できない + ものがあるためです。 + しかし、DNSの管理のためには、 + 逆方向の変換も必要になると思いますので、一部のエンコーディングに + 対しては逆変換をサポートしています。 +
Note: + Zone master fils in local encoding can be converted to multilingual encoding, but some multilingual encoding may not be possible to return to local encoding. + This is because the encoded character strings in some encoding schemes it cannot be distinguished from normal ASCII character strings making it impossible to know which part of the file should be converted back to local encoding. + Still, since backward conversion is regarded as essential for the sake of DNS management, backward conversion is supported for some encoding. +
+

+ +

DNS自体の多言語化

+

Multilingual support by DNS

+ +

+DNS サーバの使用するエンコーディングによっては、 +DNSサーバ自体がドメイン名を8ビット透過で扱うことを +要求するものもあります。 +このようなエンコーディングへの対処のために +mDNkitにはbind8を8ビット透過にするためのパッチが +含まれています。このパッチはbind8に含まれている +nslookup、resolverについても8ビット透過にします。 +

+Some encoding used by DNS servers requires that the DNS server itself handles domain names as 8-bit through. To handle such encoding, mDNkit is provided with a patch that makes bind8 8-bit through. +This patch also turns nslookup and resolver provided with bind8 into 8-bit through. + +

bind9 の DNS サーバは本来8ビット透過になっていますが、 +ドメイン名を内部形式からテキスト形式に変換する際、8ビット文字を +`\DDD' という表現に変換してしまうので、これを抑制して UTF-8 文字は +そのまま透過するようにする機能が bind9 パッチには含まれています。 +

Although bind9 DNS servers are 8-bit through, when domain names are converted from the internal format to text format, 8-bit characters are converted to "\DDD". To suppress this and allow UTF-8 characters through, a bind9 patch has been provided. + +

+ +

補足

+

Notes

+実際にmDNkitを使用するには、以下のドキュメントを参照してください。 +
Refer to the following documents for information on mDNkit usage. + +それぞれのプログラム、ライブラリ、および設定ファイルの仕様については +以下のドキュメントをご覧になってください。 +
Refer to the documents listed below for the specifications of these programs, libraries and configuration files. + + + + + diff --git a/contrib/idn/mdnkit/doc/en/guide/install.html b/contrib/idn/mdnkit/doc/en/guide/install.html new file mode 100644 index 0000000000..f8cfc5298b --- /dev/null +++ b/contrib/idn/mdnkit/doc/en/guide/install.html @@ -0,0 +1,649 @@ + + + + + +mDNkit installation guide + + + + +

インストール

+

Install

+

+mDNkit のコンパイルおよびインストール方法について解説します。 +ここではソースからのインストール方法について説明します。 +バイナリパッケージの配布も予定されていますが、 +それらのインストール方法に関してはそれぞれのパッケージを参照してください。 +

This document describes mDNkit compiling and installation procedures. +Procedures for how to install from the source is described here. +Distribution of binary packages is planned; refer to the instructions that accompany each package. + +

+本ドキュメントでは Unix 用のコンパイルとインストール方法について +説明します。Windows 用の mDN Wrapper のインストール +方法に関しては mDN Wrapper のセットアップの +項をご覧ください。 +

+This document describes the compiling and installing procedures for Unix. Refer to the section Setup in mDN Wrapper for information on procedures to install in Windows mDN Wrapper. + +

+ソース配布からのインストール手順はおよそ次のようになります。 +

+Installation procedure from source distribution is implemented as follows. + +

    +
  1. 前準備 +
  2. Prepare +
  3. 配布ソースの展開 +
  4. Extract distribution source +
  5. configure 実行 +
  6. Configure Execute +
  7. コンパイル +
  8. Compile +
  9. ファイルのインストール +
  10. Install file +
+ +

+インストールの後は、DNS サーバの設定 +および mDNkit リゾルバのコンフィギュレーション +、さらに dnsproxy を使用する場合には +DNS Proxy Server のコンフィギュレーション +を参照して設定を行ってください。 +

+After installation, refer to and set up DNS server configuration, mDNkit resolver configuration, and if dnsproxy is to be used DNS Proxy Server configuration. +

ソース配布に含まれているパッチを適用する場合には、 +それぞれ次の手順にしたがってください。 +

To install the patch included in source distribution, refer to the following instructions. +

+ +
+ +

前準備

+

Preparations

+ +

iconv のインストール

+

iconv installation

+ +

mDNkit は EUC や SJIS など様々なローカルエンコーディングで記述された +ドメイン名のエンコーディングを変換するために、汎用のコードセット変換 +ユーティリティである iconv() を使用します。 +そこで、FreeBSD など iconv() が標準で組み込まれていないシステムでは、 +mDNkit のインストールに先立って iconv() をインストール +しなければなりません。また、mDNkiticonv() が +UTF-8 エンコーディングをサポートしていることを要求します。システム付属の +iconv() が UTF-8 をサポートしていない場合にはやはり +外部のパッケージをインストールする必要があります。 +

mDNkit uses iconv(), a general-purpose utility, to convert domain name encoding of EUC, SJIS or other local encoding. +iconv() must be installed prior to mDNkit installation in those systems that do not have iconv() as a standard package, such as FreeBSD. Also, the mDNkit requires that iconv() should support UTF-8 encoding. An external package must be installed if the provided iconv() in the system does not support UTF-8. + +

iconv() のフリーな実装としては、例えば libiconv +

There are free versions of iconv(), for example, libiconv. +

+

があり、ソースを上記のページから入手することができます。 +これは LGPL に基づいたフリーソフトウェアで、多くの Unix 系 OS の +もとで動作します。このパッケージのインストール方法については、上記ページか、 +あるいはソース配布に含まれる INSTALL.generic ファイルをご覧ください。 +

This source can be downloaded from the above page. +This is an LGPL-based free software package that runs on a variety of Unix operating systems. Refer to the above page or the INSTALL.generic file that accompanies the source distribution for information on installation procedures. + +

+ +

bind9 ソースの入手

+

Obtaining the bind9 source

+ +

mDNkit は bind9 に対するパッチを提供しており、これによって +多言語ドメイン名を扱うことのできる bind9 のリゾルバおよびサーバを +作成することができます。本キットに含まれるパッチは BIND 9.0.0 に +対するものです。ソースは以下の場所からダウンロードすることができます。 +

The mDNkit provides a bind9 patch that can be used to generate bind9 resolvers and servers that can support multilingual domain names. The patch in this kit is for BIND 9.0.0. The source can be downloaded from the following page. + +

+

+ +

bind8 ソースの入手

+

Obtaining the bind8 source

+ +

dnsproxy を利用してクライアントアプリケーションが +多言語ドメイン名を使用できるようにするためには、 +名前解決を行うリゾルバライブラリを 8bit スルーにする必要があります。 +また DNS サーバでも、多言語ドメイン名のエンコーディングとして + ASCII 互換エンコーディングである UTF-5 や RACE 以外の、 +例えば UTF-8 などのエンコーディングを使用するためには、 +8bit スルーの DNS サーバを使用する必要があります。 +

To use dnsproxy to enable client applications to support multilingual domain names, the resolver library that resolves names must be made 8-bit through. +Also, 8-bit through DNS servers must be used to enable a DNS server to use encodings other than UTF-5, RACE or other ASCII compatible encoding (as multilingual domain name encoding), for example, UTF-8. + +

mDNkit にはこのために +BIND 8.2.2-P7 および BIND 8.2.3-T6B を 8bit スルーにする +パッチが含まれています。パッチを適用した bind8 を使用したい場合には +あらかじめいずれかのバージョンのソースを用意してください。 +ソースは以下の場所からダウンロードすることができます。 +

The mDNkit for that reason supplies a patch that makes BIND 8.2.2-P7 and BIND 8.2.3-T6B 8-bit through. To use bind8 with a patch installed, obtain the source of the desired version. +Sources can be downloaded from the following page. + +

+ +

+ +

Squid ソースの入手

+

Obtaining Squid

+ +

Web のキャッシュサーバである Squid は、そのままでは多言語 +ドメイン名が入力されるとそれをエラーにしてしまい、使用することができません。 +このためmDNkit には +Squid-2.3.STABLE3 を +8bit スルーにするパッチが含まれています。Squid を多言語ドメイン名で使用 +したい場合にはこのソースも用意してください。 +

Squid, a Web cache server, cannot be used as is, because it will generate an error when entering multilingual domain names. +mDNkit comes with a patch that makes Squid-2.3.STABLE3 8-bit through. Obtain this source if you wish to make Squid support multilingual domain names. + +

+ +


+ +

配布ソースの展開

+

Extracting distribution source

+ +

mDNkit に関する最新情報は以下の場所から入手可能で、 +最新の配布ソースのダウンロードもできます。 +

The latest information regarding the mDNkit is available on the following site. The most recent distribution source can also be downloaded from the following page. +

+ +

入手した mDNkit の配布ソースを展開します。 +配布ソースのファイル名を mdnkit-X.Y.tar.gzとすると +次のようにして展開できます。 +

Extracting the obtained mDNkit distribution source. +Distribution sources with file names such as mdnkit-X.Y.tar.gz are extracted as shown below. + +

+
+% gunzip mdnkit-X.Y.tar.gz
+% tar -xf mdnkit-X.Y.tar
+
+
+ +

展開すると、mdnkit-X.Yというディレクトリが作られますので、 +そこに移動してください。 +

When extracted, a mdnkit-X.Y directory is generated. Move to this directory. +

+
+% cd mdnkit-X.Y
+
+
+ +

以降の説明では、このディレクトリを $MDNTOP という名前で +参照します。環境変数 $MDNTOP を設定しておくと便利でしょう。 +

In the following descriptions, this directory is referred to as $MDNTOP. Setting the environment variable $MDNTOP makes it easier to use. +

+
+% setenv MDNTOP `pwd`         (csh 系のシェルの場合)
+% MDNTOP=`pwd`; export MDNTOP (sh 系のシェルの場合)
+% setenv MDNTOP `pwd`         (for a csh system shell)
+% MDNTOP=`pwd`; export MDNTOP (for a sh system shell)
+
+
+ +

+ +


+ +

configure 実行

+

Running Configure

+ +

まず mDNkit の本体である、 +

First compile the following that form the major part of the mDNkit. +

+ +

まず、mDNkit のトップディレクトリ +($MDNTOP の指すディレクトリ) に移動し、 +configure スクリプトを実行します。 +configure はヘッダファイルやライブラリの有無など、システム毎の +特徴を調べ、コンパイル環境を適切に設定するためのツールです。 +

First move to the mDNkit top directory (the directory that $MDNTOP points to) and execute the configure script. +Configure is a tool that checks the header file and libraries to learn the features of the system to configure the optimum compiler environment. + +

+
+% cd $MDNTOP
+% ./configure
+
+
+ +

システムに iconv() が組み込まれていて、かつコンパイル時に +特別なオプションを使用しないなら上記のようになにも引数を指定せずに +実行すればよいのですが、そうではない場合、オプションや環境変数で +configure の動作を変えることができます。 +

When iconv() is included with the system and no special options are used during compilation, it can be executed like above without the need to specify any arguments. In other cases, operation of configure can be changed using options and environment variables. + +

configure に指定できるオプションの中で mDNkit に +直接関係するものは以下の通りです。 +

The following options that can be set by configure are directly related to mDNkit. + +

+
--with-iconv=LIB +
システムに iconv() が組み込まれていない、あるいは + システムの iconv() を使いたくないなどの理由で新たに + iconv() のパッケージをインストールした場合に、このオプションを + 用いて iconv() のライブラリを指定します。LIB で + ライブラリを指定します。ライブラリファイルをフルパスで指定するか、 + あるいは C コンパイラに与えるオプションの形式で指定してください。
+When the iconv() package is installed either because it is not included with the system or because you do not wish to use the existing iconv() in the system, use this option to configure the iconv() library. Use LIB to specify the library. Use the full path to specify the library or specify it using an option format assigned to the C compiler. +

例えば前準備に挙げた + iconv のパッケージをインストールした場合、デフォルトでは + /usr/local/liblibiconv にインストールされるので、
+For example, when the iconv package mentioned in Preparations is installed, it is by default installed in libiconv of /usr/local/lib, so it is a good idea to make the following entry. +

+
+--with-iconv="-L/usr/local/lib -liconv"
+
+
+ と指定すればよいでしょう。libiconv が共有ライブラリの時には、 + -R オプションも指定して
+When libiconv is shared library, it may also be necessary to specify the -R option: +
+
+--with-iconv="-L/usr/local/lib -R/usr/local/lib -liconv"
+
+
+ +
--with-utf8=NAME +
UTF-8 エンコーディングを iconv() に指定する場合、 + mDNkit はデフォルトで UTF-8 というエンコーディング名称を + 使用します。もし UTF-8 エンコーディングを指定するのに UTF-8 以外の + エンコーディング名称を使用する必要があれば、このオプションで NAME + にその名称を指定します。前準備にあげた + iconv のパッケージを使用する場合にはこのオプションの指定は + 不要です。
+When UTF-8 encoding is specified using iconv(), mDNkit uses UTF-8 to encoding names by default. If other names must be used when UTF-8 encoding is specified, specify the name in NAME using this option. This is not required when using iconvpackage mentioned in Preparations. +

+ +

--with-race-prefix=PREFIX +
DNS プロトコル上で用いられる多言語ドメイン名のエンコーディング方式 + として RACE という方式が提案されています。これは + ASCII 互換エンコーディングの + 1つですが、ドメイン名に特定のプリフィックスを付けることで通常の + ASCII ドメイン名と区別することが可能になっています。このプリフィックスは + 現在の + インターネットドラフトでは "bq--" ですが、将来変更される + 可能性があります。変更された場合にはこのオプションを用いて正しい + プリフィックスを指定してください。 +
RACE is proposed as one of the encoding system to be used for multilingual domain names in DNS protocols. RACE is an ASCII compatible encoding scheme and adds a specific prefix to the domain name to distinguish it from an ordinary ASCII domain name. This prefix is "bq--" in current Internet Drafts, but this may change in future. Use this option to enter the new prefix when a change is made. +

+ +

--with-brace-suffix=SUFFIX +
RACE と同じく DNS プロトコル上で用いられる多言語ドメイン名の + エンコーディング方式として BRACE という方式が提案されています。これも + ASCII 互換エンコーディングの + 1つですが、RACE と異なり、ドメイン名に特定のサフィックスを付けることで通常の + ASCII ドメイン名と区別することが可能になっています。このサフィックスは + 現在の + インターネットドラフトでは "-8q9" ですが、将来変更された + 場合にはこのオプションを用いて正しいサフィックスを指定してください。
+Like RACE, BRACE is being proposed as an encoding scheme for multilingual domain names to be used in DNS protocols. It is also an ASCII compatible encoding scheme, but differs from RACE in that it adds a suffix to the domain name to distinguish from normal ASCII domain names. This suffix is "-8q9" in the current Internet Draft, but this may change in future. Use this option to enter the correct suffix when a change is made. +

+ +

--with-lace-prefix=PREFIX +
+RACE や BRACE と同じような ASCII 互換エンコーディングの一つとしてLACE という方式が提案されています。RACE と同様、LACE も通常の ASCII ドメイン名と区別ために特別なプリフィックスを使用します。 + 現在のインターネットドラフトでは "bq--" ですが、将来これが変更された場合にはこのオプションを用いて正しいプリフィックスを指定してください。 +

+

Like RACE and BRACE, LACE is another ASCII compatible encoding scheme and like, RACE, it adds a special prefix to distinguish it from ordinary ASCII domain names. +In the current Internet Draft the prefix is "bq--", but this may change in the future; if it does, use this option to enter the correct prefix. +

+

--enable-zld +
ZLD (Zero Level Domain) 機能のサポートを追加します。 + ZLD とは DNS サーバで用いられる一部のエンコーディングにおいて、通常の ASCII ドメイン名と多言語ドメイン名とを区別するために用いられる特殊なドメイン名です。 + DNS プロトコル上で使用するエンコーディングとして ZLD を必要とするエンコーディングを選択しなければ、このオプションの指定は不要です。 +

This option adds ZLD (Zero Level Domain) function support. ZLD is a special domain name used to differentiate standard ASCII domain names from multilingual domain names in some encodings used in a DNS server. This option need not be set unless ZLD is selected as the required encoding in a DNS protocol.

+ +

なお、ZLD 機能のサポートの有無は dnsproxy や runmdn が設定ファイルを読み込む際の振る舞い (ZLD の指定を無視するかどうか) に影響します。 + mDNkit が提供するライブラリ自体は、(設定ファイルを読み込むための一部のモジュールを除いて)このオプションによって動作が変わることはなく、常に ZLD の処理を行うようになっています。 +

The support of the ZLD function affects operation (i.e. whether or not the ZLD setting is ignored) when configuration files are read in using the dnsproxy or runmdn command. The operation of the library provided by the mDNkit does not change with this option (except some modules used for reading in configuration files), but performs ZLD processing at all times.

+ +

--sbindir=DIR +
DNS プロキシサーバ dnsproxy をインストールするディレクトリを指定します。 + デフォルトでは /usr/local/sbin にインストールされます。 +

+Specifies the directory where dnsproxy, the DNS proxy server, is installed. /usr/local/sbin is the default directory.

+

--bindir=DIR +
ゾーンマスタファイルコード変換ツール mdnconv およびクライアントに多言語ドメイン名処理を付加する runmdn コマンドをインストールするディレクトリを指定します。 + デフォルトでは /usr/local/bin にインストールされます。 +

+

+

Specifies the directory where the mdnconv command, a tool for converting zone master file code, and the runmdn command that adds multilingual domain name processing capability to a client, are installed. /usr/local/bin is the default directory.

+

--libdir=DIR +
dnsproxy や mdnconv 等が使用する mDNkit の基本ライブラリをインストールするディレクトリを指定します。 + デフォルトでは /usr/local/lib にインストールされます。 +

+

Specifies the directory where the basic mDNkit and other basic libraries employed by dnsproxy or mdnconv are installed. +/usr/local/lib is the default directory.

+

+

--includedir=DIR +
mDNkit の基本ライブラリを使用するのに必要なヘッダファイルをインストールするディレクトリを指定します。デフォルトでは /usr/local/include にインストールされます。 +

+

Specifies the directory where the header file required for use of the basic mDNkit library is installed. /usr/local/include is the default directory.

+ +

--sysconfdir=DIR +
DNS プロキシサーバ dnsproxy の設定ファイル、およびmDNkit のクライアント共通設定ファイルをインストールするディレクトリを指定します。 + デフォルトでは /usr/local/etc にインストールされます。 +

+

Specifies the directory where dnsproxy, the DNS proxy server, configuration files and shared client configuration files for mDNkit are installed. +/usr/local/etc is the default directory.

+

+

--mandir=DIR +
オンラインマニュアルをインストールするベースディレクトリを指定します。 + デフォルトでは /usr/local/man です。実際にはこのディレクトリのサブディレクトリの man1man8 にインストールされます。 +

+

Specifies the base directory where the online manuals are installed. +/usr/local/man is the default directory. In fact, they are installed in its man1 or man8 subdirectory.

+

+ +

この他にも configure にはいろいろなオプションを指定することができます。 +

A number of other options can be specified using configure.

+

+
+% ./configure --help
+
+
+

で指定可能なオプションの一覧を表示させることができます。 +

The above is used to display a list of specifiable options.

+ +

また、関係する環境変数は次の通りです。 +

The related environment variables are as follows.

+ +

+
CFLAGS +
Cコンパイラに渡すオプションを指定します。例えば外部のiconv パッケージをインストールしたときに、インクルードファイルiconv.h が標準以外のディレクトリ、例えば/usr/local/include にインストールされたとします。このような場合には CFLAGS-I/usr/local/include を設定する必要があります。具体的には、csh 系のシェルの場合には +

+

Specifies options passed to the C compiler. Let's assume that when an external iconv package is installed, iconv.h, the include file is installed in a directory other than the standard directory, for example, /usr/local/include. This requires that -I/usr/local/include be configured in CFLAGS. The following configuration is required in a csh shell.

+

+
+% setenv CFLAGS -I/usr/local/include
+
+
+

また sh 系のシェルの場合には +

An sh shell requires the following configuration. +

+
+% CFLAGS=-I/usr/local/include; export CFLAGS
+
+
+

とします。 +

CFLAGS はこの他にも C コンパイラの最適化オプションを指定するためにも使えます。CFLAGS-O を指定すれば最適化ありでコンパイルされます。 +

CFLAGS can be used in other situations to specify the optimum C compiler options. When -O is specified in CFLAGS compilation is optimized. +

+ +

configure を実行することにより、あなたのシステム環境に合わせて調整された Makefile その他のファイルが生成されます。 +

When configure is executed, Makefile and other files are generated and adapted to your system environment. +

+ +


+ +

コンパイル

+

Compile

+ +

configure 実行によって、システム環境に合った Makefile が生成されているので、コンパイルはトップディレクトリ($MDNTOP の指すディレクトリ) でmake コマンドを実行するだけです。 +

Since configure generates a Makefile tailored to the system environment, all that compile needs to do is to execute the make command in the top directory (the directory pointing to $MDNTOP). +

+
+% make
+
+
+ +

+ +


+ +

ファイルのインストール

+

Installing Files

+

コンパイルが終了したら、実行ファイルなどのインストールを行います。 +インストールの前にスーパーユーザになってください。 +

When compiling is finished, install the executable files and other files. Become a superuser prior to installation.

+

+
+% su
+
+
+ +

あとは make install を実行すれば、必要なファイルがシステムにインストールされます。 +

Then execute make install to install all the required files in the system.

+

+
+# make install
+
+
+ +

インストールされるファイルは以下の通りです。 +

The following files will be installed.

+

+
実行ファイル +

Executable files +
以下の実行ファイルがインストールされます。 +

The following executable files will be installed. +
+
dnsproxy +
DNS プロキシサーバです。 +
The DNS proxy server.

+

mdnconv +
ゾーンマスタファイル用のコード変換ツールです。 +
The code conversion tool for zone master files.

+

runmdn +
クライアントを再コンパイルすることなしに多言語ドメイン名の名前解決機能を付加するコマンドです。 + デフォルトでは /usr/local/bin にインストールされます。 +
This command adds, without the need for recompiling, the capability to resolve multilingual domain names to clients. It is installed in /usr/local/bin by default.

+

+

dnsproxy は、デフォルトでは /usr/local/sbinにインストールされます。 + インストール先を変えるにはconfigure--sysconfdirオプションを使用します。 +

dnsproxy is installed in /usr/local/sbin by default. If you wish to change the installation location, use the configure --sysconfdir option. +

mdnconv および runmdn は、デフォルトでは /usr/local/bin にインストールされます。 + インストール先を変えるには configure--bindirオプションを使用します。 +

+

mdnconv and runmdn are installed in /usr/local/bin by default. If you wish to change the installation location, use the --bindir option.

+

オンラインマニュアル

+

On-line manuals

+

以下のオンラインマニュアルがインストールされます。 +

The following on-line manuals will be installed.

+
dnsproxy. +
DNS プロキシサーバ dnsproxy のマニュアルです。 +

The dnsproxy, a DNS proxy server, manual

+

mdnconv.1 +
ゾーンマスタファイル用のコード変換ツール mdnconv のマニュアルです。 +

The manual for mdnconv, a zone master file code conversion tool

+

runmdn.1 +
runmdn コマンドのマニュアルです。 +

The runmdn command manual

+

mdnres.conf.5 +
クライアント共通設定ファイル mdnres.conf のオンラインマニュアルです。 +

The on-line manual for mdnres.conf, a shared client configuration file +
+

デフォルトでは /usr/local/man/man8 (dnsproxy.8)、/usr/local/man/man1 (mdnconv.1runmdn.1)、/usr/local/man/man5 (mdnres.conf.5)にそれぞれインストールされます。 +

These manuals are by default installed in /usr/local/man/man8 (dnsproxy.8), /usr/local/man/man1 (mdnconv.1, runmdn.1) and /usr/local/man/man5 (mdnres.conf.5), respectively.

+ インストール先を変えるには、configure--mandir オプションを使用します。 +

+

To change the location of installation, use the --mandir option of configure.

+

設定ファイル +
以下の設定ファイルあるいはそのサンプルファイルがインストールされます。 +

Configuration files +

The following configuration files and sample files will be installed.

+

+
dnsproxy.conf +
DNS プロキシサーバ dnsproxy の設定ファイルの設定例を記述したサンプルファイルです。 + このファイルがすでにインストールされている場合には、上書きしてしまわないように dnsproxy.conf.sample という名前でインストールされます。 +

このファイルの設定方法に関しては DNS Proxy Server のコンフィギュレーションを参照してください。 +

This sample file describes setup examples for the configuration file for dnsproxy, the DNS proxy server. +If this file has already been installed, it is installed under the name dnsproxy.conf.sample so as not to overwrite the previous file. +Refer to DNS Proxy Server Configuration for information on how to set it up.

+

mdnres.conf.sample +
クライアント共通設定ファイル mdnres.conf の設定例を記述したサンプルファイルです。 +

This sample file describes setup examples for mdnres.conf, a shared client configuration file.

+

このファイルの設定方法に関してはmDNkit リゾルバのコンフィギュレーションを参照してください。 +

Refer to the mDNkit resolver configuration for information on how to set it up.

+

+

いずれもデフォルトでは /usr/local/etc にインストールされます。 + インストール先を変えるには、configure--sysconfdir オプションを使用します。 +

+

Both files are by default installed in /usr/local/etc. To change the installation location, use the --sysconfdir option.

+

ライブラリ +
以下のライブラリがインストールされます。 +

Libraries +
The following libraries will be installed.

+

+
libmdn +
dnsproxy や mdnconv 等のコマンドが使用しているmDNkit の基本ライブラリです。 +

A basic mDNkit library that employs dnsproxy, mdnconv and other commands. +

libmdnres +
runmdn コマンドによってクライアントに動的にリンクされるライブラリです。 +

A library dynamically linked to a client using the runmdn command. +
+

いずれのライブラリもデフォルトでは /usr/local/lib にインストールされます。 + インストール先を変えるにはconfigure--libdirオプションを使用します。 +

+

Both libraries are by default installed in /usr/local/lib. To change the installation location, use configure with the --libdir option.

+

ヘッダファイル +
libmdn のヘッダファイルがインストールされます。 + デフォルトでは /usr/local/include の下に mdn というディレクトリが作られ、その下にインストールされます。 + インストール先を変えるには、configure--includedir オプションを使用します。 +

Header file +
Installs the libmdn header file. +This file is by fault installed in the mdn directory under /usr/local/include. +To change the installation location, use the --includedir option in configure. + +
+ +

+ +


+ +

bind9 用パッチの適用とインストール

+

Applying and Installing the bind9 Patch

+

展開したソースの中の$MDNTOP/patch/bind9/bind-9.0.0-patch がBIND 9.0.0 に多言語ドメイン名の処理機能を付加するパッチです。 +パッチの当て方はこのファイルの先頭にも書いてありますが、簡単に紹介すると、次のようになります。 +

$MDNTOP/patch/bind9/bind-9.0.0-patch in extracted source is the patch that adds multilingual domain name processing functionality to BIND 9.0.0. +Information on how to apply the patch is appended to the beginning of the file, but the following is a brief description.

+

    +
  1. BIND 9.0.0 のソースのトップディレクトリ(README というファイルがあるディレクトリです) に移動します。 +

    Move to the BIND 9.0.0 source top directory (the directory that contains the README file). +

    +
    +% cd /somewhere/.../bind-9.0.0
    +
    +
    +
  2. patch コマンドを使用してソースにパッチを当てます。 +

    Use the patch command to apply the patch to the source. +

    +
    +% patch -p0 < $MDNTOP/patch/bind9/bind-9.0.0-patch
    +
    +
    +
+ +

パッチを当てると、トップディレクトリに README.mdnkit というファイルが作られます。コンパイルの前にこのファイルを読んでください。 +

When the patch is applied a README.mdnkit file is created in the top directory. Read this file before compilation.

+ +

そのあとコンパイルとインストールを行います。方法は README.mdnkit +に書かれています。このファイルにも書かれていますが、configure コマンドの実行時に--with-mdn オプションをつけることを忘れないでください。 +このオプションをつけないと多言語ドメイン名の処理機能は付加されません。 +

After this perform compilation and installation. Refer to README.mdnkit for instructions. As stated in this file, be sure to add the --with-mdn option when executing the configure command. Unless this option is added, capability to process multilingual domain names will not be added. + +

+
+% ./configure --with-mdn
+
+
+ +

bind9 用のパッチは mDNkit の本体 (特にライブラリとヘッダファイル) がすでにインストールされていることを前提としています。したがって、この作業はmDNkit 本体のインストール終了後に実行してください。 +

The bind9 patch assumes that the major portion of the mDNkit (especially, the library and header file) is already installed. Consequently, this operation should be performed after the mDNkit has been installed. +

+ +


+ +

bind8 用パッチの適用とインストール

+

Adding and Installing the bind8 patch

+

展開したソースの中の$MDNTOP/patch/bind8/bind-8.2.2-P7-patch がBIND 8.2.2-P7 に対する 8ビットスルーパッチ、また$MDNTOP/patch/bind8/bind-8.2.3-T6B-patch がBIND 8.2.3-T6B に対する 8ビットスルーパッチです。 +パッチの当て方はこれらのファイルの先頭にも書いてありますが、簡単に紹介すると、次のようになります。 +

The $MDNTOP/patch/bind8/bind-8.2.2-P7-patch in the extracted source is the 8-bit through patch for BIND 8.2.2-P7 and the $MDNTOP/patch/bind8/bind-8.2.3-T6B-patch is the 8-bit through patch for BIND 8.2.3-T6B. +Information on how to apply the patch is appended to the beginning of the file, but the following is a brief description. +

    +
  1. BIND 8.2.2-P7 あるいは BIND 8.2.3-T6B のソースのトップディレクトリ(src というサブディレクトリがあるディレクトリです) に移動します。 +

    Move to the top directory of the BIND 8.2.2-P7 or BIND 8.2.3-T6B source (the directory containing the src subdirectory). +

    +
    +% cd /somewhere/.../bind-8.2.2-P7
    +
    +
    +
  2. patch コマンドを使用してソースにパッチを当てます。 +

    Use the patch command to apply the patch to the source. +

    +
    +% patch -p0 < $MDNTOP/patch/bind8/bind-8.2.2-P7-patch
    +
    +
    +
+ +

パッチを当てたら、あとは通常の BIND のインストール方法にしたがってコンパイルとインストールを行ってください。インストール方法は BIND のソース中の src/INSTALL に書かれています。 +

When the patch has been applied, perform compilation and installation according to the standard BIND installation procedure. Refer to src/INSTALL for installation instructions. + +

bind8 用のパッチは BIND を単に 8ビットスルーにするだけで、mDNkit のライブラリ等は使用しません。したがって mDNkit 本体とは独立にコンパイルおよびインストールすることができます。 +

+

The bind8 patch only makes BIND 8-bit through and does not use the mDNkit library. Thus it can be compiled and installed separately from the mDNkit. +


+ +

squid 用パッチの適用とインストール

+

Applying and Installing the squid Patch

+ +

展開したソースの中の $MDNTOP/patch/squid/squid-2.3.STABLE3-patch がSquid 2.3.STABLE3 に対する 8ビットスルーパッチです。 +パッチの当て方はこのファイルの先頭にも書いてありますが、簡単に紹介すると、次のようになります。 +

The $MDNTOP/patch/squid/squid-2.3.STABLE3-patch in the extracted source is the 8-bit through patch for Squid 2.3.STABLE3. +Information on how to apply the patch is appended to the beginning of the file, but the following is a brief description. +

    +
  1. Squid 2.3.STABLE3 のソースのトップディレクトリ (READMEファイルがあるディレクトリです) に移動します。 +

    Move to the top directory of Squid 2.3.STABLE3 source (the directory containing the README file). +

    +
    +% cd /somewhere/.../squid-2.3.STABLE3
    +
    +
    +
  2. patch コマンドを使用してソースにパッチを当てます。 +

    Use the patch command to apply the patch to the source. +

    +
    +% patch -p1 < $MDNTOP/patch/squid/squid-2.3.STABLE3-patch
    +
    +
    +
+ +

パッチを当てたら、あとは通常の Squid のインストール方法にしたがってコンパイルとインストールを行ってください。インストール方法はSquid のソースに含まれる INSTALL ファイルに書かれています。 +

When the patch has been applied, perform compilation and installation according to the standard Squid install procedure. Refer to INSTALL in the Squid source for installation instructions. +

Squid 用のパッチも bind8 用のパッチと同様単に 8ビットスルーにするだけで、mDNkit のライブラリ等は使用しません。 +したがって mDNkit 本体とは独立にコンパイルおよびインストールすることができます。

Both the Squid and the bind8 patches only add 8-bit through capability and does not use any mDNkit library or other function. +Thus they can be compiled and installed independently from the mDNkit. + + + diff --git a/contrib/idn/mdnkit/doc/en/guide/proxyconfig.html b/contrib/idn/mdnkit/doc/en/guide/proxyconfig.html new file mode 100644 index 0000000000..434391e5b4 --- /dev/null +++ b/contrib/idn/mdnkit/doc/en/guide/proxyconfig.html @@ -0,0 +1,389 @@ + + + + +Configuring DNS Proxy Server + + + +

DNS Proxy Server のコンフィギュレーション

+

Configuring DNS Proxy Server

+

+DNS Proxy Server dnsproxyを使うには、いくつかの情報を設定する必要があります。ここでは、これらの情報の設定方法と意味とを説明します。 +

+A number of data items have to be set up to allow use of dnsproxy, the DNS Proxy Server. This draft describes the procedure for setup, and its significance. +