README
1
2 idnkit
3 -- internationalized domain name toolkit --
4 version 1.0
5 Japan Network Information Center (JPNIC)
6
7
8Table of contents of this file:
9
10 1. Overview
11 2. Directory structure of this distribution
12 3. Supported systems
13 4. Contact information
14
15See the file INSTALL for compilation and installation instructions.
16See the file NEWS for a list of major changes in the current release.
17
18
191. Overview
20
21idnkit, which was originally known as mDNkit, is a toolkit for handling
22internationalized domain names. To handle such names, the following
23features are required:
24
25 + Encoding conversion
26 Multilingualized domain names have to be converted from
27 the encoding application uses (local encoding) to
28 the encoding used for name resolution (IDN encoding), and
29 vice versa. Since domain names in IDN encoding just look
30 like good old ASCII domain names, the encoding is also known
31 as ASCII-compatible encoding (ACE).
32
33 + NAMEPREP
34 Name preparation of domain names before converting to
35 IDN encoding. Basically this is a normalization process
36 of the domain names.
37
38These conversion/nameprep processes to domain names have to be
39performed before they are sent to DNS servers. And since the
40processed domain names (in IDN encoding) consist of only legal ASCII
41characters, no changes are required to DNS servers.
42
43idnkit provides several ways for adding these features.
44
45This kit consists of following components.
46
47 + library for handling internationalized domain names
48 (libidnkit, libidnkitlite)
49 Those libraries implement encoding conversion and nameprep.
50 They provide easy-to-use APIs for handling internationalized
51 domain name in your applications.
52
53 Both libraries provide almost the same API. The difference
54 between them is that libidnkit internally uses iconv() function
55 to provide encoding conversion from UTF-8 to the local encoding
56 (such as iso-8859-1, usually determined by the current locale),
57 and vise versa. The idnconv and runidn commands in this toolkit
58 use libidnkit.
59
60 libidnkitlite is lightweight version of libidnkit. It assumes
61 local encoding is UTF-8 so that it never uses iconv().
62
63 + codeset conversion utility (idnconv)
64 This command can convert internationalized domain name written
65 in local encoding (e.g. EUC-JP) to ACE or the opposite direction.
66 It can also convert named.conf and zone master files for BIND.
67
68 + command which adds IDN feature dynamically to unix applications
69 (runidn)
70 This command enables normal applications to handle
71 internationalized domain names by dynamically attaching special
72 library to them. See ``2. using runidn'' below.
73
74 Note that this command is not installed unless you specify the
75 `--enable-runidn' option to `configure'. See the file `INSTALL'
76 for more information about installation.
77
78 + patch for BIND9 that adds IDN capability
79 This patch adds IDN capability to BIND9. It adds encoding
80 conversion and nameprep features to `dig', `host' and
81 `nslookup'. With the patch, those commands become capable of
82 internationalized domain names.
83
84 + IDN wrapper for Windows applications
85 On windows, name resolving request is passed to WINSOCK DLL. So,
86 replacing WINSOCK DLL with multi-lingual domain name version
87 makes legacy windows applications compatible with IDN. This is
88 wrapper DLL for WINSOCK's name resolving functions. See
89 ``3. using IDN wrapper'' below.
90
91
922. Directory structure of this distribution
93
94Below is a directory structure of this distribution with some
95important files and their brief description.
96
97 +README this file
98 +README.ja .. in Japanese
99 +INSTALL compilation and installation instructions.
100 +INSTALL.ja .. in Japanese
101 +DISTFILES list of files in this distribution
102 +NEWS what's new in this version
103 +ChangeLog list of changes
104 +Makefile.in toplevel makefile template
105 +configure a `configure' script
106 +include/
107 | +config.h.in template header file for configuration
108 | +idn/ header files for libidnkit and libindkitlite
109 | +mdn/ header files for backward compatibility
110 +lib/ source for libidnkit and libidnkitlite
111 +patch/
112 | +bind9/ BIND9 patch
113 +tools/
114 | +idnconv/ source for idnconv command
115 | +runidn/ source for runidn command
116 +util/ utilities
117 +wsock/ source for IDN wrapper
118
119
1203. Supported systems
121
122We've had successful builds on the following systems:
123
124 -------------------------------------------------------------------
125 OS iconv library configure options
126 ===================================================================
127 FreeBSD 4.7-RELEASE GNU libiconv --with-libiconv
128 for Intel 1.8
129 -------------------------------------------------------------------
130 Red Hat Linux 7.3 standard library none
131 for Intel (glibc)
132 -------------------------------------------------------------------
133 Solaris 9 standard library none
134 for Sparc (libc)
135 -------------------------------------------------------------------
136
137The latest information about supported/unsupported systems will be
138found at the mdnkit FAQ page linked from:
139
140 http://www.nic.ad.jp/en/idn/
141
142
1434. Contact information
144
145Please see
146
147 http://www.nic.ad.jp/en/idn/
148
149for the latest news about this kit.
150Bug reports and comments on this kit should be sent to
151
152 mdnkit-bugs@nic.ad.jp
153and
154 idn-cmt@nic.ad.jp
155
156respectively.
157
158
159; $Id: README,v 1.1 2003/06/04 00:24:58 marka Exp $
160
README.ja
1
2 idnkit
3 -- $B9q:]2=%I%a%$%sL>%D!<%k%-%C%H(B --
4 $B%P!<%8%g%s(B 1.0
5 ($B<R(B) $BF|K\%M%C%H%o!<%/%$%s%U%)%a!<%7%g%s%;%s%?!<(B (JPNIC)
6
7
8$B$3$N%U%!%$%k$NL\<!(B:
9
10 1. $B35MW(B
11 2. $B%G%#%l%/%H%j9=@.(B
12 3. $BK\%-%C%H$,BP1~$7$F$$$k%7%9%F%`(B
13 4. $BK\%-%C%H$K4X$9$k:G?7>pJs!"Ld$$9g$o$;$K$D$$$F(B
14
15$B%3%s%Q%$%k$*$h$S%$%s%9%H!<%kJ}K!$K$D$$$F$O!"(BINSTALL.ja $B$H$$$&%U%!%$%k$r(B
16$B$4Mw2<$5$$!#$3$N%P!<%8%g%s$G$N<g$JJQ99E@$KIU$$$F$O!"(B($B1QJ8$G$9$,(B) NEWS
17$B$H$$$&%U%!%$%k$r$4Mw2<$5$$!#(B
18
19
201. $B35MW(B
21
22idnkit ($B5l>N(B mDNkit) $B$H$O9q:]2=%I%a%$%sL>$r07$&$?$a$N%D!<%k%-%C%H$G$9!#(B
23$B9q:]2=%I%a%$%sL>$r07$&$?$a$K$O!"<!$N$h$&$J5!G=$,MW5a$5$l$^$9!#(B
24
25$B!&%(%s%3!<%G%#%s%0JQ49(B
26 $B9q:]2=%I%a%$%sL>$KBP$7$F!"$=$N%(%s%3!<%G%#%s%0$r%"%W%j%1!<%7%g%s$,;H(B
27 $BMQ$7$F$$$k$b$N(B ($B%m!<%+%k%(%s%3!<%G%#%s%0(B) $B$+$iL>A02r7h$KMQ$$$i$l$k$b(B
28 $B$N(B (IDN $B%(%s%3!<%G%#%s%0(B) $B$X$NJQ49!"$^$?$=$N5UJ}8~$NJQ49$r9T$$$^$9!#(B
29 $B%I%a%$%sL>$r(B IDN $B%(%s%3!<%G%#%s%0$K$7$?7k2L$O!"=>Mh$N%I%a%$%sL>$HF1(B
30 $B$8$/(B ASCII $BJ8;z$N$_$G9=@.$5$l$k$N$G!"(BIDN $B%(%s%3!<%G%#%s%0$O(BASCII $B8_(B
31 $B49%(%s%3!<%G%#%s%0(B (ACE) $B$H$b8F$P$l$^$9!#(B
32
33$B!&(BNAMEPREP
34 $B%I%a%$%sL>$r(B IDN $B%(%s%3!<%G%#%s%0$KJQ49$9$kA0$K!"L>A0$N@55,2=$r9T$$(B
35 $B$^$9!#$3$l$r(B NAMEPREP $B$H8F$S$^$9!#(B
36
37$B>e5-$N=hM}$O%I%a%$%sL>$r(B DNS $B%5!<%P$KAw$kA0$K<B9T$9$kI,MW$,$"$j$^$9!#(B
38$B=hM}:Q$N%I%a%$%sL>$O(B ASCII $BJ8;z$+$i9=@.$5$l!"=>Mh$N(B ASCII $B%I%a%$%sL>$H(B
39$B$7$F$b@5$7$$7A<0$K$J$C$F$$$k$N$G!"(BDNS $B%5!<%PB&$K$O$J$s$NJQ99$bI,MW$"$j(B
40$B$^$;$s!#(B
41
42$B$3$NG[I[%-%C%H$K$O<!$N$h$&$J$b$N$,4^$^$l$^$9!#(B
43
44$B!&9q:]2=%I%a%$%sL>$r=hM}$9$k$?$a$N%i%$%V%i%j(B (libidnkit, libidnkitlite)
45 $B$3$l$i$N%i%$%V%i%j$G$O!"%(%s%3!<%G%#%s%0JQ49$d(B NAMEPREP $B$N5!G=$r<B(B
46 $BAu$7$F$*$j!"%"%W%j%1!<%7%g%s$,9q:]2=%I%a%$%sL>$r4JC1$K07$($k$h$&$K(B
47 $B$9$k$?$a$N(B API $B$rHw$($F$$$^$9!#(B
48
49 $B$I$A$i$N%i%$%V%i%j$b$[$H$s$IF1$8(B API $B$rDs6!$7$^$9!#N><T$NAj0cE@$G$9(B
50 $B$,!"(Blibidnkit $B$N$[$&$O(B iconv() $B4X?t$r;H$C$F(B UTF-8 $B$H%m!<%+%k%(%s%3!<(B
51 $B%G%#%s%0(B (iso-8859-1 $B$J$I!"DL>o$O(B locale $B$+$i7hDj$5$l$^$9(B) $B$H$N4V$N(B
52 $BJQ495!G=$rDs6!$7$F$$$^$9!#K\%D!<%k%-%C%HIUB0$N(B idnconv $B$*$h$S(B runidn
53 $B$O(B libidnkit $B$r;HMQ$7$F$$$^$9!#(B
54
55 libidnkitlite $B$O(B libidnkit $B$N7ZNLHG$G$9!#%m!<%+%k%(%s%3!<%G%#%s%0$O(B
56 $B>o$K(B UTF-8 $B$@$H2>Dj$7$F$*$j!"(Biconv() $B$O;HMQ$7$^$;$s!#(B
57
58$B!&%3!<%I%;%C%H%3%s%P!<%?(B (idnconv)
59 $B%m!<%+%k%(%s%3!<%G%#%s%0(B ($B$?$H$($P(B EUC-JP) $B$G=q$+$l$?9q:]2=%I%a%$%s(B
60 $BL>$+$i(B ACE $B$X$NJQ49$d!"$=$N5UJQ49$r9T$($k%3%^%s%I$G$9!#(BBIND $BMQ$N(B
61 named.conf $B$d%>!<%s%^%9%?%U%!%$%k$rJQ49$9$k$3$H$b2DG=$G$9!#(B
62
63$B!&(BUNIX $B%"%W%j%1!<%7%g%s$K(B IDN $B5!G=$rF0E*$KDI2C$9$k%3%^%s%I(B (runidn)
64 UNIX $B$NDL>o$N%"%W%j%1!<%7%g%s$G9q:]2=%I%a%$%sL>$r<h$j07$&$?$a$K!"FC(B
65 $BJL$J%i%$%V%i%j$rF0E*$K%j%s%/$9$k$?$a$N%3%^%s%I$G$9!#>\$7$/$O!"8e=R$N(B
66 $B!V(B2. runidn $B$r;H$&!W$r8fMw$/$@$5$$!#(B
67
68 $B$J$*!"(Bconfigure $B<B9T;~$K(B `--enable-runidn' $B$r;XDj$7$J$$$H!"(Brunidn $B$O(B
69 $B%$%s%9%H!<%k$5$l$^$;$s!#%$%s%9%H!<%k$K4X$7$F!">\$7$/$O(B INSTALL.ja $B$H(B
70 $B$$$&%U%!%$%k$r$4Mw$/$@$5$$!#(B
71
72$B!&(BBIND9 $B$K(B IDN $B5!G=$rDI2C$9$k%Q%C%A(B
73 BIND $B$K(B IDN $B$N5!G=$rDI2C$9$k%Q%C%A$G$9!#(B`dig'$B!"(B`host'$B!"(B`nslookup' $B$K(B
74 $B%(%s%3!<%G%#%s%0JQ49$H(B NAMEPREP $B$N5!G=$rDI2C$7!"9q:]2=%I%a%$%sL>$,07(B
75 $B$($k$h$&$K$7$^$9!#(B
76
77$B!&(BWindows $B%"%W%j%1!<%7%g%sMQ$N(B IDN $B%i%C%Q!<(B
78 WINSOCK $B$NL>A02r7h5!G=$KBP$9$k%i%C%Q!<(B DLL $B$G$9!#(BWindows $B>e$G$O!"L>(B
79 $BA02r7h$NMW5a$O!"(BWINSOCK DLL $B$rDL$7$F9T$o$l$^$9!#$=$3$G!"$3$l$r9q:]2=(B
80 $B%I%a%$%sMQ$N(B WINSOCK DLL $B$KCV$-49$($k$3$H$G!"=>Mh$N(B Windows $B%"%W%j%1!<(B
81 $B%7%g%s$G$b(B IDN $B5!G=$r;HMQ$G$-$k$h$&$K$7$^$9!#>\$7$/$O!"8e=R$N(B
82 $B!V(B3. IDN $B%i%C%Q!<$r;H$&!W$r8fMw$/$@$5$$!#(B
83
84
852. $B%G%#%l%/%H%j9=@.(B
86
87$BG[I[%-%C%H$N%G%#%l%/%H%j9=@.$H!"<gMW$J%U%!%$%k$r<($7$^$9!#(B
88
89 +README $B1Q8lHG$N(B README
90 +README.ja $B$3$N%U%!%$%k(B
91 +INSTALL $B1Q8lHG$N(B INSTALL
92 +INSTALL.ja $B%3%s%Q%$%k$H%$%s%9%H!<%kJ}K!(B
93 +DISTFILES $BG[I[$5$l$k%U%!%$%k0lMw(B
94 +NEWS $B<g$JJQ99(B
95 +ChangeLog $BJQ99>\:Y(B
96 +configure configure $B%9%/%j%W%H(B
97 +Makefile.in $B%H%C%W%l%Y%k$N(B Makefile $B$N%F%s%W%l!<%H(B
98 +include/
99 | +config.h.in config.h $B$N%F%s%W%l!<%H(B
100 | +idn/ libidnkit, libidnkitlite $B$N%X%C%@%U%!%$%k(B
101 | +mdn/ $B5l%P!<%8%g%s$H$N8_49MQ%X%C%@%U%!%$%k(B
102 +lib/ libidnkit, libidnkitlite $B$N%=!<%9(B
103 +patch/
104 | +bind9/ BIND9 $BMQ%Q%C%A(B
105 +tools/
106 | +idnconv/ idnconv $B%3%^%s%I$N%=!<%9(B
107 | +runidn/ runidn $B%3%^%s%I$N%=!<%9(B
108 +util/ $B%f!<%F%#%j%F%#(B
109 +wsock/ IDN $B%i%C%Q!<$N%=!<%9(B
110
111
1123. $BK\%-%C%H$,BP1~$7$F$$$k%7%9%F%`(B
113
114$B@5>o$K%$%s%9%H!<%k$G$-$k$3$H$,3NG'$G$-$F$$$k$N$O!"<!$N%7%9%F%`$G$9!#(B
115
116 ------------------------------------------------------------------
117 OS iconv configure $B$N%*%W%7%g%s(B
118 ==================================================================
119 FreeBSD 4.7-RELEASE GNU libiconv --with-libiconv
120 Intel 1.8
121 -------------------------------------------------------------------
122 Red Hat Linux 7.3 $BI8=`%i%$%V%i%j(B $B$J$7(B
123 Intel (glibc)
124 ------------------------------------------------------------------
125 Solaris 9 $BI8=`%i%$%V%i%j(B $B$J$7(B
126 Sparc (libc)
127 -------------------------------------------------------------------
128
129$BK\%-%C%H$,BP1~$7$F$$$k(B/$B$7$F$$$J$$%7%9%F%`$K4X$9$k:G?7$N>pJs$O!"<!$N$H(B
130$B$3$m$+$iC)$l$k(B mdnkit FAQ $B$N%Z!<%8$K5-$5$l$F$$$^$9!#(B
131
132 http://www.nic.ad.jp/ja/idn/
133
134
1354. $BK\%-%C%H$K4X$9$k:G?7>pJs!"Ld$$9g$o$;$K$D$$$F(B
136
137$BK\%-%C%H$K4X$9$k:G?7>pJs$K$D$$$F$O!"(B
138
139 http://www.nic.ad.jp/ja/idn/
140
141$B$r;2>H$7$F$/$@$5$$(B
142$BK\%-%C%H$K4X$9$k%P%0%l%]!<%H$*$h$S%3%a%s%H$O!"$=$l$>$l(B
143
144 mdnkit-bugs@nic.ad.jp
145$B$*$h$S(B
146 idn-cmt@nic.ad.jp
147
148$B$X$*4j$$$7$^$9!#(B
149
150
151; $Id: README.ja,v 1.1 2003/06/04 00:24:59 marka Exp $
152