idnkit -- internationalized domain name toolkit -- version 1.0 Japan Network Information Center (JPNIC) Table of contents of this file: 1. Overview 2. Directory structure of this distribution 3. Supported systems 4. Contact information See the file INSTALL for compilation and installation instructions. See the file NEWS for a list of major changes in the current release. 1. Overview idnkit, which was originally known as mDNkit, is a toolkit for handling internationalized domain names. To handle such names, the following features are required: + Encoding conversion Multilingualized domain names have to be converted from the encoding application uses (local encoding) to the encoding used for name resolution (IDN encoding), and vice versa. Since domain names in IDN encoding just look like good old ASCII domain names, the encoding is also known as ASCII-compatible encoding (ACE). + NAMEPREP Name preparation of domain names before converting to IDN encoding. Basically this is a normalization process of the domain names. These conversion/nameprep processes to domain names have to be performed before they are sent to DNS servers. And since the processed domain names (in IDN encoding) consist of only legal ASCII characters, no changes are required to DNS servers. idnkit provides several ways for adding these features. This kit consists of following components. + library for handling internationalized domain names (libidnkit, libidnkitlite) Those libraries implement encoding conversion and nameprep. They provide easy-to-use APIs for handling internationalized domain name in your applications. Both libraries provide almost the same API. The difference between them is that libidnkit internally uses iconv() function to provide encoding conversion from UTF-8 to the local encoding (such as iso-8859-1, usually determined by the current locale), and vise versa. The idnconv and runidn commands in this toolkit use libidnkit. libidnkitlite is lightweight version of libidnkit. It assumes local encoding is UTF-8 so that it never uses iconv(). + codeset conversion utility (idnconv) This command can convert internationalized domain name written in local encoding (e.g. EUC-JP) to ACE or the opposite direction. It can also convert named.conf and zone master files for BIND. + command which adds IDN feature dynamically to unix applications (runidn) This command enables normal applications to handle internationalized domain names by dynamically attaching special library to them. See ``2. using runidn'' below. Note that this command is not installed unless you specify the `--enable-runidn' option to `configure'. See the file `INSTALL' for more information about installation. + patch for BIND9 that adds IDN capability This patch adds IDN capability to BIND9. It adds encoding conversion and nameprep features to `dig', `host' and `nslookup'. With the patch, those commands become capable of internationalized domain names. + IDN wrapper for Windows applications On windows, name resolving request is passed to WINSOCK DLL. So, replacing WINSOCK DLL with multi-lingual domain name version makes legacy windows applications compatible with IDN. This is wrapper DLL for WINSOCK's name resolving functions. See ``3. using IDN wrapper'' below. 2. Directory structure of this distribution Below is a directory structure of this distribution with some important files and their brief description. +README this file +README.ja .. in Japanese +INSTALL compilation and installation instructions. +INSTALL.ja .. in Japanese +DISTFILES list of files in this distribution +NEWS what's new in this version +ChangeLog list of changes +Makefile.in toplevel makefile template +configure a `configure' script +include/ | +config.h.in template header file for configuration | +idn/ header files for libidnkit and libindkitlite | +mdn/ header files for backward compatibility +lib/ source for libidnkit and libidnkitlite +patch/ | +bind9/ BIND9 patch +tools/ | +idnconv/ source for idnconv command | +runidn/ source for runidn command +util/ utilities +wsock/ source for IDN wrapper 3. Supported systems We've had successful builds on the following systems: ------------------------------------------------------------------- OS iconv library configure options =================================================================== FreeBSD 4.7-RELEASE GNU libiconv --with-libiconv for Intel 1.8 ------------------------------------------------------------------- Red Hat Linux 7.3 standard library none for Intel (glibc) ------------------------------------------------------------------- Solaris 9 standard library none for Sparc (libc) ------------------------------------------------------------------- The latest information about supported/unsupported systems will be found at the mdnkit FAQ page linked from: http://www.nic.ad.jp/en/idn/ 4. Contact information Please see http://www.nic.ad.jp/en/idn/ for the latest news about this kit. Bug reports and comments on this kit should be sent to mdnkit-bugs@nic.ad.jp and idn-cmt@nic.ad.jp respectively. ; $Id: README,v 1.1.1.1 2003/06/04 00:24:58 marka Exp $