idnkit -- 国際化ドメイン名ツールキット -- バージョン 1.0 (社) 日本ネットワークインフォメーションセンター (JPNIC) このファイルの目次: 1. 概要 2. ディレクトリ構成 3. 本キットが対応しているシステム 4. 本キットに関する最新情報、問い合わせについて コンパイルおよびインストール方法については、INSTALL.ja というファイルを ご覧下さい。このバージョンでの主な変更点に付いては、(英文ですが) NEWS というファイルをご覧下さい。 1. 概要 idnkit (旧称 mDNkit) とは国際化ドメイン名を扱うためのツールキットです。 国際化ドメイン名を扱うためには、次のような機能が要求されます。 ・エンコーディング変換 国際化ドメイン名に対して、そのエンコーディングをアプリケーションが使 用しているもの (ローカルエンコーディング) から名前解決に用いられるも の (IDN エンコーディング) への変換、またその逆方向の変換を行います。 ドメイン名を IDN エンコーディングにした結果は、従来のドメイン名と同 じく ASCII 文字のみで構成されるので、IDN エンコーディングはASCII 互 換エンコーディング (ACE) とも呼ばれます。 ・NAMEPREP ドメイン名を IDN エンコーディングに変換する前に、名前の正規化を行い ます。これを NAMEPREP と呼びます。 上記の処理はドメイン名を DNS サーバに送る前に実行する必要があります。 処理済のドメイン名は ASCII 文字から構成され、従来の ASCII ドメイン名と しても正しい形式になっているので、DNS サーバ側にはなんの変更も必要あり ません。 この配布キットには次のようなものが含まれます。 ・国際化ドメイン名を処理するためのライブラリ (libidnkit, libidnkitlite) これらのライブラリでは、エンコーディング変換や NAMEPREP の機能を実 装しており、アプリケーションが国際化ドメイン名を簡単に扱えるように するための API を備えています。 どちらのライブラリもほとんど同じ API を提供します。両者の相違点です が、libidnkit のほうは iconv() 関数を使って UTF-8 とローカルエンコー ディング (iso-8859-1 など、通常は locale から決定されます) との間の 変換機能を提供しています。本ツールキット付属の idnconv および runidn は libidnkit を使用しています。 libidnkitlite は libidnkit の軽量版です。ローカルエンコーディングは 常に UTF-8 だと仮定しており、iconv() は使用しません。 ・コードセットコンバータ (idnconv) ローカルエンコーディング (たとえば EUC-JP) で書かれた国際化ドメイン 名から ACE への変換や、その逆変換を行えるコマンドです。BIND 用の named.conf やゾーンマスタファイルを変換することも可能です。 ・UNIX アプリケーションに IDN 機能を動的に追加するコマンド (runidn) UNIX の通常のアプリケーションで国際化ドメイン名を取り扱うために、特 別なライブラリを動的にリンクするためのコマンドです。詳しくは、後述の 「2. runidn を使う」を御覧ください。 なお、configure 実行時に `--enable-runidn' を指定しないと、runidn は インストールされません。インストールに関して、詳しくは INSTALL.ja と いうファイルをご覧ください。 ・BIND9 に IDN 機能を追加するパッチ BIND に IDN の機能を追加するパッチです。`dig'、`host'、`nslookup' に エンコーディング変換と NAMEPREP の機能を追加し、国際化ドメイン名が扱 えるようにします。 ・Windows アプリケーション用の IDN ラッパー WINSOCK の名前解決機能に対するラッパー DLL です。Windows 上では、名 前解決の要求は、WINSOCK DLL を通して行われます。そこで、これを国際化 ドメイン用の WINSOCK DLL に置き換えることで、従来の Windows アプリケー ションでも IDN 機能を使用できるようにします。詳しくは、後述の 「3. IDN ラッパーを使う」を御覧ください。 2. ディレクトリ構成 配布キットのディレクトリ構成と、主要なファイルを示します。 +README 英語版の README +README.ja このファイル +INSTALL 英語版の INSTALL +INSTALL.ja コンパイルとインストール方法 +DISTFILES 配布されるファイル一覧 +NEWS 主な変更 +ChangeLog 変更詳細 +configure configure スクリプト +Makefile.in トップレベルの Makefile のテンプレート +include/ | +config.h.in config.h のテンプレート | +idn/ libidnkit, libidnkitlite のヘッダファイル | +mdn/ 旧バージョンとの互換用ヘッダファイル +lib/ libidnkit, libidnkitlite のソース +patch/ | +bind9/ BIND9 用パッチ +tools/ | +idnconv/ idnconv コマンドのソース | +runidn/ runidn コマンドのソース +util/ ユーティリティ +wsock/ IDN ラッパーのソース 3. 本キットが対応しているシステム 正常にインストールできることが確認できているのは、次のシステムです。 ------------------------------------------------------------------ OS iconv configure のオプション ================================================================== FreeBSD 4.7-RELEASE GNU libiconv --with-libiconv Intel 1.8 ------------------------------------------------------------------- Red Hat Linux 7.3 標準ライブラリ なし Intel (glibc) ------------------------------------------------------------------ Solaris 9 標準ライブラリ なし Sparc (libc) ------------------------------------------------------------------- 本キットが対応している/していないシステムに関する最新の情報は、次のと ころから辿れる mdnkit FAQ のページに記されています。 http://www.nic.ad.jp/ja/idn/ 4. 本キットに関する最新情報、問い合わせについて 本キットに関する最新情報については、 http://www.nic.ad.jp/ja/idn/ を参照してください 本キットに関するバグレポートおよびコメントは、それぞれ mdnkit-bugs@nic.ad.jp および idn-cmt@nic.ad.jp へお願いします。 ; $Id: README.ja,v 1.1.1.1 2003/06/04 00:24:59 marka Exp $