📄 bind-9.2.2-patch
字号:
IDN patch for bind-9.2.2========================This is a patch file for ISC BIND 9.2.2 to make it work withinternationalized domain names. With this patch you'll get IDN-awaredig/host/nslookup.To apply this patch, you should go to the top directory of the BINDdistribution (where you see `README' file), then invoke `patch'command like this: % patch -p0 < this-fileThen follow the instructions described in `README.idnkit' to compileand install.Index: README.idnkitdiff -c /dev/null mdn/othersrc/bind9/README.idnkit:1.3*** README.idnkit Tue Mar 11 08:55:20 2003--- README.idnkit Mon Mar 10 09:47:41 2003****************** 0 ****--- 1,113 ----+ + BIND-9 IDN patch+ + Japan Network Information Center (JPNIC)+ + + * What is this patch for?+ + This patch adds internationalized domain name (IDN) support to BIND-9.+ You'll get internationalized version of dig/host/nslookup commands.+ + + internationalized dig/host/nslookup+ dig/host/nslookup accepts non-ASCII domain names in the local+ codeset (such as Shift JIS, Big5 or ISO8859-1) determined by+ the locale information. The domain names are normalized and+ converted to the encoding on the DNS protocol, and sent to DNS+ servers. The replies are converted back to the local codeset+ and displayed.+ + + * Compilation & installation+ + 0. Prerequisite+ + You have to build and install idnkit before building this patched version+ of bind-9.+ + 1. Running configure script+ + Run `configure' in the top directory. See `README' for the+ configuration options.+ + This patch adds the following 4 options to `configure'. You should+ at least specify `--with-idn' option to enable IDN support.+ + --with-idn[=IDN_PREFIX]+ To enable IDN support, you have to specify `--with-idn' option.+ The argument IDN_PREFIX is the install prefix of idnkit. If+ IDN_PREFIX is omitted, PREFIX (derived from `--prefix=PREFIX')+ is assumed.+ + --with-libiconv[=LIBICONV_PREFIX]+ Specify this option if idnkit you have installed links GNU+ libiconv. The argument LIBICONV_PREFIX is install prefix of+ GNU libiconv. If the argument is omitted, PREFIX (derived+ from `--prefix=PREFIX') is assumed.+ + `--with-libiconv' is shorthand option for GNU libiconv.+ + --with-libiconv=/usr/local+ + This is equivalent to:+ + --with-iconv='-L/usr/local/lib -R/usr/local/lib -liconv'+ + `--with-libiconv' assumes that your C compiler has `-R'+ option, and that the option adds the specified run-time path+ to an exacutable binary. If `-R' option of your compiler has+ different meaning, or your compiler lacks the option, you+ should use `--with-iconv' option instead. Binary command+ without run-time path information might be unexecutable.+ In that case, you would see an error message like:+ + error in loading shared libraries: libiconv.so.2: cannot+ open shared object file+ + If both `--with-libiconv' and `--with-iconv' options are+ specified, `--with-iconv' is prior to `--with-libiconv'.+ + --with-iconv=ICONV_LIBSPEC+ If your libc doens't provide iconv(), you need to specify the+ library containing iconv() with this option. `ICONV_LIBSPEC'+ is the argument(s) to `cc' or `ld' to link the library, for+ example, `--with-iconv="-L/usr/local/lib -liconv"'.+ You don't need to specify the header file directory for "iconv.h"+ to the compiler, as it isn't included directly by bind-9 with+ this patch.+ + --with-idnlib=IDN_LIBSPEC+ With this option, you can explicitly specify the argument(s)+ to `cc' or `ld' to link the idnkit's library, `libidnkit'. If+ this option is not specified, `-L${PREFIX}/lib -lidnkit' is+ assumed, where ${PREFIX} is the installation prefix specified+ with `--with-idn' option above. You may need to use this+ option to specify extra argments, for example,+ `--with-idnlib="-L/usr/local/lib -R/usr/local/lib -lidnkit"'.+ + Please consult `README' for other configuration options.+ + Note that if you want to specify some extra header file directories,+ you should use the environment variable STD_CINCLUDES instead of+ CFLAGS, as described in README.+ + 2. Compilation and installation+ + After running "configure", just do+ + make+ make install+ + for compiling and installing.+ + + * Contact information+ + Please see http//www.nic.ad.jp/en/idn/ for the latest news+ about idnkit and this patch.+ + Bug reports and comments on this kit should be sent to+ mdnkit-bugs@nic.ad.jp and idn-cmt@nic.ad.jp, respectively.+ + + ; $Id: bind-9.2.2-patch,v 1.1.1.1 2003/06/04 00:27:32 marka Exp $Index: config.h.indiff -c mdn/othersrc/bind9/config.h.in:1.1.1.6 mdn/othersrc/bind9/config.h.in:1.12*** config.h.in Tue Nov 27 16:55:45 2001--- config.h.in Tue Mar 19 16:45:35 2002****************** 141,146 ****--- 141,149 ---- /* define if you have strerror in the C library. */ #undef HAVE_STRERROR + /* Define if you have the setlocale function. */+ #undef HAVE_SETLOCALE+ /* Define if you have the <dlfcn.h> header file. */ #undef HAVE_DLFCN_H ****************** 150,155 ****--- 153,161 ---- /* Define if you have the <linux/capability.h> header file. */ #undef HAVE_LINUX_CAPABILITY_H + /* Define if you have the <locale.h> header file. */+ #undef HAVE_LOCALE_H+ /* Define if you have the <sys/prctl.h> header file. */ #undef HAVE_SYS_PRCTL_H ****************** 176,178 ****--- 182,188 ---- /* Define if you have the socket library (-lsocket). */ #undef HAVE_LIBSOCKET+ + /* define if idnkit support is to be included. */+ #undef WITH_IDN+ Index: configurediff -c mdn/othersrc/bind9/configure:1.1.1.10 mdn/othersrc/bind9/configure:1.16*** configure Wed Mar 5 17:14:55 2003--- configure Thu Mar 6 20:10:05 2003****************** 1007,1012 ****--- 1007,1016 ---- --with-gnu-ld assume the C compiler uses GNU ld default=no --with-pic try to use only PIC/non-PIC objects default=use both --with-kame=PATH use Kame IPv6 default path /usr/local/v6+ --with-idn=MPREFIX enable IDN support using idnkit default PREFIX+ --with-libiconv=IPREFIX GNU libiconv are in IPREFIX default PREFIX+ --with-iconv=LIBSPEC specify iconv library default -liconv+ --with-idnlib=ARG specify libidnkit Some influential environment variables: CC C compiler command****************** 7371,7377 **** case $host in *-*-irix6*) # Find out which ABI we are using.! echo '#line 7374 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$?--- 7375,7381 ---- case $host in *-*-irix6*) # Find out which ABI we are using.! echo '#line 7378 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$?****************** 7914,7920 **** save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -o out/conftest2.$ac_objext" compiler_c_o=no! if { (eval echo configure:7917: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test -s out/conftest.err; then--- 7918,7924 ---- save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -o out/conftest2.$ac_objext" compiler_c_o=no! if { (eval echo configure:7921: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>out/conftest.err; } && test -s out/conftest2.$ac_objext; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings if test -s out/conftest.err; then****************** 9599,9605 **** lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF! #line 9602 "configure" #include "confdefs.h" #if HAVE_DLFCN_H--- 9603,9609 ---- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF! #line 9606 "configure" #include "confdefs.h" #if HAVE_DLFCN_H****************** 9697,9703 **** lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF! #line 9700 "configure" #include "confdefs.h" #if HAVE_DLFCN_H--- 9701,9707 ---- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF! #line 9704 "configure" #include "confdefs.h" #if HAVE_DLFCN_H****************** 13265,13270 ****--- 13269,13580 ---- #+ # IDN support+ #+ + # Check whether --with-idn or --without-idn was given.+ if test "${with_idn+set}" = set; then+ withval="$with_idn"+ use_idn="$withval"+ else+ use_idn="no"+ fi;+ case "$use_idn" in+ yes)+ if test X$prefix = XNONE ; then+ idn_path=/usr/local+ else+ idn_path=$prefix+ fi+ ;;+ no)+ ;;+ *)+ idn_path="$use_idn"+ ;;+ esac+ + iconvinc=+ iconvlib=+ + # Check whether --with-libiconv or --without-libiconv was given.+ if test "${with_libiconv+set}" = set; then+ withval="$with_libiconv"+ use_libiconv="$withval"+ else+ use_libiconv="no"+ fi;+ case "$use_libiconv" in+ yes)+ if test X$prefix = XNONE ; then+ iconvlib="-L/usr/local/lib -R/usr/local/lib -liconv"+ else+ iconvlib="-L$prefix/lib -R$prefix/lib -liconv"+ fi+ ;;+ no)+ iconvlib=+ ;;+ *)+ iconvlib="-L$use_libiconv/lib -R$use_libiconv/lib -liconv"+ ;;+ esac+ + + # Check whether --with-iconv or --without-iconv was given.+ if test "${with_iconv+set}" = set; then+ withval="$with_iconv"+ iconvlib="$withval"+ fi;+ case "$iconvlib" in+ no)+ iconvlib=+ ;;+ yes)+ iconvlib=-liconv+ ;;+ esac+ + + # Check whether --with-idnlib or --without-idnlib was given.+ if test "${with_idnlib+set}" = set; then+ withval="$with_idnlib"+ idnlib="$withval"+ else+ idnlib="no"+ fi;+ if test "$idnlib" = yes; then+ { { echo "$as_me:$LINENO: error: You must specify ARG for --with-idnlib." >&5+ echo "$as_me: error: You must specify ARG for --with-idnlib." >&2;}+ { (exit 1); exit 1; }; }+ fi+ + IDNLIBS=+ if test "$use_idn" != no; then+ + cat >>confdefs.h <<\_ACEOF+ #define WITH_IDN 1+ _ACEOF+ + STD_CINCLUDES="$STD_CINCLUDES -I$idn_path/include"+ if test "$idnlib" != no; then+ IDNLIBS="$idnlib $iconvlib"+ else+ IDNLIBS="-L$idn_path/lib -lidnkit $iconvlib"+ fi+ fi+ + + + for ac_header in locale.h+ do+ as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`+ if eval "test \"\${$as_ac_Header+set}\" = set"; then+ echo "$as_me:$LINENO: checking for $ac_header" >&5+ echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6+ if eval "test \"\${$as_ac_Header+set}\" = set"; then+ echo $ECHO_N "(cached) $ECHO_C" >&6+ fi+ echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5+ echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6+ else+ # Is the header compilable?+ echo "$as_me:$LINENO: checking $ac_header usability" >&5+ echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6+ cat >conftest.$ac_ext <<_ACEOF+ #line $LINENO "configure"+ #include "confdefs.h"+ $ac_includes_default+ #include <$ac_header>+ _ACEOF+ rm -f conftest.$ac_objext+ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5+ (eval $ac_compile) 2>&5+ ac_status=$?+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -