diff options
-rw-r--r-- | bind-chroot-ndc.patch | 79 | ||||
-rw-r--r-- | bind-fds.patch | 43 | ||||
-rw-r--r-- | bind-host.patch | 10 | ||||
-rw-r--r-- | bind-idn.patch | 1367 | ||||
-rw-r--r-- | bind-mkdep.patch | 120 | ||||
-rw-r--r-- | bind-noinet6.patch | 132 | ||||
-rw-r--r-- | bind-nonlist.patch | 15 | ||||
-rw-r--r-- | bind-pidfile.patch | 15 | ||||
-rw-r--r-- | bind-pmake.patch | 64 | ||||
-rw-r--r-- | bind-probe_ipv6.patch | 12 | ||||
-rw-r--r-- | bind-pselect.patch | 15 | ||||
-rw-r--r-- | bind-res_randomid.patch | 10 | ||||
-rw-r--r-- | bind.spec | 127 | ||||
-rw-r--r-- | bind9-openssl.patch | 30 | ||||
-rw-r--r-- | host_991529+.diff | 206 | ||||
-rw-r--r-- | named-chroot.init | 92 | ||||
-rw-r--r-- | named.conf | 54 | ||||
-rw-r--r-- | resolver.5 | 224 | ||||
-rw-r--r-- | utils-holelogd-linux.patch | 39 |
19 files changed, 653 insertions, 2001 deletions
diff --git a/bind-chroot-ndc.patch b/bind-chroot-ndc.patch deleted file mode 100644 index 46eb5bf..0000000 --- a/bind-chroot-ndc.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- bind-8.2.3/src/bin/ndc/pathnames.h Mon Jan 29 19:39:52 2001 -+++ bind-8.2.3-p/src/bin/ndc/pathnames.h Mon Jan 29 19:36:34 2001 -@@ -21,58 +21,62 @@ - - #include <paths.h> - -+#ifndef _CHROOTDIR -+#define _CHROOTDIR "/var/lib/named/chroot" -+#endif -+ - #ifndef _PATH_CONF --#define _PATH_CONF "/etc/named.conf" -+#define _PATH_CONF _CHROOTDIR "/etc/named.conf" - #endif - - #ifndef _PATH_DEBUG --#define _PATH_DEBUG "named.run" -+#define _PATH_DEBUG _CHROOTDIR "/var/tmp/named.run" - #endif - - #ifndef _PATH_DUMPFILE --#define _PATH_DUMPFILE "named_dump.db" -+#define _PATH_DUMPFILE _CHROOTDIR "/var/tmp/named_dump.db" - #endif - - #ifndef _PATH_NAMED --#define _PATH_NAMED "/usr/sbin/named" -+#define _PATH_NAMED _CHROOTDIR "/usr/sbin/named" - #endif - - #ifndef _PATH_PIDFILE --#define _PATH_PIDFILE "/var/run/named.pid" -+#define _PATH_PIDFILE _CHROOTDIR "/var/run/named.pid" - #endif - - #ifndef _PATH_NDCSOCK - #ifdef NEED_SECURE_DIRECTORY --#define _PATH_NDCSOCK "/var/run/ndc.d/ndc" -+#define _PATH_NDCSOCK _CHROOTDIR "/var/run/ndc.d/ndc" - #else --#define _PATH_NDCSOCK "/var/run/ndc" -+#define _PATH_NDCSOCK _CHROOTDIR "/var/run/ndc" - #endif - #endif - - #ifndef _PATH_STATS --#define _PATH_STATS "named.stats" -+#define _PATH_STATS _CHROOTDIR "/var/tmp/named.stats" - #endif - - #ifndef _PATH_MEMSTATS --#define _PATH_MEMSTATS "named.memstats" -+#define _PATH_MEMSTATS _CHROOTDIR "/var/tmp/named.memstats" - #endif - - #ifndef _PATH_TMPXFER --#define _PATH_TMPXFER "xfer.ddt.XXXXXX" -+#define _PATH_TMPXFER _CHROOTDIR "/var/tmp/xfer.ddt.XXXXXX" - #endif - - #ifndef _PATH_XFER --#define _PATH_XFER "/usr/sbin/named-xfer" -+#define _PATH_XFER _CHROOTDIR "/usr/sbin/named-xfer" - #endif - - #ifndef _PATH_XFERTRACE --#define _PATH_XFERTRACE "xfer.trace" -+#define _PATH_XFERTRACE _CHROOTDIR "/var/tmp/xfer.trace" - #endif - - #ifndef _PATH_XFERDDT --#define _PATH_XFERDDT "xfer.ddt" -+#define _PATH_XFERDDT _CHROOTDIR "/var/tmp/xfer.ddt" - #endif - - #ifndef _PATH_DEVNULL --#define _PATH_DEVNULL "/dev/null" -+#define _PATH_DEVNULL _CHROOTDIR "/dev/null" - #endif diff --git a/bind-fds.patch b/bind-fds.patch deleted file mode 100644 index 54a3404..0000000 --- a/bind-fds.patch +++ /dev/null @@ -1,43 +0,0 @@ ---- bind-8.1.2/src/lib/isc/eventlib.c~ Fri Mar 20 18:26:24 1998 -+++ bind-8.1.2/src/lib/isc/eventlib.c Wed Jan 6 17:44:03 1999 -@@ -290,9 +290,9 @@ - evPrintf(ctx, 4, - "pselect(%d, 0x%lx, 0x%lx, 0x%lx, %d.%09ld)\n", - ctx->fdMax+1, -- (u_long)ctx->rdLast.fds_bits[0], -- (u_long)ctx->wrLast.fds_bits[0], -- (u_long)ctx->exLast.fds_bits[0], -+ __FDS_BITS(&ctx->rdLast)[0], -+ __FDS_BITS(&ctx->wrLast)[0], -+ __FDS_BITS(&ctx->exLast)[0], - tp ? tp->tv_sec : -1, - tp ? tp->tv_nsec : -1); - ---- bind-8.1.2/src/lib/isc/ev_files.c~ Thu Feb 5 20:53:52 1998 -+++ bind-8.1.2/src/lib/isc/ev_files.c Wed Jan 6 17:46:18 1999 -@@ -139,9 +139,9 @@ - evPrintf(ctx, 5, - "evSelectFD(fd %d, mask 0x%x): new masks: 0x%lx 0x%lx 0x%lx\n", - fd, eventmask, -- (u_long)ctx->rdNext.fds_bits[0], -- (u_long)ctx->wrNext.fds_bits[0], -- (u_long)ctx->exNext.fds_bits[0]); -+ __FDS_BITS(&ctx->rdNext)[0], -+ __FDS_BITS(&ctx->wrNext)[0], -+ __FDS_BITS(&ctx->exNext)[0]); - - return (0); - } -@@ -250,9 +250,9 @@ - evPrintf(ctx, 5, - "evDeselectFD(fd %d, mask 0x%x): new masks: 0x%lx 0x%lx 0x%lx\n", - del->fd, eventmask, -- (u_long)ctx->rdNext.fds_bits[0], -- (u_long)ctx->wrNext.fds_bits[0], -- (u_long)ctx->exNext.fds_bits[0]); -+ __FDS_BITS(&ctx->rdNext)[0], -+ __FDS_BITS(&ctx->wrNext)[0], -+ __FDS_BITS(&ctx->exNext)[0]); - - /* Couldn't free it before now since we were using fields out of it. */ - FREE(del); diff --git a/bind-host.patch b/bind-host.patch deleted file mode 100644 index f4de8e5..0000000 --- a/bind-host.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- bind-8.2/src/bin/host/host.c.host Mon Jan 11 16:15:38 1999 -+++ bind-8.2/src/bin/host/host.c Wed Mar 31 10:51:54 1999 -@@ -1310,6 +1310,7 @@ - - amtToRead = len; - cp = buf.qb2; -+ if (amtToRead > NS_PACKETSZ) amtToRead=NS_PACKETSZ; - while (amtToRead > 0 && - (numRead = read(sockFD, cp, amtToRead)) > 0) { - cp += numRead; diff --git a/bind-idn.patch b/bind-idn.patch index 12dc898..59efbe1 100644 --- a/bind-idn.patch +++ b/bind-idn.patch @@ -1,199 +1,399 @@ -IDN patch for bind-9.3.0 -======================== - - -This is a patch file for ISC BIND 9.3.0 to make it work with -internationalized domain names. With this patch you'll get IDN-aware -dig/host/nslookup. - -To apply this patch, you should go to the top directory of the BIND -distribution (where you see `README' file), then invoke `patch' -command like this: - - % patch -p0 < this-file - -Then follow the instructions described in `README.idnkit' to compile -and install. - - -Index: README.idnkit ---- /dev/null Wed Sep 1 17:46:18 2004 -+++ README.idnkit Wed Sep 1 17:36:14 2004 -@@ -0,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 +diff -urN bind-9.2.3.org/bin/dig/dig.1 bind-9.2.3/bin/dig/dig.1 +--- bind-9.2.3.org/bin/dig/dig.1 2003-10-24 23:31:26.000000000 +0200 ++++ bind-9.2.3/bin/dig/dig.1 2003-10-24 23:46:54.000000000 +0200 +@@ -353,6 +353,17 @@ + \fI+noqr\fR which means that \fBdig\fR + will not print the initial query when it looks up the NS records for + isc.org. ++.SH "IDN SUPPORT" ++.PP ++If \fBdig\fR has been built with IDN (internationalized ++domain name) support, it can accept and display non-ASCII domain names. ++\fBdig\fR appropriately converts character encoding of ++domain name before sending a request to DNS server or displaying a ++reply from the server. ++If you'd like to turn off the IDN support for some reason, defines ++the \fBIDN_DISABLE\fR environment variable. ++The IDN support is disabled if the the variable is set when ++\fBdig\fR runs. + .SH "FILES" + .PP + \fI/etc/resolv.conf\fR +diff -urN bind-9.2.3.org/bin/dig/dig.docbook bind-9.2.3/bin/dig/dig.docbook +--- bind-9.2.3.org/bin/dig/dig.docbook 2003-10-24 23:31:26.000000000 +0200 ++++ bind-9.2.3/bin/dig/dig.docbook 2003-10-24 23:46:54.000000000 +0200 +@@ -529,6 +529,21 @@ + </refsect1> + + <refsect1> ++<title>IDN SUPPORT</title> ++<para> ++If <command>dig</command> has been built with IDN (internationalized ++domain name) support, it can accept and display non-ASCII domain names. ++<command>dig</command> appropriately converts character encoding of ++domain name before sending a request to DNS server or displaying a ++reply from the server. ++If you'd like to turn off the IDN support for some reason, defines ++the <envar>IDN_DISABLE</envar> environment variable. ++The IDN support is disabled if the the variable is set when ++<command>dig</command> runs. ++</para> ++</refsect1> + -+0. Prerequisite ++<refsect1> + <title>FILES</title> + <para> + <filename>/etc/resolv.conf</filename> +diff -urN bind-9.2.3.org/bin/dig/dighost.c bind-9.2.3/bin/dig/dighost.c +--- bind-9.2.3.org/bin/dig/dighost.c 2003-10-24 23:31:26.000000000 +0200 ++++ bind-9.2.3/bin/dig/dighost.c 2003-10-24 23:46:54.000000000 +0200 +@@ -32,6 +32,17 @@ + #include <string.h> + #include <limits.h> + ++#ifdef HAVE_LOCALE_H ++#include <locale.h> ++#endif + -+You have to build and install idnkit before building this patched version -+of bind-9. ++#ifdef WITH_IDN ++#include <idn/result.h> ++#include <idn/log.h> ++#include <idn/resconf.h> ++#include <idn/api.h> ++#endif + -+1. Running configure script + #include <dns/byaddr.h> + #include <dns/fixedname.h> + #include <dns/message.h> +@@ -131,6 +142,18 @@ + isc_mutex_t lookup_lock; + dig_lookup_t *current_lookup = NULL; + ++#ifdef WITH_IDN ++static void initialize_idn(void); ++static isc_result_t output_filter(isc_buffer_t *buffer, ++ unsigned int used_org, ++ isc_boolean_t absolute); ++static idn_result_t append_textname(char *name, const char *origin, ++ size_t namesize); ++static void idn_check_result(idn_result_t r, const char *msg); + -+Run `configure' in the top directory. See `README' for the -+configuration options. ++#define MAXDLEN 256 ++#endif + -+This patch adds the following 4 options to `configure'. You should -+at least specify `--with-idn' option to enable IDN support. + /* + * Apply and clear locks at the event level in global task. + * Can I get rid of these using shutdown events? XXX +@@ -682,6 +705,10 @@ + ISC_LIST_APPEND(server_list, srv, link); + } + ++#ifdef WITH_IDN ++ initialize_idn(); ++#endif + -+ --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. + if (keyfile[0] != 0) + setup_file_key(); + else if (keysecret[0] != 0) +@@ -1202,6 +1229,14 @@ + isc_buffer_t b; + dns_compress_t cctx; + char store[MXNAME]; ++#ifdef WITH_IDN ++ idn_result_t mr; ++ char utf8_textname[MXNAME], utf8_origin[MXNAME], idn_textname[MXNAME]; ++#endif + -+ --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. ++#ifdef WITH_IDN ++ dns_name_settotextfilter(output_filter); ++#endif + + REQUIRE(lookup != NULL); + INSIST(!free_now); +@@ -1230,6 +1265,17 @@ + isc_buffer_init(&lookup->onamebuf, lookup->onamespace, + sizeof(lookup->onamespace)); + ++#ifdef WITH_IDN ++ /* ++ * We cannot convert `textname' and `origin' separately. ++ * `textname' doesn't contain TLD, but local mapping needs ++ * TLD. ++ */ ++ mr = idn_encodename(IDN_LOCALCONV | IDN_DELIMMAP, lookup->textname, ++ utf8_textname, sizeof(utf8_textname)); ++ idn_check_result(mr, "convert textname to UTF-8"); ++#endif + -+ `--with-libiconv' is shorthand option for GNU libiconv. + /* + * If the name has too many dots, force the origin to be NULL + * (which produces an absolute lookup). Otherwise, take the origin +@@ -1238,12 +1284,41 @@ + * is TRUE or we got a domain line in the resolv.conf file. + */ + /* XXX New search here? */ ++#ifdef WITH_IDN ++ if ((count_dots(utf8_textname) >= ndots) || !usesearch) ++ lookup->origin = NULL; /* Force abs lookup */ ++ else if (lookup->origin == NULL && lookup->new_search && usesearch) { ++ lookup->origin = ISC_LIST_HEAD(search_list); ++ } ++#else + if ((count_dots(lookup->textname) >= ndots) || !usesearch) + lookup->origin = NULL; /* Force abs lookup */ + else if (lookup->origin == NULL && lookup->new_search && usesearch) { + lookup->origin = ISC_LIST_HEAD(search_list); + } ++#endif + -+ --with-libiconv=/usr/local ++#ifdef WITH_IDN + if (lookup->origin != NULL) { ++ mr = idn_encodename(IDN_LOCALCONV | IDN_DELIMMAP, ++ lookup->origin->origin, utf8_origin, ++ sizeof(utf8_origin)); ++ idn_check_result(mr, "convert origin to UTF-8"); ++ mr = append_textname(utf8_textname, utf8_origin, ++ sizeof(utf8_textname)); ++ idn_check_result(mr, "append origin to textname"); ++ } ++ mr = idn_encodename(IDN_LOCALMAP | IDN_NAMEPREP | ++ IDN_IDNCONV | IDN_LENCHECK, utf8_textname, ++ idn_textname, sizeof(idn_textname)); ++ idn_check_result(mr, "convert UTF-8 textname to IDN encoding"); ++#endif + -+ This is equivalent to: ++#ifdef WITH_IDN ++ if (0) { ++#else ++ if (lookup->origin != NULL) { ++#endif + debug("trying origin %s", lookup->origin->origin); + result = dns_message_gettempname(lookup->sendmsg, + &lookup->oname); +@@ -1288,6 +1363,15 @@ + if (lookup->trace && lookup->trace_root) + dns_name_clone(dns_rootname, lookup->name); + else { ++#ifdef WITH_IDN ++ len = strlen(idn_textname); ++ isc_buffer_init(&b, idn_textname, len); ++ isc_buffer_add(&b, len); ++ result = dns_name_fromtext(lookup->name, &b, ++ dns_rootname, ++ ISC_FALSE, ++ &lookup->namebuf); ++#else + len = strlen(lookup->textname); + isc_buffer_init(&b, lookup->textname, len); + isc_buffer_add(&b, len); +@@ -1295,6 +1379,7 @@ + dns_rootname, + ISC_FALSE, + &lookup->namebuf); ++#endif + } + if (result != ISC_R_SUCCESS) { + dns_message_puttempname(lookup->sendmsg, +@@ -2723,3 +2808,101 @@ + if (mctx != NULL) + isc_mem_destroy(&mctx); + } + -+ --with-iconv='-L/usr/local/lib -R/usr/local/lib -liconv' ++#ifdef WITH_IDN ++static void ++initialize_idn(void) { ++ idn_result_t r; + -+ `--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: ++#ifdef HAVE_SETLOCALE ++ /* Set locale */ ++ (void)setlocale(LC_ALL, ""); ++#endif ++ /* Create configuration context. */ ++ r = idn_nameinit(1); ++ if (r != idn_success) ++ fatal("idn api initialization failed: %s", ++ idn_result_tostring(r)); + -+ error in loading shared libraries: libiconv.so.2: cannot -+ open shared object file ++ /* Set domain name -> text post-conversion filter. */ ++ dns_name_settotextfilter(output_filter); ++} + -+ If both `--with-libiconv' and `--with-iconv' options are -+ specified, `--with-iconv' is prior to `--with-libiconv'. ++static isc_result_t ++output_filter(isc_buffer_t *buffer, unsigned int used_org, ++ isc_boolean_t absolute) ++{ ++ char tmp1[MAXDLEN], tmp2[MAXDLEN]; ++ size_t fromlen, tolen; ++ isc_boolean_t end_with_dot; + -+ --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. ++ /* ++ * Copy contents of 'buffer' to 'tmp1', supply trailing dot ++ * if 'absolute' is true, and terminate with NUL. ++ */ ++ fromlen = isc_buffer_usedlength(buffer) - used_org; ++ if (fromlen >= MAXDLEN) ++ return (ISC_R_SUCCESS); ++ memcpy(tmp1, (char *)isc_buffer_base(buffer) + used_org, fromlen); ++ end_with_dot = (tmp1[fromlen - 1] == '.') ? ISC_TRUE : ISC_FALSE; ++ if (absolute && !end_with_dot) { ++ fromlen++; ++ if (fromlen >= MAXDLEN) ++ return (ISC_R_SUCCESS); ++ tmp1[fromlen - 1] = '.'; ++ } ++ tmp1[fromlen] = '\0'; + -+ --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"'. ++ /* ++ * Convert contents of 'tmp1' to local encoding. ++ */ ++ if (idn_decodename(IDN_DECODE_APP, tmp1, tmp2, MAXDLEN) != idn_success) ++ return (ISC_R_SUCCESS); ++ strcpy(tmp1, tmp2); + -+Please consult `README' for other configuration options. ++ /* ++ * Copy the converted contents in 'tmp1' back to 'buffer'. ++ * If we have appended trailing dot, remove it. ++ */ ++ tolen = strlen(tmp1); ++ if (absolute && !end_with_dot && tmp1[tolen - 1] == '.') ++ tolen--; + -+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. ++ if (isc_buffer_length(buffer) < used_org + tolen) ++ return (ISC_R_NOSPACE); + -+2. Compilation and installation ++ isc_buffer_subtract(buffer, isc_buffer_usedlength(buffer) - used_org); ++ memcpy(isc_buffer_used(buffer), tmp1, tolen); ++ isc_buffer_add(buffer, tolen); + -+After running "configure", just do ++ return (ISC_R_SUCCESS); ++} + -+ make -+ make install ++static idn_result_t ++append_textname(char *name, const char *origin, size_t namesize) { ++ size_t namelen = strlen(name); ++ size_t originlen = strlen(origin); + -+for compiling and installing. ++ /* Already absolute? */ ++ if (namelen > 0 && name[namelen - 1] == '.') ++ return idn_success; + ++ /* Append dot and origin */ + -+* Contact information ++ if (namelen + 1 + originlen >= namesize) ++ return idn_buffer_overflow; + -+Please see http//www.nic.ad.jp/en/idn/ for the latest news -+about idnkit and this patch. ++ name[namelen++] = '.'; ++ (void)strcpy(name + namelen, origin); ++ return idn_success; ++} + -+Bug reports and comments on this kit should be sent to -+mdnkit-bugs@nic.ad.jp and idn-cmt@nic.ad.jp, respectively. ++static void ++idn_check_result(idn_result_t r, const char *msg) { ++ if (r != idn_success) { ++ exitcode = 1; ++ fatal("%s: %s", msg, idn_result_tostring(r)); ++ } ++} + ++#endif /* WITH_IDN */ +diff -urN bind-9.2.3.org/bin/dig/host.1 bind-9.2.3/bin/dig/host.1 +--- bind-9.2.3.org/bin/dig/host.1 2003-10-24 23:31:26.000000000 +0200 ++++ bind-9.2.3/bin/dig/host.1 2003-10-24 23:46:54.000000000 +0200 +@@ -164,6 +164,17 @@ + option is used, + \fBhost\fR + will effectively wait forever for a reply. The time to wait for a response will be set to the number of seconds given by the hardware's maximum value for an integer quantity. ++.SH "IDN SUPPORT" ++.PP ++If ++\fBhost\fR ++has been built with IDN (internationalized domain name) support, it can accept and display non-ASCII domain names. ++\fBhost\fR ++appropriately converts character encoding of domain name before sending a request to DNS server or displaying a reply from the server. If you'd like to turn off the IDN support for some reason, defines the ++\fBIDN_DISABLE\fR ++environment variable. The IDN support is disabled if the the variable is set when ++\fBhost\fR ++runs. + .SH "FILES" + .PP + \fI/etc/resolv.conf\fR +diff -urN bind-9.2.3.org/bin/dig/host.docbook bind-9.2.3/bin/dig/host.docbook +--- bind-9.2.3.org/bin/dig/host.docbook 2003-10-24 23:31:26.000000000 +0200 ++++ bind-9.2.3/bin/dig/host.docbook 2003-10-24 23:46:54.000000000 +0200 +@@ -181,6 +181,21 @@ + </refsect1> + + <refsect1> ++<title>IDN SUPPORT</title> ++<para> ++If <command>host</command> has been built with IDN (internationalized ++domain name) support, it can accept and display non-ASCII domain names. ++<command>host</command> appropriately converts character encoding of ++domain name before sending a request to DNS server or displaying a ++reply from the server. ++If you'd like to turn off the IDN support for some reason, defines ++the <envar>IDN_DISABLE</envar> environment variable. ++The IDN support is disabled if the the variable is set when ++<command>host</command> runs. ++</para> ++</refsect1> + -+; $Id$ -Index: config.h.in -=================================================================== -RCS file: /proj/cvs/prod/bind9/config.h.in,v -retrieving revision 1.47.2.3.2.11 -diff -U2 -r1.47.2.3.2.11 config.h.in ---- config.h.in 1 Sep 2004 07:18:30 -0000 1.47.2.3.2.11 -+++ config.h.in 1 Sep 2004 07:47:48 -0000 -@@ -17,5 +17,5 @@ - */ ++<refsect1> + <title>FILES</title> + <para> + <filename>/etc/resolv.conf</filename> +diff -urN bind-9.2.3.org/bin/dig/Makefile.in bind-9.2.3/bin/dig/Makefile.in +--- bind-9.2.3.org/bin/dig/Makefile.in 2003-10-24 23:31:26.000000000 +0200 ++++ bind-9.2.3/bin/dig/Makefile.in 2003-10-24 23:46:54.000000000 +0200 +@@ -36,7 +36,7 @@ --/* $Id$ */ -+/* $Id$ */ + DEPLIBS = ${DNSDEPLIBS} ${ISCDEPLIBS} - /*** -@@ -171,4 +171,7 @@ +-LIBS = ${DNSLIBS} ${ISCLIBS} @LIBS@ ++LIBS = ${DNSLIBS} ${ISCLIBS} @IDNLIBS@ @LIBS@ + + SUBDIRS = + +diff -urN bind-9.2.3.org/config.h.in bind-9.2.3/config.h.in +--- bind-9.2.3.org/config.h.in 2003-10-24 23:31:27.000000000 +0200 ++++ bind-9.2.3/config.h.in 2003-10-24 23:46:54.000000000 +0200 +@@ -136,6 +136,9 @@ + /* define if you have strerror in the C library. */ + #undef HAVE_STRERROR + ++/* Define if you have the setlocale function. */ ++#undef HAVE_SETLOCALE ++ + /* Define to 1 if you have the <dlfcn.h> header file. */ + #undef HAVE_DLFCN_H + +@@ -163,6 +166,9 @@ + /* Define to 1 if you have the <linux/capability.h> header file. */ #undef HAVE_LINUX_CAPABILITY_H -+/* Define to 1 if you have the <locale.h> header file. */ ++/* Define if you have the <locale.h> header file. */ +#undef HAVE_LOCALE_H + /* Define to 1 if you have the <memory.h> header file. */ #undef HAVE_MEMORY_H -@@ -177,4 +180,7 @@ - #undef HAVE_NET_IF6_H -+/* Define to 1 if you have the `setlocale' function. */ -+#undef HAVE_SETLOCALE -+ - /* Define to 1 if you have the <stdint.h> header file. */ - #undef HAVE_STDINT_H -@@ -239,4 +245,7 @@ - /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */ - #undef TIME_WITH_SYS_TIME +@@ -182,6 +188,10 @@ + #undef HAVE_SYS_PRCTL_H + + /* Define to 1 if you have the <sys/select.h> header file. */ + +/* define if idnkit support is to be included. */ +#undef WITH_IDN ++ + #undef HAVE_SYS_SELECT_H - /* Define to 1 if your processor stores words with the most significant byte -Index: configure -=================================================================== -RCS file: /proj/cvs/prod/bind9/configure,v -retrieving revision 1.284.2.19.2.26 -diff -U2 -r1.284.2.19.2.26 configure ---- configure 1 Sep 2004 07:18:30 -0000 1.284.2.19.2.26 -+++ configure 1 Sep 2004 07:49:43 -0000 -@@ -15,5 +15,5 @@ - # PERFORMANCE OF THIS SOFTWARE. - # --# $Id$ -+# $Id$ - # - # Portions Copyright (C) 1996-2001 Nominum, Inc. -@@ -496,5 +496,5 @@ - #endif" - --ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS subdirs build build_cpu build_vendor build_os host host_cpu host_vendor host_os SET_MAKE RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA STD_CINCLUDES STD_CDEFINES STD_CWARNINGS CCOPT AR ARFLAGS LN ETAGS PERL CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP ISC_PLATFORM_HAVELONGLONG ISC_PLATFORM_HAVELIFCONF ISC_PLATFORM_NEEDSYSSELECTH LWRES_PLATFORM_NEEDSYSSELECTH USE_OPENSSL DST_OPENSSL_INC USE_GSSAPI DST_GSSAPI_INC DNS_CRYPTO_LIBS ALWAYS_DEFINES ISC_PLATFORM_USETHREADS ISC_THREAD_DIR MKDEPCC MKDEPCFLAGS MKDEPPROG IRIX_DNSSEC_WARNINGS_HACK purify_path PURIFY LN_S ECHO ac_ct_AR STRIP ac_ct_STRIP CXX CXXFLAGS ac_ct_CXX CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL O A SA LIBTOOL_MKDEP_SED LIBTOOL_MODE_COMPILE LIBTOOL_MODE_INSTALL LIBTOOL_MODE_LINK LIBBIND ISC_PLATFORM_HAVEIPV6 LWRES_PLATFORM_HAVEIPV6 ISC_PLATFORM_NEEDNETINETIN6H LWRES_PLATFORM_NEEDNETINETIN6H ISC_PLATFORM_NEEDNETINET6IN6H LWRES_PLATFORM_NEEDNETINET6IN6H ISC_PLATFORM_HAVEINADDR6 LWRES_PLATFORM_HAVEINADDR6 ISC_PLATFORM_NEEDIN6ADDRANY LWRES_PLATFORM_NEEDIN6ADDRANY ISC_PLATFORM_NEEDIN6ADDRLOOPBACK LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK ISC_PLATFORM_HAVEIN6PKTINFO ISC_PLATFORM_FIXIN6ISADDR ISC_IPV6_H ISC_IPV6_O ISC_ISCIPV6_O ISC_IPV6_C LWRES_HAVE_SIN6_SCOPE_ID ISC_PLATFORM_HAVESCOPEID ISC_PLATFORM_HAVEIF_LADDRREQ ISC_PLATFORM_HAVEIF_LADDRCONF ISC_PLATFORM_NEEDNTOP ISC_PLATFORM_NEEDPTON ISC_PLATFORM_NEEDATON ISC_PLATFORM_HAVESALEN LWRES_PLATFORM_HAVESALEN ISC_PLATFORM_MSGHDRFLAVOR ISC_PLATFORM_NEEDPORTT ISC_LWRES_NEEDADDRINFO ISC_LWRES_NEEDRRSETINFO ISC_LWRES_SETHOSTENTINT ISC_LWRES_ENDHOSTENTINT ISC_LWRES_GETNETBYADDRINADDR ISC_LWRES_SETNETENTINT ISC_LWRES_ENDNETENTINT ISC_LWRES_GETHOSTBYADDRVOID ISC_LWRES_NEEDHERRNO ISC_LWRES_GETIPNODEPROTO ISC_LWRES_GETADDRINFOPROTO ISC_LWRES_GETNAMEINFOPROTO ISC_PLATFORM_NEEDSTRSEP ISC_PLATFORM_NEEDMEMMOVE ISC_PLATFORM_NEEDSTRTOUL ISC_PLATFORM_NEEDSTRLCPY ISC_PLATFORM_NEEDSTRLCAT ISC_PLATFORM_NEEDSPRINTF LWRES_PLATFORM_NEEDSPRINTF ISC_PLATFORM_NEEDVSNPRINTF LWRES_PLATFORM_NEEDVSNPRINTF ISC_EXTRA_OBJS ISC_EXTRA_SRCS ISC_PLATFORM_QUADFORMAT ISC_PLATFORM_RLIMITTYPE ISC_PLATFORM_USEDECLSPEC LWRES_PLATFORM_USEDECLSPEC ISC_PLATFORM_BRACEPTHREADONCEINIT ISC_PLATFORM_HAVEIFNAMETOINDEX OPENJADE JADETEX PDFJADETEX SGMLCATALOG HTMLSTYLE PRINTSTYLE XMLDCL DOCBOOK2MANSPEC BIND9_TOP_BUILDDIR BIND9_ISC_BUILDINCLUDE BIND9_ISCCC_BUILDINCLUDE BIND9_ISCCFG_BUILDINCLUDE BIND9_DNS_BUILDINCLUDE BIND9_LWRES_BUILDINCLUDE BIND9_BIND9_BUILDINCLUDE BIND9_VERSION LIBOBJS LTLIBOBJS' -+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS subdirs build build_cpu build_vendor build_os host host_cpu host_vendor host_os SET_MAKE RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA STD_CINCLUDES STD_CDEFINES STD_CWARNINGS CCOPT AR ARFLAGS LN ETAGS PERL CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP ISC_PLATFORM_HAVELONGLONG ISC_PLATFORM_HAVELIFCONF ISC_PLATFORM_NEEDSYSSELECTH LWRES_PLATFORM_NEEDSYSSELECTH USE_OPENSSL DST_OPENSSL_INC USE_GSSAPI DST_GSSAPI_INC DNS_CRYPTO_LIBS ALWAYS_DEFINES ISC_PLATFORM_USETHREADS ISC_THREAD_DIR MKDEPCC MKDEPCFLAGS MKDEPPROG IRIX_DNSSEC_WARNINGS_HACK purify_path PURIFY LN_S ECHO ac_ct_AR STRIP ac_ct_STRIP CXX CXXFLAGS ac_ct_CXX CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL O A SA LIBTOOL_MKDEP_SED LIBTOOL_MODE_COMPILE LIBTOOL_MODE_INSTALL LIBTOOL_MODE_LINK LIBBIND ISC_PLATFORM_HAVEIPV6 LWRES_PLATFORM_HAVEIPV6 ISC_PLATFORM_NEEDNETINETIN6H LWRES_PLATFORM_NEEDNETINETIN6H ISC_PLATFORM_NEEDNETINET6IN6H LWRES_PLATFORM_NEEDNETINET6IN6H ISC_PLATFORM_HAVEINADDR6 LWRES_PLATFORM_HAVEINADDR6 ISC_PLATFORM_NEEDIN6ADDRANY LWRES_PLATFORM_NEEDIN6ADDRANY ISC_PLATFORM_NEEDIN6ADDRLOOPBACK LWRES_PLATFORM_NEEDIN6ADDRLOOPBACK ISC_PLATFORM_HAVEIN6PKTINFO ISC_PLATFORM_FIXIN6ISADDR ISC_IPV6_H ISC_IPV6_O ISC_ISCIPV6_O ISC_IPV6_C LWRES_HAVE_SIN6_SCOPE_ID ISC_PLATFORM_HAVESCOPEID ISC_PLATFORM_HAVEIF_LADDRREQ ISC_PLATFORM_HAVEIF_LADDRCONF ISC_PLATFORM_NEEDNTOP ISC_PLATFORM_NEEDPTON ISC_PLATFORM_NEEDATON ISC_PLATFORM_HAVESALEN LWRES_PLATFORM_HAVESALEN ISC_PLATFORM_MSGHDRFLAVOR ISC_PLATFORM_NEEDPORTT ISC_LWRES_NEEDADDRINFO ISC_LWRES_NEEDRRSETINFO ISC_LWRES_SETHOSTENTINT ISC_LWRES_ENDHOSTENTINT ISC_LWRES_GETNETBYADDRINADDR ISC_LWRES_SETNETENTINT ISC_LWRES_ENDNETENTINT ISC_LWRES_GETHOSTBYADDRVOID ISC_LWRES_NEEDHERRNO ISC_LWRES_GETIPNODEPROTO ISC_LWRES_GETADDRINFOPROTO ISC_LWRES_GETNAMEINFOPROTO ISC_PLATFORM_NEEDSTRSEP ISC_PLATFORM_NEEDMEMMOVE ISC_PLATFORM_NEEDSTRTOUL ISC_PLATFORM_NEEDSTRLCPY ISC_PLATFORM_NEEDSTRLCAT ISC_PLATFORM_NEEDSPRINTF LWRES_PLATFORM_NEEDSPRINTF ISC_PLATFORM_NEEDVSNPRINTF LWRES_PLATFORM_NEEDVSNPRINTF ISC_EXTRA_OBJS ISC_EXTRA_SRCS ISC_PLATFORM_QUADFORMAT ISC_PLATFORM_RLIMITTYPE ISC_PLATFORM_USEDECLSPEC LWRES_PLATFORM_USEDECLSPEC ISC_PLATFORM_BRACEPTHREADONCEINIT ISC_PLATFORM_HAVEIFNAMETOINDEX OPENJADE JADETEX PDFJADETEX SGMLCATALOG HTMLSTYLE PRINTSTYLE XMLDCL DOCBOOK2MANSPEC IDNLIBS BIND9_TOP_BUILDDIR BIND9_ISC_BUILDINCLUDE BIND9_ISCCC_BUILDINCLUDE BIND9_ISCCFG_BUILDINCLUDE BIND9_DNS_BUILDINCLUDE BIND9_LWRES_BUILDINCLUDE BIND9_BIND9_BUILDINCLUDE BIND9_VERSION LIBOBJS LTLIBOBJS' - ac_subst_files='BIND9_MAKE_INCLUDES BIND9_MAKE_RULES LIBISC_API LIBISCCC_API LIBISCCFG_API LIBDNS_API LIBBIND9_API LIBLWRES_API' - -@@ -1081,4 +1081,8 @@ - include additional configurations [automatic] + /* Define to 1 if you have the <sys/sockio.h> header file. */ +diff -urN bind-9.2.3.org/configure bind-9.2.3/configure +--- bind-9.2.3.org/configure 2003-10-24 23:31:27.000000000 +0200 ++++ bind-9.2.3/configure 2003-10-24 23:46:55.000000000 +0200 +@@ -1007,6 +1007,10 @@ + --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 @@ -201,183 +401,9 @@ diff -U2 -r1.284.2.19.2.26 configure + --with-idnlib=ARG specify libidnkit Some influential environment variables: -@@ -7921,5 +7925,5 @@ - *-*-irix6*) - # Find out which ABI we are using. -- echo '#line 7923 "configure"' > conftest.$ac_ext -+ echo '#line 7927 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 -@@ -8911,5 +8915,5 @@ - - # Provide some information about the compiler. --echo "$as_me:8913:" \ -+echo "$as_me:8917:" \ - "checking for Fortran 77 compiler version" >&5 - ac_compiler=`set X $ac_compile; echo $2` -@@ -9949,9 +9953,9 @@ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:9951: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:9955: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 -- echo "$as_me:9955: \$? = $ac_status" >&5 -+ echo "$as_me:9959: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized -@@ -10182,9 +10186,9 @@ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:10184: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:10188: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 -- echo "$as_me:10188: \$? = $ac_status" >&5 -+ echo "$as_me:10192: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized -@@ -10242,9 +10246,9 @@ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:10244: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:10248: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 -- echo "$as_me:10248: \$? = $ac_status" >&5 -+ echo "$as_me:10252: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then -@@ -12426,5 +12430,5 @@ - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<EOF --#line 12428 "configure" -+#line 12432 "configure" - #include "confdefs.h" - -@@ -12524,5 +12528,5 @@ - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<EOF --#line 12526 "configure" -+#line 12530 "configure" - #include "confdefs.h" - -@@ -14707,9 +14711,9 @@ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:14709: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:14713: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 -- echo "$as_me:14713: \$? = $ac_status" >&5 -+ echo "$as_me:14717: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized -@@ -14767,9 +14771,9 @@ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:14769: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:14773: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 -- echo "$as_me:14773: \$? = $ac_status" >&5 -+ echo "$as_me:14777: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then -@@ -16128,5 +16132,5 @@ - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<EOF --#line 16130 "configure" -+#line 16134 "configure" - #include "confdefs.h" - -@@ -16226,5 +16230,5 @@ - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<EOF --#line 16228 "configure" -+#line 16232 "configure" - #include "confdefs.h" - -@@ -17053,9 +17057,9 @@ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:17055: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:17059: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 -- echo "$as_me:17059: \$? = $ac_status" >&5 -+ echo "$as_me:17063: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized -@@ -17113,9 +17117,9 @@ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:17115: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:17119: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 -- echo "$as_me:17119: \$? = $ac_status" >&5 -+ echo "$as_me:17123: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then -@@ -19151,9 +19155,9 @@ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:19153: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:19157: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 -- echo "$as_me:19157: \$? = $ac_status" >&5 -+ echo "$as_me:19161: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized -@@ -19384,9 +19388,9 @@ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:19386: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:19390: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 -- echo "$as_me:19390: \$? = $ac_status" >&5 -+ echo "$as_me:19394: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized -@@ -19444,9 +19448,9 @@ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:19446: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:19450: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 -- echo "$as_me:19450: \$? = $ac_status" >&5 -+ echo "$as_me:19454: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then -@@ -21628,5 +21632,5 @@ - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<EOF --#line 21630 "configure" -+#line 21634 "configure" - #include "confdefs.h" - -@@ -21726,5 +21730,5 @@ - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<EOF --#line 21728 "configure" -+#line 21732 "configure" - #include "confdefs.h" + CC C compiler command +@@ -13454,6 +13458,312 @@ -@@ -27310,4 +27314,354 @@ # +# IDN support @@ -493,31 +519,18 @@ diff -U2 -r1.284.2.19.2.26 configure +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ ++#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>conftest.er1 ++ (eval $ac_compile) 2>&5 + ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest.$ac_objext' ++ { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? @@ -526,11 +539,10 @@ diff -U2 -r1.284.2.19.2.26 configure + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ ++cat conftest.$ac_ext >&5 +ac_header_compiler=no +fi -+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext ++rm -f conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + @@ -538,24 +550,20 @@ diff -U2 -r1.284.2.19.2.26 configure +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ ++#line $LINENO "configure" ++#include "confdefs.h" +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err ++ egrep -v '^ *\+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag -+ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi @@ -566,8 +574,7 @@ diff -U2 -r1.284.2.19.2.26 configure + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ ++ cat conftest.$ac_ext >&5 + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext @@ -575,43 +582,26 @@ diff -U2 -r1.284.2.19.2.26 configure +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? -+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in -+ yes:no: ) ++case $ac_header_compiler:$ac_header_preproc in ++ yes:no ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} -+ ac_header_preproc=yes -+ ;; -+ no:yes:* ) ++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 ++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; ++ no:yes ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 -+echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 -+echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 -+echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} ++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 ++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 -+echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} -+ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 -+echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} -+ ( -+ cat <<\_ASBOX -+## ------------------------------------------ ## -+## Report this to the AC_PACKAGE_NAME lists. ## -+## ------------------------------------------ ## -+_ASBOX -+ ) | -+ sed "s/^/$as_me: WARNING: /" >&2 -+ ;; ++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;};; +esac +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 +else -+ eval "$as_ac_Header=\$ac_header_preproc" ++ eval "$as_ac_Header=$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 @@ -636,11 +626,9 @@ diff -U2 -r1.284.2.19.2.26 configure + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF -+/* confdefs.h. */ -+_ACEOF -+cat confdefs.h >>conftest.$ac_ext -+cat >>conftest.$ac_ext <<_ACEOF -+/* end confdefs.h. */ ++#line $LINENO "configure" ++#include "confdefs.h" ++/* From autoconf 2.57 */ +/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define $ac_func innocuous_$ac_func @@ -678,6 +666,12 @@ diff -U2 -r1.284.2.19.2.26 configure +} +#endif + ++#ifdef F77_DUMMY_MAIN ++# ifdef __cplusplus ++ extern "C" ++# endif ++ int F77_DUMMY_MAIN() { return 1; } ++#endif +int +main () +{ @@ -688,21 +682,11 @@ diff -U2 -r1.284.2.19.2.26 configure +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 -+ (eval $ac_link) 2>conftest.er1 ++ (eval $ac_link) 2>&5 + ac_status=$? -+ grep -v '^ *+' conftest.er1 >conftest.err -+ rm -f conftest.er1 -+ cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && -+ { ac_try='test -z "$ac_c_werror_flag" -+ || test ! -s conftest.err' -+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 -+ (eval $ac_try) 2>&5 -+ ac_status=$? -+ echo "$as_me:$LINENO: \$? = $ac_status" >&5 -+ (exit $ac_status); }; } && -+ { ac_try='test -s conftest$ac_exeext' ++ { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? @@ -711,12 +695,10 @@ diff -U2 -r1.284.2.19.2.26 configure + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 -+sed 's/^/| /' conftest.$ac_ext >&5 -+ ++cat conftest.$ac_ext >&5 +eval "$as_ac_var=no" +fi -+rm -f conftest.err conftest.$ac_objext \ -+ conftest$ac_exeext conftest.$ac_ext ++rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 @@ -732,20 +714,20 @@ diff -U2 -r1.284.2.19.2.26 configure +# # Substitutions # -@@ -28192,4 +28546,5 @@ - s,@XMLDCL@,$XMLDCL,;t t - s,@DOCBOOK2MANSPEC@,$DOCBOOK2MANSPEC,;t t + +@@ -27478,6 +27478,7 @@ + s,@XSLT_DOCBOOK_CHUNK_XHTML@,$XSLT_DOCBOOK_CHUNK_XHTML,;t t + s,@XSLT_DB2LATEX_STYLE@,$XSLT_DB2LATEX_STYLE,;t t + s,@XSLT_DB2LATEX_ADMONITIONS@,$XSLT_DB2LATEX_ADMONITIONS,;t t +s,@IDNLIBS@,$IDNLIBS,;t t s,@BIND9_TOP_BUILDDIR@,$BIND9_TOP_BUILDDIR,;t t s,@BIND9_ISC_BUILDINCLUDE@,$BIND9_ISC_BUILDINCLUDE,;t t -Index: configure.in -=================================================================== -RCS file: /proj/cvs/prod/bind9/configure.in,v -retrieving revision 1.294.2.23.2.30 -diff -U2 -r1.294.2.23.2.30 configure.in ---- configure.in 1 Sep 2004 07:16:34 -0000 1.294.2.23.2.30 -+++ configure.in 1 Sep 2004 07:49:51 -0000 -@@ -2038,4 +2038,80 @@ + s,@BIND9_ISCCC_BUILDINCLUDE@,$BIND9_ISCCC_BUILDINCLUDE,;t t +diff -urN bind-9.2.3.org/configure.in bind-9.2.3/configure.in +--- bind-9.2.3.org/configure.in 2003-10-24 23:31:27.000000000 +0200 ++++ bind-9.2.3/configure.in 2003-10-24 23:46:55.000000000 +0200 +@@ -1695,6 +1695,82 @@ + NOM_PATH_FILE(DOCBOOK2MANSPEC, docbook2X/docbook2man-spec.pl, $sgmltrees) # +# IDN support @@ -826,440 +808,205 @@ diff -U2 -r1.294.2.23.2.30 configure.in +# # Substitutions # -Index: bin/dig/Makefile.in -=================================================================== -RCS file: /proj/cvs/prod/bind9/bin/dig/Makefile.in,v -retrieving revision 1.25.12.12 -diff -U2 -r1.25.12.12 Makefile.in ---- bin/dig/Makefile.in 18 Aug 2004 23:25:57 -0000 1.25.12.12 -+++ bin/dig/Makefile.in 1 Sep 2004 07:49:52 -0000 -@@ -46,5 +46,5 @@ - - LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} ${ISCLIBS} \ -- ${ISCCFGLIBS} @LIBS@ -+ ${ISCCFGLIBS} @IDNLIBS@ @LIBS@ - - SUBDIRS = -Index: bin/dig/dig.1 -=================================================================== -RCS file: /proj/cvs/prod/bind9/bin/dig/dig.1,v -retrieving revision 1.14.2.4.2.6 -diff -U2 -r1.14.2.4.2.6 dig.1 ---- bin/dig/dig.1 23 Jun 2004 09:11:01 -0000 1.14.2.4.2.6 -+++ bin/dig/dig.1 1 Sep 2004 07:49:54 -0000 -@@ -386,4 +386,15 @@ - will not print the initial query when it looks up the NS records for - isc.org. -+.SH "IDN SUPPORT" -+.PP -+If \fBdig\fR has been built with IDN (internationalized -+domain name) support, it can accept and display non-ASCII domain names. -+\fBdig\fR appropriately converts character encoding of -+domain name before sending a request to DNS server or displaying a -+reply from the server. -+If you'd like to turn off the IDN support for some reason, defines -+the \fBIDN_DISABLE\fR environment variable. -+The IDN support is disabled if the the variable is set when -+\fBdig\fR runs. - .SH "FILES" - .PP -Index: bin/dig/dig.docbook -=================================================================== -RCS file: /proj/cvs/prod/bind9/bin/dig/dig.docbook,v -retrieving revision 1.4.2.7.4.9 -diff -U2 -r1.4.2.7.4.9 dig.docbook ---- bin/dig/dig.docbook 23 Jun 2004 04:19:41 -0000 1.4.2.7.4.9 -+++ bin/dig/dig.docbook 1 Sep 2004 07:49:57 -0000 -@@ -578,4 +578,19 @@ - - <refsect1> -+<title>IDN SUPPORT</title> -+<para> -+If <command>dig</command> has been built with IDN (internationalized -+domain name) support, it can accept and display non-ASCII domain names. -+<command>dig</command> appropriately converts character encoding of -+domain name before sending a request to DNS server or displaying a -+reply from the server. -+If you'd like to turn off the IDN support for some reason, defines -+the <envar>IDN_DISABLE</envar> environment variable. -+The IDN support is disabled if the the variable is set when -+<command>dig</command> runs. -+</para> -+</refsect1> -+ -+<refsect1> - <title>FILES</title> - <para> -Index: bin/dig/dighost.c -=================================================================== -RCS file: /proj/cvs/prod/bind9/bin/dig/dighost.c,v -retrieving revision 1.221.2.19.2.14 -diff -U2 -r1.221.2.19.2.14 dighost.c ---- bin/dig/dighost.c 30 Jun 2004 23:57:52 -0000 1.221.2.19.2.14 -+++ bin/dig/dighost.c 1 Sep 2004 07:50:24 -0000 -@@ -33,4 +33,15 @@ - #include <limits.h> + AC_SUBST(BIND9_TOP_BUILDDIR) +diff -urN bind-9.2.3.org/lib/dns/include/dns/name.h bind-9.2.3/lib/dns/include/dns/name.h +--- bind-9.2.3.org/lib/dns/include/dns/name.h 2003-10-24 23:31:34.000000000 +0200 ++++ bind-9.2.3/lib/dns/include/dns/name.h 2003-10-24 23:46:54.000000000 +0200 +@@ -219,6 +219,17 @@ + */ + #define DNS_NAME_MAXWIRE 255 -+#ifdef HAVE_LOCALE_H -+#include <locale.h> -+#endif -+ +#ifdef WITH_IDN -+#include <idn/result.h> -+#include <idn/log.h> -+#include <idn/resconf.h> -+#include <idn/api.h> ++/* ++ * Text output filter procedure. ++ * 'target' is the buffer to be converted. The region to be converted ++ * is from 'buffer'->base + 'used_org' to the end of the used region. ++ */ ++typedef isc_result_t (*dns_name_totextfilter_t)(isc_buffer_t *target, ++ unsigned int used_org, ++ isc_boolean_t absolute); +#endif + - #include <dns/byaddr.h> - #ifdef DIG_SIGCHASE -@@ -120,4 +131,16 @@ - int lookup_counter = 0; + /*** + *** Initialization + ***/ +@@ -1261,6 +1272,14 @@ + * + */ +#ifdef WITH_IDN -+static void initialize_idn(void); -+static isc_result_t output_filter(isc_buffer_t *buffer, -+ unsigned int used_org, -+ isc_boolean_t absolute); -+static idn_result_t append_textname(char *name, const char *origin, -+ size_t namesize); -+static void idn_check_result(idn_result_t r, const char *msg); -+ -+#define MAXDLEN 256 -+#endif ++void ++dns_name_settotextfilter(dns_name_totextfilter_t proc); ++/* ++ * Call 'proc' at the end of dns_name_totext. ++ */ ++#endif /* WITH_IDN */ + + #define DNS_NAME_FORMATSIZE (DNS_NAME_MAXTEXT + 1) /* - * Exit Codes: -@@ -956,4 +979,8 @@ - copy_server_list(lwconf, &server_list); + * Suggested size of buffer passed to dns_name_format(). +diff -urN bind-9.2.3.org/lib/dns/name.c bind-9.2.3/lib/dns/name.c +--- bind-9.2.3.org/lib/dns/name.c 2003-10-24 23:31:34.000000000 +0200 ++++ bind-9.2.3/lib/dns/name.c 2003-10-24 23:46:54.000000000 +0200 +@@ -195,6 +195,13 @@ + /* XXXDCL make const? */ + dns_name_t *dns_wildcardname = &wild; +#ifdef WITH_IDN -+ initialize_idn(); ++/* ++ * dns_name_t to text post-conversion procedure. ++ */ ++static dns_name_totextfilter_t totext_filter_proc = NULL; +#endif + - if (keyfile[0] != 0) - setup_file_key(); -@@ -1568,4 +1595,12 @@ - dns_compress_t cctx; - char store[MXNAME]; + static void + set_offsets(const dns_name_t *name, unsigned char *offsets, + dns_name_t *set_name); +@@ -1699,6 +1706,9 @@ + unsigned int labels; + isc_boolean_t saw_root = ISC_FALSE; + char num[4]; +#ifdef WITH_IDN -+ idn_result_t mr; -+ char utf8_textname[MXNAME], utf8_origin[MXNAME], idn_textname[MXNAME]; ++ unsigned int oused = target->used; +#endif -+ + + /* + * This function assumes the name is in proper uncompressed +@@ -1876,6 +1886,10 @@ + + isc_buffer_add(target, tlen - trem); + +#ifdef WITH_IDN -+ dns_name_settotextfilter(output_filter); ++ if (totext_filter_proc != NULL) ++ return ((*totext_filter_proc)(target, oused, saw_root)); +#endif + return (ISC_R_SUCCESS); + } - REQUIRE(lookup != NULL); -@@ -1596,4 +1631,15 @@ - sizeof(lookup->onamespace)); +@@ -3340,3 +3354,9 @@ + return (ISC_R_SUCCESS); + } +#ifdef WITH_IDN -+ /* -+ * We cannot convert `textname' and `origin' separately. -+ * `textname' doesn't contain TLD, but local mapping needs -+ * TLD. -+ */ -+ mr = idn_encodename(IDN_LOCALCONV | IDN_DELIMMAP, lookup->textname, -+ utf8_textname, sizeof(utf8_textname)); -+ idn_check_result(mr, "convert textname to UTF-8"); ++void ++dns_name_settotextfilter(dns_name_totextfilter_t proc) { ++ totext_filter_proc = proc; ++} +#endif +diff -urN bind-9.2.3.org/README.idnkit bind-9.2.3/README.idnkit +--- bind-9.2.3.org/README.idnkit 1970-01-01 01:00:00.000000000 +0100 ++++ bind-9.2.3/README.idnkit 2003-10-24 23:46:54.000000000 +0200 +@@ -0,0 +1,113 @@ + - /* - * If the name has too many dots, force the origin to be NULL -@@ -1604,4 +1650,11 @@ - */ - /* XXX New search here? */ -+#ifdef WITH_IDN -+ if ((count_dots(utf8_textname) >= ndots) || !usesearch) -+ lookup->origin = NULL; /* Force abs lookup */ -+ else if (lookup->origin == NULL && lookup->new_search && usesearch) { -+ lookup->origin = ISC_LIST_HEAD(search_list); -+ } -+#else - if ((count_dots(lookup->textname) >= ndots) || !usesearch) - lookup->origin = NULL; /* Force abs lookup */ -@@ -1609,5 +1662,27 @@ - lookup->origin = ISC_LIST_HEAD(search_list); - } -+#endif ++ BIND-9 IDN patch + -+#ifdef WITH_IDN -+ if (lookup->origin != NULL) { -+ mr = idn_encodename(IDN_LOCALCONV | IDN_DELIMMAP, -+ lookup->origin->origin, utf8_origin, -+ sizeof(utf8_origin)); -+ idn_check_result(mr, "convert origin to UTF-8"); -+ mr = append_textname(utf8_textname, utf8_origin, -+ sizeof(utf8_textname)); -+ idn_check_result(mr, "append origin to textname"); -+ } -+ mr = idn_encodename(IDN_LOCALMAP | IDN_NAMEPREP | -+ IDN_IDNCONV | IDN_LENCHECK, utf8_textname, -+ idn_textname, sizeof(idn_textname)); -+ idn_check_result(mr, "convert UTF-8 textname to IDN encoding"); -+#endif ++ Japan Network Information Center (JPNIC) + -+#ifdef WITH_IDN -+ if (0) { -+#else - if (lookup->origin != NULL) { -+#endif - debug("trying origin %s", lookup->origin->origin); - result = dns_message_gettempname(lookup->sendmsg, -@@ -1654,4 +1729,13 @@ - dns_name_clone(dns_rootname, lookup->name); - else { -+#ifdef WITH_IDN -+ len = strlen(idn_textname); -+ isc_buffer_init(&b, idn_textname, len); -+ isc_buffer_add(&b, len); -+ result = dns_name_fromtext(lookup->name, &b, -+ dns_rootname, -+ ISC_FALSE, -+ &lookup->namebuf); -+#else - len = strlen(lookup->textname); - isc_buffer_init(&b, lookup->textname, len); -@@ -1661,4 +1745,5 @@ - ISC_FALSE, - &lookup->namebuf); -+#endif - } - if (result != ISC_R_SUCCESS) { -@@ -3165,4 +3250,102 @@ - isc_mem_destroy(&mctx); - } + -+#ifdef WITH_IDN -+static void -+initialize_idn(void) { -+ idn_result_t r; ++* What is this patch for? + -+#ifdef HAVE_SETLOCALE -+ /* Set locale */ -+ (void)setlocale(LC_ALL, ""); -+#endif -+ /* Create configuration context. */ -+ r = idn_nameinit(1); -+ if (r != idn_success) -+ fatal("idn api initialization failed: %s", -+ idn_result_tostring(r)); ++This patch adds internationalized domain name (IDN) support to BIND-9. ++You'll get internationalized version of dig/host/nslookup commands. + -+ /* Set domain name -> text post-conversion filter. */ -+ dns_name_settotextfilter(output_filter); -+} ++ + 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. + -+static isc_result_t -+output_filter(isc_buffer_t *buffer, unsigned int used_org, -+ isc_boolean_t absolute) -+{ -+ char tmp1[MAXDLEN], tmp2[MAXDLEN]; -+ size_t fromlen, tolen; -+ isc_boolean_t end_with_dot; + -+ /* -+ * Copy contents of 'buffer' to 'tmp1', supply trailing dot -+ * if 'absolute' is true, and terminate with NUL. -+ */ -+ fromlen = isc_buffer_usedlength(buffer) - used_org; -+ if (fromlen >= MAXDLEN) -+ return (ISC_R_SUCCESS); -+ memcpy(tmp1, (char *)isc_buffer_base(buffer) + used_org, fromlen); -+ end_with_dot = (tmp1[fromlen - 1] == '.') ? ISC_TRUE : ISC_FALSE; -+ if (absolute && !end_with_dot) { -+ fromlen++; -+ if (fromlen >= MAXDLEN) -+ return (ISC_R_SUCCESS); -+ tmp1[fromlen - 1] = '.'; -+ } -+ tmp1[fromlen] = '\0'; ++* Compilation & installation + -+ /* -+ * Convert contents of 'tmp1' to local encoding. -+ */ -+ if (idn_decodename(IDN_DECODE_APP, tmp1, tmp2, MAXDLEN) != idn_success) -+ return (ISC_R_SUCCESS); -+ strcpy(tmp1, tmp2); ++0. Prerequisite + -+ /* -+ * Copy the converted contents in 'tmp1' back to 'buffer'. -+ * If we have appended trailing dot, remove it. -+ */ -+ tolen = strlen(tmp1); -+ if (absolute && !end_with_dot && tmp1[tolen - 1] == '.') -+ tolen--; ++You have to build and install idnkit before building this patched version ++of bind-9. + -+ if (isc_buffer_length(buffer) < used_org + tolen) -+ return (ISC_R_NOSPACE); ++1. Running configure script + -+ isc_buffer_subtract(buffer, isc_buffer_usedlength(buffer) - used_org); -+ memcpy(isc_buffer_used(buffer), tmp1, tolen); -+ isc_buffer_add(buffer, tolen); ++Run `configure' in the top directory. See `README' for the ++configuration options. + -+ return (ISC_R_SUCCESS); -+} ++This patch adds the following 4 options to `configure'. You should ++at least specify `--with-idn' option to enable IDN support. + -+static idn_result_t -+append_textname(char *name, const char *origin, size_t namesize) { -+ size_t namelen = strlen(name); -+ size_t originlen = strlen(origin); ++ --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. + -+ /* Already absolute? */ -+ if (namelen > 0 && name[namelen - 1] == '.') -+ return idn_success; ++ --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. + -+ /* Append dot and origin */ ++ `--with-libiconv' is shorthand option for GNU libiconv. + -+ if (namelen + 1 + originlen >= namesize) -+ return idn_buffer_overflow; ++ --with-libiconv=/usr/local + -+ name[namelen++] = '.'; -+ (void)strcpy(name + namelen, origin); -+ return idn_success; -+} ++ This is equivalent to: + -+static void -+idn_check_result(idn_result_t r, const char *msg) { -+ if (r != idn_success) { -+ exitcode = 1; -+ fatal("%s: %s", msg, idn_result_tostring(r)); -+ } -+} ++ --with-iconv='-L/usr/local/lib -R/usr/local/lib -liconv' + -+#endif /* WITH_IDN */ - - -Index: bin/dig/host.1 -=================================================================== -RCS file: /proj/cvs/prod/bind9/bin/dig/host.1,v -retrieving revision 1.11.2.1.4.4 -diff -U2 -r1.11.2.1.4.4 host.1 ---- bin/dig/host.1 13 Apr 2004 04:11:03 -0000 1.11.2.1.4.4 -+++ bin/dig/host.1 1 Sep 2004 07:50:24 -0000 -@@ -128,4 +128,15 @@ - will be set to the number of seconds given by the hardware's maximum - value for an integer quantity. -+.SH "IDN SUPPORT" -+.PP -+If \fBhost\fR has been built with IDN (internationalized -+domain name) support, it can accept and display non-ASCII domain names. -+\fBhost\fR appropriately converts character encoding of -+domain name before sending a request to DNS server or displaying a -+reply from the server. -+If you'd like to turn off the IDN support for some reason, defines -+the \fBIDN_DISABLE\fR environment variable. -+The IDN support is disabled if the the variable is set when -+\fBhost\fR runs. - .SH "FILES" - .PP -Index: bin/dig/host.docbook -=================================================================== -RCS file: /proj/cvs/prod/bind9/bin/dig/host.docbook,v -retrieving revision 1.2.2.2.4.5 -diff -U2 -r1.2.2.2.4.5 host.docbook ---- bin/dig/host.docbook 13 Apr 2004 01:26:26 -0000 1.2.2.2.4.5 -+++ bin/dig/host.docbook 1 Sep 2004 07:50:27 -0000 -@@ -192,4 +192,19 @@ - - <refsect1> -+<title>IDN SUPPORT</title> -+<para> -+If <command>host</command> has been built with IDN (internationalized -+domain name) support, it can accept and display non-ASCII domain names. -+<command>host</command> appropriately converts character encoding of -+domain name before sending a request to DNS server or displaying a -+reply from the server. -+If you'd like to turn off the IDN support for some reason, defines -+the <envar>IDN_DISABLE</envar> environment variable. -+The IDN support is disabled if the the variable is set when -+<command>host</command> runs. -+</para> -+</refsect1> ++ `--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: + -+<refsect1> - <title>FILES</title> - <para> -Index: lib/dns/name.c -=================================================================== -RCS file: /proj/cvs/prod/bind9/lib/dns/name.c,v -retrieving revision 1.127.2.7.2.11 -diff -U2 -r1.127.2.7.2.11 name.c ---- lib/dns/name.c 1 Sep 2004 05:19:59 -0000 1.127.2.7.2.11 -+++ lib/dns/name.c 1 Sep 2004 07:50:35 -0000 -@@ -183,4 +183,11 @@ - dns_fullname_hash(dns_name_t *name, isc_boolean_t case_sensitive); - -+#ifdef WITH_IDN -+/* -+ * dns_name_t to text post-conversion procedure. -+ */ -+static dns_name_totextfilter_t totext_filter_proc = NULL; -+#endif ++ error in loading shared libraries: libiconv.so.2: cannot ++ open shared object file + - static void - set_offsets(const dns_name_t *name, unsigned char *offsets, -@@ -1208,4 +1215,7 @@ - unsigned int labels; - isc_boolean_t saw_root = ISC_FALSE; -+#ifdef WITH_IDN -+ unsigned int oused = target->used; -+#endif - - /* -@@ -1346,4 +1356,9 @@ - isc_buffer_add(target, tlen - trem); - -+#ifdef WITH_IDN -+ if (totext_filter_proc != NULL) -+ return ((*totext_filter_proc)(target, oused, saw_root)); -+#endif ++ If both `--with-libiconv' and `--with-iconv' options are ++ specified, `--with-iconv' is prior to `--with-libiconv'. + - return (ISC_R_SUCCESS); - } -@@ -2201,2 +2216,8 @@ - } - -+#ifdef WITH_IDN -+void -+dns_name_settotextfilter(dns_name_totextfilter_t proc) { -+ totext_filter_proc = proc; -+} -+#endif -Index: lib/dns/include/dns/name.h -=================================================================== -RCS file: /proj/cvs/prod/bind9/lib/dns/include/dns/name.h,v -retrieving revision 1.95.2.3.2.11 -diff -U2 -r1.95.2.3.2.11 name.h ---- lib/dns/include/dns/name.h 1 Sep 2004 05:19:59 -0000 1.95.2.3.2.11 -+++ lib/dns/include/dns/name.h 1 Sep 2004 07:50:41 -0000 -@@ -156,4 +156,15 @@ - #define DNS_NAME_MAXWIRE 255 - -+#ifdef WITH_IDN -+/* -+ * Text output filter procedure. -+ * 'target' is the buffer to be converted. The region to be converted -+ * is from 'buffer'->base + 'used_org' to the end of the used region. -+ */ -+typedef isc_result_t (*dns_name_totextfilter_t)(isc_buffer_t *target, -+ unsigned int used_org, -+ isc_boolean_t absolute); -+#endif ++ --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. + - /*** - *** Initialization -@@ -1115,4 +1126,12 @@ - * - */ ++ --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"'. + -+#ifdef WITH_IDN -+void -+dns_name_settotextfilter(dns_name_totextfilter_t proc); -+/* -+ * Call 'proc' at the end of dns_name_totext. -+ */ -+#endif /* WITH_IDN */ - - #define DNS_NAME_FORMATSIZE (DNS_NAME_MAXTEXT + 1) ++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$ diff --git a/bind-mkdep.patch b/bind-mkdep.patch deleted file mode 100644 index 0b81fa0..0000000 --- a/bind-mkdep.patch +++ /dev/null @@ -1,120 +0,0 @@ -diff -ur src.old/lib/bsd/Makefile src/lib/bsd/Makefile ---- src.old/lib/bsd/Makefile Mon Feb 22 03:47:57 1999 -+++ src/lib/bsd/Makefile Mon May 24 15:24:40 1999 -@@ -79,7 +79,7 @@ - -rmdir ${THREADED} - - depend: FRC -- mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} -+ ../../port/linux/bin/mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} - - links: FRC - @set -e; ln -s SRC/*.[ch] . -diff -ur src.old/lib/cylink/Makefile src/lib/cylink/Makefile ---- src.old/lib/cylink/Makefile Mon Feb 22 03:47:57 1999 -+++ src/lib/cylink/Makefile Mon May 24 15:24:58 1999 -@@ -81,7 +81,7 @@ - -rmdir ${THREADED} - - depend: FRC -- mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} -+ ../../port/linux/bin/mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} - - links: FRC - @set -e; ln -s SRC/*.[ch] . -diff -ur src.old/lib/dnssafe/Makefile src/lib/dnssafe/Makefile ---- src.old/lib/dnssafe/Makefile Tue Feb 23 06:26:59 1999 -+++ src/lib/dnssafe/Makefile Mon May 24 15:24:13 1999 -@@ -98,7 +98,7 @@ - -rmdir ${THREADED} - - depend: FRC -- mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} -+ ../../port/linux/bin/mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} - - links: FRC - @set -e; ln -s SRC/*.[ch] . -diff -ur src.old/lib/dst/Makefile src/lib/dst/Makefile ---- src.old/lib/dst/Makefile Sun Mar 7 10:33:47 1999 -+++ src/lib/dst/Makefile Mon May 24 15:25:19 1999 -@@ -83,7 +83,7 @@ - -rmdir ${THREADED} - - depend: FRC -- mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} -+ ../../port/linux/bin/mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} - - links: FRC - @set -e; ln -s SRC/*.[ch] SRC/*.pl . -diff -ur src.old/lib/inet/Makefile src/lib/inet/Makefile ---- src.old/lib/inet/Makefile Wed Mar 3 09:07:16 1999 -+++ src/lib/inet/Makefile Mon May 24 15:27:19 1999 -@@ -80,7 +80,7 @@ - - - depend: FRC -- mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} -+ ../../port/linux/bin/mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} - - links: FRC - @set -e; ln -s SRC/*.[ch] . -diff -ur src.old/lib/irs/Makefile src/lib/irs/Makefile ---- src.old/lib/irs/Makefile Mon Feb 22 03:47:58 1999 -+++ src/lib/irs/Makefile Mon May 24 15:27:48 1999 -@@ -100,7 +100,7 @@ - -rmdir ${THREADED} - - depend: FRC -- mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} -+ ../../port/linux/bin/mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} - - links: FRC - @set -e; ln -s SRC/*.[ch] . -diff -ur src.old/lib/isc/Makefile src/lib/isc/Makefile ---- src.old/lib/isc/Makefile Mon Feb 22 03:47:58 1999 -+++ src/lib/isc/Makefile Mon May 24 15:28:15 1999 -@@ -82,7 +82,7 @@ - -rmdir ${THREADED} - - depend: FRC -- mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} -+ ../../port/linux/bin/mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} - - links: FRC - @set -e; ln -s SRC/*.[ch] . -diff -ur src.old/lib/nameser/Makefile src/lib/nameser/Makefile ---- src.old/lib/nameser/Makefile Mon Feb 22 03:47:59 1999 -+++ src/lib/nameser/Makefile Mon May 24 15:28:32 1999 -@@ -75,7 +75,7 @@ - -rmdir ${THREADED} - - depend: FRC -- mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} -+ ../../port/linux/bin/mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} - - links: FRC - @set -e; ln -s SRC/*.[ch] . -diff -ur src.old/lib/resolv/Makefile src/lib/resolv/Makefile ---- src.old/lib/resolv/Makefile Mon Feb 22 03:47:59 1999 -+++ src/lib/resolv/Makefile Mon May 24 15:28:50 1999 -@@ -79,7 +79,7 @@ - -rmdir ${THREADED} - - depend: FRC -- mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} -+ ../../port/linux/bin/mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} - - links: FRC - @set -e; ln -s SRC/*.[ch] . -diff -ur src.old/port/linux/Makefile src/port/linux/Makefile ---- src.old/port/linux/Makefile Mon Feb 22 03:48:02 1999 -+++ src/port/linux/Makefile Mon May 24 15:22:43 1999 -@@ -67,7 +67,7 @@ - rm -f *.${O} *.BAK *.CKP *~ - - depend:: FRC -- mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} -+ bin/mkdep -I${INCL} -I${PORTINCL} ${CPPFLAGS} ${SRCS} - - links: FRC - @set -e; ln -s SRC/*.[ch] SRC/bin SRC/Makefile.set SRC/probe . diff --git a/bind-noinet6.patch b/bind-noinet6.patch deleted file mode 100644 index 931a3a6..0000000 --- a/bind-noinet6.patch +++ /dev/null @@ -1,132 +0,0 @@ -diff -ur bind-9.3.0rc3.orig/configure.in bind-9.3.0rc3/configure.in ---- bind-9.3.0rc3.orig/configure.in 2004-07-23 06:40:00.000000000 +0200 -+++ bind-9.3.0rc3/configure.in 2004-09-02 21:50:22.318104392 +0200 -@@ -1111,45 +1111,6 @@ - found_ipv6=no]) - - # --# See whether IPv6 support is provided via a Kame add-on. --# This is done before other IPv6 linking tests to LIBS is properly set. --# --AC_MSG_CHECKING(for Kame IPv6 support) --AC_ARG_WITH(kame, -- [ --with-kame[=PATH] use Kame IPv6 [default path /usr/local/v6]], -- use_kame="$withval", use_kame="no") -- --case "$use_kame" in -- no) -- ;; -- yes) -- kame_path=/usr/local/v6 -- ;; -- *) -- kame_path="$use_kame" -- ;; --esac -- --case "$use_kame" in -- no) -- AC_MSG_RESULT(no) -- ;; -- *) -- if test -f $kame_path/lib/libinet6.a; then -- AC_MSG_RESULT($kame_path/lib/libinet6.a) -- LIBS="-L$kame_path/lib -linet6 $LIBS" -- else -- AC_MSG_ERROR([$kame_path/lib/libinet6.a not found. -- --Please choose the proper path with the following command: -- -- configure --with-kame=PATH --]) -- fi -- ;; --esac -- --# - # Whether netinet6/in6.h is needed has to be defined in isc/platform.h. - # Including it on Kame-using platforms is very bad, though, because - # Kame uses #error against direct inclusion. So include it on only -@@ -1577,32 +1538,7 @@ - - case $want_getifaddrs in - yes|glibc) --# --# Do we have getifaddrs() ? --# --case $host in --*-linux*) -- # Some recent versions of glibc support getifaddrs() which does not -- # provide AF_INET6 addresses while the function provided by the USAGI -- # project handles the AF_INET6 case correctly. We need to avoid -- # using the former but prefer the latter unless overridden by -- # --enable-getifaddrs=glibc. -- if test $use_getifaddrs = glibc -- then -- AC_CHECK_FUNC(getifaddrs, AC_DEFINE(HAVE_GETIFADDRS)) -- else -- save_LIBS="$LIBS" -- LIBS="-L/usr/local/v6/lib $LIBS" -- AC_CHECK_LIB(inet6, getifaddrs, -- LIBS="$LIBS -linet6" -- AC_DEFINE(HAVE_GETIFADDRS), -- LIBS=${save_LIBS}) -- fi -- ;; --*) -- AC_CHECK_FUNC(getifaddrs, AC_DEFINE(HAVE_GETIFADDRS)) -- ;; --esac -+AC_CHECK_FUNC(getifaddrs, AC_DEFINE(HAVE_GETIFADDRS)) - ;; - no) - ;; -diff -ur bind-9.3.0rc3.orig/lib/bind/configure.in bind-9.3.0rc3/lib/bind/configure.in ---- bind-9.3.0rc3.orig/lib/bind/configure.in 2004-08-10 04:19:54.000000000 +0200 -+++ bind-9.3.0rc3/lib/bind/configure.in 2004-09-02 21:48:06.216794936 +0200 -@@ -790,45 +790,6 @@ - found_ipv6=no]) - - # --# See whether IPv6 support is provided via a Kame add-on. --# This is done before other IPv6 linking tests to LIBS is properly set. --# --AC_MSG_CHECKING(for Kame IPv6 support) --AC_ARG_WITH(kame, -- [ --with-kame[=PATH] use Kame IPv6 [default path /usr/local/v6]], -- use_kame="$withval", use_kame="no") -- --case "$use_kame" in -- no) -- ;; -- yes) -- kame_path=/usr/local/v6 -- ;; -- *) -- kame_path="$use_kame" -- ;; --esac -- --case "$use_kame" in -- no) -- AC_MSG_RESULT(no) -- ;; -- *) -- if test -f $kame_path/lib/libinet6.a; then -- AC_MSG_RESULT($kame_path/lib/libinet6.a) -- LIBS="-L$kame_path/lib -linet6 $LIBS" -- else -- AC_MSG_ERROR([$kame_path/lib/libinet6.a not found. -- --Please choose the proper path with the following command: -- -- configure --with-kame=PATH --]) -- fi -- ;; --esac -- --# - # Whether netinet6/in6.h is needed has to be defined in isc/platform.h. - # Including it on Kame-using platforms is very bad, though, because - # Kame uses #error against direct inclusion. So include it on only diff --git a/bind-nonlist.patch b/bind-nonlist.patch deleted file mode 100644 index 6a791bc..0000000 --- a/bind-nonlist.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- src/bin/named/ns_udp.c.nonlist Wed Jun 10 03:54:37 1998 -+++ src/bin/named/ns_udp.c Wed Jun 10 03:57:14 1998 -@@ -34,7 +34,11 @@ - #include <ctype.h> - #include <errno.h> - #include <netdb.h> --#include <nlist.h> -+ -+#if defined(CHECK_UDP_SUM) || defined(FIX_UDP_SUM) -+#include <libelf/nlist.h> -+#endif -+ - #include <resolv.h> - #include <stdio.h> - #include <syslog.h> diff --git a/bind-pidfile.patch b/bind-pidfile.patch deleted file mode 100644 index 60ffdbb..0000000 --- a/bind-pidfile.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -urN bind-8.2.2_P5.org/src/bin/named/ns_config.c bind-8.2.2_P5/src/bin/named/ns_config.c ---- bind-8.2.2_P5.org/src/bin/named/ns_config.c Tue Nov 9 00:09:42 1999 -+++ bind-8.2.2_P5/src/bin/named/ns_config.c Wed Feb 2 17:30:14 2000 -@@ -1445,8 +1445,10 @@ - return (NULL); - } - -+ /* If file isn't our or named is running as root */ -+ if ((geteuid() == 0) || (geteuid() != sb.st_uid)) - (void)unlink(filename); -- fd = open(filename, O_WRONLY|O_CREAT|O_EXCL, -+ fd = open(filename, O_WRONLY|O_CREAT|O_TRUNC, - S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH); - if (fd < 0) - return (NULL); diff --git a/bind-pmake.patch b/bind-pmake.patch index d4ae7fa..d90f5a3 100644 --- a/bind-pmake.patch +++ b/bind-pmake.patch @@ -1,6 +1,23 @@ -diff -ur bind-9.3.0rc3.orig/lib/bind/make/rules.in bind-9.3.0rc3/lib/bind/make/rules.in ---- bind-9.3.0rc3.orig/lib/bind/make/rules.in 2004-03-15 02:02:44.000000000 +0100 -+++ bind-9.3.0rc3/lib/bind/make/rules.in 2004-09-01 10:51:31.568733488 +0200 +diff -ur bind-9.2.5.orig/lib/bind/Makefile.in bind-9.2.5/lib/bind/Makefile.in +--- bind-9.2.5.orig/lib/bind/Makefile.in 2005-03-23 23:06:54.000000000 +0100 ++++ bind-9.2.5/lib/bind/Makefile.in 2005-03-23 23:09:36.000000000 +0100 +@@ -100,11 +100,11 @@ + + @BIND9_MAKE_RULES@ + +-libbind.@SA@: ${OBJS} ++libbind.@SA@: touchfile + ${AR} ${ARFLAGS} $@ ${OBJS} + ${RANLIB} $@ + +-libbind.la: ${OBJS} ++libbind.la: touchfile + ${LIBTOOL_MODE_LINK} \ + ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libbind.la -rpath ${libdir} \ + -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \ +diff -ur bind-9.2.5.orig/lib/bind/make/rules.in bind-9.2.5/lib/bind/make/rules.in +--- bind-9.2.5.orig/lib/bind/make/rules.in 2004-10-20 02:14:53.000000000 +0200 ++++ bind-9.2.5/lib/bind/make/rules.in 2005-03-23 23:09:36.000000000 +0100 @@ -49,8 +49,10 @@ ### Makefile may define: ### TARGETS @@ -13,27 +30,10 @@ diff -ur bind-9.3.0rc3.orig/lib/bind/make/rules.in bind-9.3.0rc3/lib/bind/make/r ### ### Subdirectories ### -diff -ur bind-9.3.0rc3.orig/lib/bind/Makefile.in bind-9.3.0rc3/lib/bind/Makefile.in ---- bind-9.3.0rc3.orig/lib/bind/Makefile.in 2004-07-20 09:01:56.000000000 +0200 -+++ bind-9.3.0rc3/lib/bind/Makefile.in 2004-09-01 10:56:00.622831048 +0200 -@@ -94,11 +94,11 @@ - - @BIND9_MAKE_RULES@ - --libbind.@SA@: ${OBJS} -+libbind.@SA@: touchfile ${OBJS} - ${AR} ${ARFLAGS} $@ ${OBJS} - ${RANLIB} $@ - --libbind.la: ${OBJS} -+libbind.la: touchfile ${OBJS} - ${LIBTOOL_MODE_LINK} \ - ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libbind.la -rpath ${libdir} \ - -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \ -diff -ur bind-9.3.0rc3.orig/lib/dns/Makefile.in bind-9.3.0rc3/lib/dns/Makefile.in ---- bind-9.3.0rc3.orig/lib/dns/Makefile.in 2004-07-20 09:01:57.000000000 +0200 -+++ bind-9.3.0rc3/lib/dns/Makefile.in 2004-09-01 10:54:21.089962344 +0200 -@@ -101,17 +101,17 @@ +diff -ur bind-9.2.5.orig/lib/dns/Makefile.in bind-9.2.5/lib/dns/Makefile.in +--- bind-9.2.5.orig/lib/dns/Makefile.in 2005-03-23 23:06:54.000000000 +0100 ++++ bind-9.2.5/lib/dns/Makefile.in 2005-03-23 23:09:36.000000000 +0100 +@@ -107,11 +107,11 @@ -DLIBAGE=${LIBAGE} \ -c ${srcdir}/version.c @@ -47,16 +47,18 @@ diff -ur bind-9.3.0rc3.orig/lib/dns/Makefile.in bind-9.3.0rc3/lib/dns/Makefile.i ${LIBTOOL_MODE_LINK} \ ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libdns.la -rpath ${libdir} \ -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \ - ${OBJS} ${ISCLIBS} @DNS_CRYPTO_LIBS@ ${LIBS} +@@ -137,7 +137,7 @@ + -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \ + ${GSSAPIOBJS} ${LIBS} -timestamp: libdns.@A@ +timestamp: include libdns.@A@ touch timestamp installdirs: -diff -ur bind-9.3.0rc3.orig/lib/isc/Makefile.in bind-9.3.0rc3/lib/isc/Makefile.in ---- bind-9.3.0rc3.orig/lib/isc/Makefile.in 2004-07-20 09:01:58.000000000 +0200 -+++ bind-9.3.0rc3/lib/isc/Makefile.in 2004-09-01 10:52:47.772148808 +0200 +diff -ur bind-9.2.5.orig/lib/isc/Makefile.in bind-9.2.5/lib/isc/Makefile.in +--- bind-9.2.5.orig/lib/isc/Makefile.in 2004-07-20 09:00:19.000000000 +0200 ++++ bind-9.2.5/lib/isc/Makefile.in 2005-03-23 23:09:36.000000000 +0100 @@ -88,11 +88,11 @@ -DLIBAGE=${LIBAGE} \ -c ${srcdir}/version.c @@ -71,9 +73,9 @@ diff -ur bind-9.3.0rc3.orig/lib/isc/Makefile.in bind-9.3.0rc3/lib/isc/Makefile.i ${LIBTOOL_MODE_LINK} \ ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o libisc.la -rpath ${libdir} \ -version-info ${LIBINTERFACE}:${LIBREVISION}:${LIBAGE} \ -diff -ur bind-9.3.0rc3.orig/make/rules.in bind-9.3.0rc3/make/rules.in ---- bind-9.3.0rc3.orig/make/rules.in 2004-07-20 09:02:00.000000000 +0200 -+++ bind-9.3.0rc3/make/rules.in 2004-09-01 10:51:31.574732576 +0200 +diff -ur bind-9.2.5.orig/make/rules.in bind-9.2.5/make/rules.in +--- bind-9.2.5.orig/make/rules.in 2004-07-20 09:00:21.000000000 +0200 ++++ bind-9.2.5/make/rules.in 2005-03-23 23:09:36.000000000 +0100 @@ -47,7 +47,10 @@ ### Makefile may define: ### TARGETS diff --git a/bind-probe_ipv6.patch b/bind-probe_ipv6.patch deleted file mode 100644 index 7c68cd0..0000000 --- a/bind-probe_ipv6.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -urN src.orig/port/linux/include/Makefile src/port/linux/include/Makefile ---- src.orig/port/linux/include/Makefile Tue May 18 08:42:52 1999 -+++ src/port/linux/include/Makefile Mon Aug 2 18:32:26 1999 -@@ -68,7 +68,7 @@ - all depend:: port_ipv6.h - - port_ipv6.h: FRC -- probe_ipv6 -+ ../bin/probe_ipv6 - - distclean:: clean - diff --git a/bind-pselect.patch b/bind-pselect.patch deleted file mode 100644 index 43ab757..0000000 --- a/bind-pselect.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- src/lib/isc/eventlib.c Sat Mar 21 00:26:24 1998 -+++ src.orig/lib/isc/eventlib.c Sat Dec 5 17:43:14 1998 -@@ -42,7 +42,11 @@ - #include "port_after.h" - - /* Forward. */ -- -+#if ((__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)) -+#include <sys/select.h> /* Another piece of shit from glibc guys ...;(( */ -+#undef NEED_PSELECT -+#endif /* glibc-2.1 */ -+ - #ifdef NEED_PSELECT - static int pselect(int, void *, void *, void *, struct timespec*); - #endif diff --git a/bind-res_randomid.patch b/bind-res_randomid.patch deleted file mode 100644 index 1b2ec71..0000000 --- a/bind-res_randomid.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- bind-chroot-8.2.2_P5/src/lib/resolv/res_init.c.orig Sun Jan 9 12:47:08 2000 -+++ bind-chroot-8.2.2_P5/src/lib/resolv/res_init.c Sun Jan 9 12:55:35 2000 -@@ -92,6 +92,7 @@ - #include <unistd.h> - - #include "port_after.h" -+#undef res_randomid - - /* Options. Should all be left alone. */ - #define RESOLVSORT @@ -3,6 +3,7 @@ %bcond_without ssl # build without OpenSSL support %bcond_without ipv6 # build without IPv6 support %bcond_without ldap # build without LDAP support +%bcond_without static_libs # build without static libraries # Summary: BIND - DNS name server Summary(de): BIND - DNS-Namenserver @@ -15,19 +16,18 @@ Summary(tr): DNS alan adý sunucusu Summary(uk): BIND - cÅÒ×ÅÒ ÓÉÓÔÅÍÉ ÄÏÍÅÎÎÉÈ ¦ÍÅÎ (DNS) Summary(zh_CN): Internet ÓòÃû·þÎñÆ÷ Name: bind -Version: 9.3.0 -Release: 2 +Version: 9.2.6 +Release: 6 Epoch: 6 License: BSD-like Group: Networking/Daemons Source0: ftp://ftp.isc.org/isc/bind9/%{version}/%{name}-%{version}.tar.gz -# Source0-md5: fdb42fff7e345372ac52a4493b77b694 +# Source0-md5: a1b1224cfd9c9599fb4b336c371879b9 Source1: %{name}-conf.tar.gz # Source1-md5: 8ee77729f806fcd548fe0cceb34b4a06 Source2: named.init Source3: named.sysconfig Source4: named.logrotate -#Source5: nslookup.8 Source5: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2 # Source5-md5: 35b1dfaa12615c9802126ee833e0e7f7 Source6: http://www.venaas.no/ldap/bind-sdb/dnszone-schema.txt @@ -40,33 +40,31 @@ Patch4: %{name}-pmake.patch # from idnkit Patch5: %{name}-idn.patch Patch6: %{name}-sdb-ldap.patch -Patch7: %{name}-noinet6.patch +Patch7: %{name}-destaddr.patch URL: http://www.isc.org/products/BIND/bind9.html BuildRequires: autoconf BuildRequires: automake BuildRequires: bison BuildRequires: flex -BuildRequires: libtool BuildRequires: idnkit-devel -%{?with_ldap:BuildRequires: openldap-devel} +BuildRequires: libtool +%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0} %{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d} -BuildRequires: rpmbuild(macros) >= 1.159 -PreReq: %{name}-libs = %{epoch}:%{version}-%{release} -PreReq: rc-scripts >= 0.2.0 -Requires(pre): fileutils +BuildRequires: rpmbuild(macros) >= 1.268 +Requires(post,preun): /sbin/chkconfig +Requires(postun): /usr/sbin/groupdel +Requires(postun): /usr/sbin/userdel Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd -Requires(postun): /usr/sbin/groupdel -Requires(postun): /usr/sbin/userdel -Requires(post,preun): /sbin/chkconfig +Requires(pre): fileutils +Requires: %{name}-libs = %{epoch}:%{version}-%{release} Requires: psmisc >= 20.1 +Requires: rc-scripts >= 0.2.0 Provides: group(named) Provides: nameserver Provides: user(named) -Obsoletes: caching-nameserver -Obsoletes: nameserver Conflicts: %{name}-chroot Conflicts: kernel < 2.2.18 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -259,8 +257,8 @@ applications. If you install bind-devel, you'll also need to install bind-libs. %description devel -l es -Los archivos de inclusión y bibliotecas necesarios al desarrollo DNS -para el bind. +Todos los archivos de inclusión y bibliotecas necesarios al desarrollo +DNS para el bind. %description devel -l pl Pakiet zawiera pliki nag³ówkowe. Je¿eli bêdziesz pisa³ programy pod @@ -313,7 +311,7 @@ BIND. %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p0 +%patch5 -p1 %{?with_ldap:%patch6 -p1} %patch7 -p1 @@ -327,14 +325,13 @@ cd lib/bind %{__autoconf} cd ../.. %configure \ - --with-idn \ - --with-libtool \ %{?with_ssl:--with-openssl=%{_prefix}} \ + --with-libtool \ + --enable-threads \ %{?with_ipv6:--enable-ipv6} \ --enable-libbind \ - --enable-threads \ - --disable-getifaddrs - + %{!?with_static_libs:--enable-static=no} \ + --with-idn %{__make} %install @@ -367,53 +364,50 @@ ln -sf %{_var}/lib/named/named.stats $RPM_BUILD_ROOT%{_var}/log/named.stats touch $RPM_BUILD_ROOT%{_var}/lib/named/{named.{log,stats},dev/{random,null}} -%{?with_ldap:mkdir -p $RPM_BUILD_ROOT%{_datadir}/openldap/schema/} +%{?with_ldap:install -d $RPM_BUILD_ROOT%{_datadir}/openldap/schema} %{?with_ldap:install %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/openldap/schema/dnszone.schema} # we don't want Makefiles in documentation... +# FIXME: breaks re-entrant install rm -f doc/misc/Makefile* %clean rm -rf $RPM_BUILD_ROOT %pre +%banner %{name}-prescript << EOF +EOF if [ -f %{_sysconfdir}/named.boot ]; then cp -f %{_sysconfdir}/named.boot /etc/named.boot.2conf mv -f %{_sysconfdir}/named.boot /etc/named.rpmsave - echo "Warning: %{_sysconfdir}/named.boot saved as /etc/named.rpmsave." 1>&2 -fi -if [ -n "`/usr/bin/getgid named`" ]; then - if [ "`/usr/bin/getgid named`" != "58" ]; then - echo "Error: group named doesn't have gid=58. Correct this before installing bind." 1>&2 - exit 1 - fi -else - echo "Adding group named GID=58." - /usr/sbin/groupadd -g 58 named || exit 1 -fi -if [ -n "`/bin/id -u named 2>/dev/null`" ]; then - if [ "`/bin/id -u named`" != "58" ]; then - echo "Error: user named doesn't have uid=58. Correct this before installing bind." 1>&2 - exit 1 - fi -else - echo "Adding user named UID=58." - /usr/sbin/useradd -u 58 -g 58 -d /tmp -s /bin/false -c "BIND user" named || exit 1 + %banner %{name}-prescript -a -e << EOF +Warning: %{_sysconfdir}/named.boot saved as /etc/named.rpmsave. +EOF fi +%groupadd -g 58 named +%useradd -u 58 -g 58 -d /tmp -s /bin/false -c "BIND user" named %post -/sbin/chkconfig --add named -if [ -f /var/lock/subsys/named ]; then - /etc/rc.d/init.d/named restart 1>&2 -else - echo "Type \"/etc/rc.d/init.d/named start\" to start named." 1>&2 +if [ "$1" = 1 ]; then + mknod -m 660 %{_var}/lib/named/dev/null c 1 3 2>/dev/null + chown root:named %{_var}/lib/named/dev/null 2>/dev/null + mknod -m 640 %{_var}/lib/named/dev/null c 1 8 2>/dev/null + chown root:named %{_var}/lib/named/dev/random 2>/dev/null + if [ ! -c %{_var}/lib/named/dev/null ] || [ ! -c %{_var}/lib/named/dev/random ]; then +%banner -e %{name}-devs <<-EOF +Device nodes were not created!!! + +Please read PLD Linux Vserver FAQ if you're installing %{name} inside +vserver: <http://www.pld-linux.org/Vserver>. +EOF + fi #' fi +/sbin/chkconfig --add named +%service named restart %preun if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/named ]; then - /etc/rc.d/init.d/named stop 1>&2 - fi + %service named stop /sbin/chkconfig --del named fi @@ -423,43 +417,46 @@ if [ "$1" = "0" ]; then %groupremove named fi -%post libs -p /sbin/ldconfig -%postun libs -p /sbin/ldconfig +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig %files %defattr(644,root,root,755) %doc README EXAMPLE-CONFIG-* FAQ doc/misc/* doc/arm/*.html doc/rfc/index %{?with_ldap:doc/*.sdb-ldap} %attr(754,root,root) /etc/rc.d/init.d/named -%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/named -%attr(640,root,named) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/named.conf -%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/named +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/named +%attr(640,root,named) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/named.conf +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/named %attr(755,root,root) %{_sbindir}/* %{?with_ldap:%{_datadir}/openldap/schema/*.schema} +%{_mandir}/man5/named.conf* +%{_mandir}/man5/rndc* %{_mandir}/man8/dns* %{_mandir}/man8/lwres* %{_mandir}/man8/named* %{_mandir}/man8/rndc* -%{_mandir}/man5/rndc* %lang(ja) %{_mandir}/ja/man8/named* %attr(770,root,named) %dir %{_var}/lib/named %attr(770,root,named) %dir %{_var}/lib/named/M %attr(770,root,named) %dir %{_var}/lib/named/S %attr(750,root,named) %dir %{_var}/lib/named%{_sysconfdir} -%attr(770,root,named) %dir %{_var}/lib/named/dev -%config(noreplace) %verify(not size mtime md5) %{_var}/lib/named/M/* -%config(noreplace) %verify(not size mtime md5) %{_var}/lib/named/root.* -%attr(640,root,named) %config(noreplace) %verify(not size mtime md5) %{_var}/lib/named%{_sysconfdir}/* +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/named/M/* +%config(noreplace) %verify(not md5 mtime size) %{_var}/lib/named/root.* +%attr(640,root,named) %config(noreplace) %verify(not md5 mtime size) %{_var}/lib/named%{_sysconfdir}/* -#%ghost %{_var}/lib/named/dev/* -%attr(770,root,named) %{_var}/lib/named/dev/* %attr(660,named,named) %ghost %{_var}/log/named* +# devices for chrooted bind +%attr(750,root,named) %dir %{_var}/lib/named/dev +%ghost %attr(660,root,named) %{_var}/lib/named/dev/null +%ghost %attr(640,root,named) %{_var}/lib/named/dev/random + %files utils %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/dig @@ -496,6 +493,8 @@ fi %{_includedir}/* %{_mandir}/man3/* +%if %{with static_libs} %files static %defattr(644,root,root,755) %{_libdir}/*.a +%endif diff --git a/bind9-openssl.patch b/bind9-openssl.patch deleted file mode 100644 index 6377eb9..0000000 --- a/bind9-openssl.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -urN bind-9.0.1rc2.org/configure.in bind-9.0.1rc2/configure.in ---- bind-9.0.1rc2.org/configure.in Tue Nov 7 11:04:02 2000 -+++ bind-9.0.1rc2/configure.in Wed Nov 8 11:15:29 2000 -@@ -184,12 +184,13 @@ - # - AC_MSG_CHECKING(for compatible OpenSSL library) - --DST_PRIVATEOPENSSL='-DDST_USE_PRIVATE_OPENSSL' --dst_privateopenssl='openssl' --DST_OPENSSL_INC='-I${srcdir}/../openssl/include' -+DNS_OPENSSL_LIBS="-lssl -lcrypto" -+DST_PRIVATEOPENSSL='' -+dst_privateopenssl='' -+DST_OPENSSL_INC='' - DST_OPENSSL_LIB='' --DST_OPENSSL_OBJS='${OPENSSLOBJS}' --AC_MSG_RESULT(using private library) -+DST_OPENSSL_OBJS='' -+AC_MSG_RESULT(using shared library) - - AC_SUBST(DST_PRIVATEOPENSSL) - AC_SUBST(dst_privateopenssl) -@@ -202,7 +203,6 @@ - # it as needed) if it is found. - # - --DNS_OPENSSL_LIBS="" - AC_SUBST(DNS_OPENSSL_LIBS) - - # diff --git a/host_991529+.diff b/host_991529+.diff deleted file mode 100644 index 73060f4..0000000 --- a/host_991529+.diff +++ /dev/null @@ -1,206 +0,0 @@ -diff -Nru host/Makefile host+/Makefile ---- host/Makefile Wed Mar 15 22:51:39 2000 -+++ host+/Makefile Wed Jun 14 01:01:09 2000 -@@ -60,6 +60,8 @@ - # This is the default in either case if you compile stand-alone. - CONFIGDEFS = -DHOST_RES_SEND - -+CONFIGDEFS = -DHOST_RES_SEND -DIPV6 -+ - # ---------------------------------------------------------------------- - # Include file directories. - # This program must be compiled with the same include files that -diff -Nru host/README.ip6.int host+/README.ip6.int ---- host/README.ip6.int Thu Jan 1 01:00:00 1970 -+++ host+/README.ip6.int Wed Jun 14 01:05:05 2000 -@@ -0,0 +1,17 @@ -+Use -DIPV6 in the Makefile to turn IPv6 addresses recognition. This -+version of host recognizes IPv6 addresses in the following formats: -+ -+3ffe:8010:: normal format of a host (mask 128) address -+3ffe:8010::1 normal format of a host (mask 128) address -+3ffe:8010::/28 with mask -+3ffe:8010:2::/28 with mask; :2: will be masked -+3ffe:8010:2 relaxed format; default mask will be 48 in this case -+3ffe:8010/28 default mask 32 but shorten explicitely to 28 -+ -+All of the above addresses will be transformed into ip6.int domain form, -+e.g. 3ffe:8010/28 -> 1.0.8.E.F.F.3.ip6.int. ::/0 can be used to ask -+about just ip6.int. -+ -+There no IPv6 communication support yet. -+ -+rzm@icm.edu.pl -diff -Nru host/defs.h host+/defs.h ---- host/defs.h Wed Mar 29 20:19:00 2000 -+++ host+/defs.h Tue Jun 13 18:39:39 2000 -@@ -87,6 +87,7 @@ - int parse_type PROTO((char *)); - int parse_class PROTO((char *)); - char *in_addr_arpa PROTO((char *)); -+char *ip6_int PROTO((char *)); - char *nsap_int PROTO((char *)); - void print_host PROTO((char *, struct hostent *)); - void show_res PROTO((void)); -diff -Nru host/info.c host+/info.c ---- host/info.c Mon Mar 27 12:59:11 2000 -+++ host+/info.c Tue Jun 13 21:06:15 2000 -@@ -63,6 +63,7 @@ - int nodata = 0; /* NO_DATA status during DNSRCH */ - int nquery = 0; /* number of extra search queries */ - -+ if (name==NULL) return FALSE; - /* - * Single dot means root zone. - */ -diff -Nru host/main.c host+/main.c ---- host/main.c Wed Mar 29 22:38:09 2000 -+++ host+/main.c Wed Jun 14 00:55:58 2000 -@@ -1273,6 +1273,7 @@ - input char *name; /* command line argument */ - { - bool result; /* result status of action taken */ -+ bool rev6 = FALSE; - - /* check for nonsense input name */ - if (strlength(name) > MAXDNAME) -@@ -1297,6 +1298,13 @@ - else - queryaddr = inet_addr(queryname); - -+#ifdef IPV6 -+ if (index(queryname,':')) { -+ rev6 = TRUE; -+ queryname = ip6_int(queryname); -+ } -+#endif -+ - /* - * Generate reverse in-addr.arpa query if so requested. - * The input name must be a dotted quad, and be convertible. -@@ -1304,7 +1312,11 @@ - if (reverse) - { - if (queryaddr == NOT_DOTTED_QUAD) -- name = NULL; -+ if (rev6) { -+ name = ip6_int(queryname); -+ } else { -+ name = NULL; -+ } - else - name = in_addr_arpa(queryname); - -@@ -1323,18 +1335,18 @@ - * Heuristic to check whether we are processing a reverse mapping domain. - * Normalize to not have trailing dot, unless it is the root zone. - */ -- if ((queryaddr == NOT_DOTTED_QUAD) && !reverse) -+ if ((queryaddr == NOT_DOTTED_QUAD) && !rev6 && !reverse) - { - char namebuf[MAXDNAME+1]; - register int n; - -- name = strcpy(namebuf, queryname); -+ name = strncpy(namebuf, queryname, sizeof(namebuf)); - - n = strlength(name); - if (n > 1 && name[n-1] == '.') - name[n-1] = '\0'; - -- reverse = indomain(name, ARPA_ROOT, FALSE); -+ reverse = indomain(name, ARPA_ROOT, FALSE) || indomain(name, IPNG_ROOT, FALSE); - } - - /* -@@ -1370,7 +1382,7 @@ - /* set querytype for regular mode if unspecified */ - if ((querytype == T_NONE) && !listmode) - { -- if ((queryaddr != NOT_DOTTED_QUAD) || reverse) -+ if ((queryaddr != NOT_DOTTED_QUAD) || rev6 || reverse) - querytype = T_PTR; - else - querytype = T_A; -diff -Nru host/util.c host+/util.c ---- host/util.c Mon Mar 27 13:34:15 2000 -+++ host+/util.c Wed Jun 14 01:00:08 2000 -@@ -209,6 +209,78 @@ - } - - /* -+** IP6_INT -- Convert IPv6 string to reverse ip6.int -+** ------------------------------------------------------------------ -+** -+** Returns: -+** Pointer to appropriate reverse ip6.int name with -+** trailing dot to force absolute domain name. NULL -+** in case of invalid IPv6 input string. -+*/ -+ -+char * -+ip6_int(ipv6) -+input char *ipv6; /* input string with IPv6 */ -+{ -+ static char dombuf[ 128/4*3 + sizeof(IPNG_ROOT) + 2]; -+#ifdef IPV6 -+ char ipv6addr [8*4 + 7 + 1 + 3 + 2], *mask, *p, buf2[5]; -+ struct in6_addr ip6buf; -+ int nmask = -1, err, i, colons = 0; -+ -+ strncpy(ipv6addr, ipv6, sizeof(ipv6addr)); -+ -+ mask = index(ipv6addr, '/'); -+ if (mask) { -+ *mask = '\0'; -+ mask++; -+ nmask = atoi(mask); -+ } -+ -+ p = ipv6addr; while(*p) if (*p++==':') colons++; -+/* printf("addr: %s, colons: %d, last: %c\n", ipv6addr, colons, p[-1]); */ -+ -+ /* relaxing address format: remove last : */ -+ if ( (p-ipv6addr>=2) && (p[-1]==':') && (p[-2]!=':') ) p[-1] = '\0'; -+ -+ /* mask not set, derived from non-standard formatted address */ -+ if ( (colons<7) && (p[-1]!=':') && (strstr(ipv6addr,"::")==0) ) { -+ strcat(ipv6addr, "::"); -+ if (nmask==-1) nmask = (colons+1)*16; -+ } -+ -+ if (nmask==-1) nmask = 128; -+ -+ err = inet_pton(AF_INET6, ipv6addr, &ip6buf); -+ if (err == -1) { -+ errmsg("Address (%s) format error: %s", ipv6, strerror(errno)); -+ return ipv6; -+ } -+ if (err == 0) { -+ errmsg("Address `%s' not valid"); -+ return ipv6; -+ } -+ -+/* for (i=0; i<16; i++) printf("%02X ", ip6buf.s6_addr[i]); printf("/%d\n", nmask); */ -+ -+ nmask -= nmask%4; -+ dombuf[0] = '\0'; -+ while (nmask>0) { -+ if (nmask%8==0) { -+ sprintf(buf2, "%X.", ip6buf.s6_addr[(nmask-1)/8] % 16); -+ } else { -+ sprintf(buf2, "%X.", ip6buf.s6_addr[(nmask-1)/8] / 16); -+ } -+ strcat(dombuf, buf2); -+ nmask -= 4; /* 8 bits at a time */ -+ } -+ strcat(dombuf, IPNG_ROOT); -+ strcat(dombuf, "."); -+#endif -+ return dombuf; -+} -+ -+/* - ** NSAP_INT -- Convert dotted nsap address string to reverse nsap.int - ** ------------------------------------------------------------------ - ** diff --git a/named-chroot.init b/named-chroot.init deleted file mode 100644 index 6f69168..0000000 --- a/named-chroot.init +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/sh -# -# named This shell script takes care of starting and stopping -# named (BIND DNS server). -# -# chkconfig: 345 55 45 -# description: named (BIND) is a Domain Name Server (DNS) \ -# that is used to resolve host names to IP addresses. - -# Source function library -. /etc/rc.d/init.d/functions - -# Source networking configuration -. /etc/sysconfig/network - -# Try get config.. -[ -f /etc/sysconfig/named ] && . /etc/sysconfig/named - -# Check that networking is up. -if is_yes "${NETWORKING}"; then - if [ ! -f /var/lock/subsys/network ]; then - msg_network_down "Named" - exit 1 - fi -else - exit 0 -fi - -# Sanity check -[ -f /etc/named.conf ] || exit 0 - -RETVAL=0 -# See how we were called. -case "$1" in - start) - # Check if the service is already running? - if [ ! -f /var/lock/subsys/named ]; then - msg_starting "holelogd.named" - daemon holelogd.named /var/lib/named/chroot/dev/log - RETVAL=$? - [ $RETVAL -eq 0 ] || exit 1 - msg_starting "Named" - touch /var/log/named && chown named.named /var/log/named - daemon /var/lib/named/chroot/usr/sbin/named \ - -u named -g named -t /var/lib/named/chroot - RETVAL=$? - if [ $RETVAL -eq 0 ]; then - touch /var/lock/subsys/named - chown named.named /var/lib/named/chroot/var/run/named.pid - ln -sf /var/lib/named/chroot/var/run/named.pid /var/run/named.pid - fi - else - msg_already_running "Named" - fi - ;; - stop) - if [ -f /var/lock/subsys/named ]; then - msg_stopping "Named" - killproc named - msg_stopping "holelogd.named" - killproc holelogd.named - rm -f /var/lock/subsys/named >/dev/null 2>&1 - else - msg_not_running "Named" - fi - ;; - status) - /usr/sbin/ndc.chroot status - exit $? - ;; - reload|force-reload) - if [ -f /var/lock/subsys/named ]; then - msg_reloading "Named" - killproc named -HUP - RETVAL=$? - else - msg_not_running "Named" >&2 - exit 7 - fi - - ;; - restart) - $0 stop - $0 start - exit $? - ;; - *) - msg_usage "$0 {start|stop|restart|reload|force-reload|status}" - exit 3 -esac - -exit $RETVAL diff --git a/named.conf b/named.conf deleted file mode 100644 index a498146..0000000 --- a/named.conf +++ /dev/null @@ -1,54 +0,0 @@ -// This is an exaple configuration file for named ( /etc/named.conf ) -// Przyk³adowy plik konfiguracyjny /etc/named.conf dla serwera nazw `named' - -options { - directory "/var/lib/named"; - check-names master fail; -// check-names slave warn; - check-names response ignore; - datasize default; - deallocate-on-exit no; - host-statistics no; - fake-iquery no; -}; - -controls { - unix "/var/run/ndc" perm 0600 owner 0 group 0; -}; - - -zone "localhost" IN { - type master; - file "M/localhost.zone"; - check-names fail; - allow-update { none; }; - allow-transfer { any; }; -}; - -zone "0.0.127.in-addr.arpa" IN { - type master; - file "M/127.0.0.zone"; - check-names fail; - allow-update { none; }; - allow-transfer { any; }; -}; - -zone "." IN { - type hint; - file "root.hint"; -}; - -logging { - channel xfer-log { - file "/var/log/named"; - print-category yes; - print-severity yes; - print-time yes; - severity info; - }; - category xfer-in { xfer-log; }; - category xfer-out { xfer-log; }; - category notify { xfer-log; }; - category load { xfer-log; }; -}; - diff --git a/resolver.5 b/resolver.5 deleted file mode 100644 index 11c0e08..0000000 --- a/resolver.5 +++ /dev/null @@ -1,224 +0,0 @@ -.\" Copyright (c) 1986 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms are permitted -.\" provided that the above copyright notice and this paragraph are -.\" duplicated in all such forms and that any documentation, -.\" advertising materials, and other materials related to such -.\" distribution and use acknowledge that the software was developed -.\" by the University of California, Berkeley. The name of the -.\" University may not be used to endorse or promote products derived -.\" from this software without specific prior written permission. -.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED -.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. -.\" -.\" @(#)resolver.5 5.9 (Berkeley) 12/14/89 -.\" $Id$ -.\" -.Dd November 11, 1993 -.Dt RESOLVER 5 -.Os BSD 4 -.Sh NAME -.Nm resolver -.Nd resolver configuration file -.Sh SYNOPSIS -.Pa /etc/resolv.conf -.Sh DESCRIPTION -The -.Nm resolver -is a set of routines in the C library -.Pq Xr resolve 3 -that provide access to the Internet Domain Name System. -The -.Nm resolver -configuration file contains information that is read -by the -.Nm resolver -routines the first time they are invoked by a process. -The file is designed to be human readable and contains a list of -keywords with values that provide various types of -.Nm resolver -information. -.Pp -On a normally configured system, this file should not be necessary. -The only name server to be queried will be on the local machine, -the domain name is determined from the host name, -and the domain search path is constructed from the domain name. -.Pp -The different configuration directives are: -.Bl -tag -width "nameser" -.It Li nameserver -Internet address (in dot notation) of a name server that the -.Nm resolver -should query. Up to -.Dv MAXNS -(see -.Pa <resolv.h> ) -name servers may be listed, one per keyword. -If there are multiple servers, the -.Nm resolver -library queries them in the order listed. -If no -.Li nameserver -entries are present, the default is to use the name server on the local machine. -(The algorithm used is to try a name server, and if the query times out, -try the next, until out of name servers, -then repeat trying all the name servers -until a maximum number of retries are made). -.It Li domain -Local domain name. -Most queries for names within this domain can use short names -relative to the local domain. -If no -.Li domain -entry is present, the domain is determined from the local host name returned by -.Xr gethostname 2 ; -the domain part is taken to be everything after the first -.Sq \&. . -Finally, if the host name does not contain a domain part, the root -domain is assumed. -.It Li search -Search list for host-name lookup. -The search list is normally determined from the local domain name; -by default, it contains only the local domain name. -This may be changed by listing the desired domain search path -following the -.Li search -keyword with spaces or tabs separating the names. -Most -.Nm resolver -queries will be attempted using each component -of the search path in turn until a match is found. -Note that this process may be slow and will generate a lot of network -traffic if the servers for the listed domains are not local, -and that queries will time out if no server is available -for one of the domains. -.Pp -The search list is currently limited to six domains -with a total of 256 characters. -.It Li sortlist -Allows addresses returned by gethostbyname to be sorted. -A -.Li sortlist -is specified by IP address netmask pairs. The netmask is -optional and defaults to the natural netmask of the net. The IP address -and optional network pairs are separated by slashes. Up to 10 pairs may -be specified. For example: -.Bd -literal -offset indent -sortlist 130.155.160.0/255.255.240.0 130.155.0.0 -.Ed -.It Li options -Allows certain internal -.Nm resolver -variables to be modified. -The syntax is -.D1 Li options Ar option ... -where -.Ar option -is one of the following: -.Bl -tag -width "ndots:n " -.It Li debug -sets -.Dv RES_DEBUG -in -.Ft _res.options . -.It Li ndots: Ns Ar n -sets a threshold for the number of dots which -must appear in a name given to -.Fn res_query -(see -.Xr resolver 3 ) -before an -.Em initial absolute query -will be made. The default for -.Ar n -is -.Dq 1 , -meaning that if there are -.Em any -dots in a name, the name will be tried first as an absolute name before any -.Em search list -elements are appended to it. -.It Li timeout: Ns Ar n -sets the amount of time the resolver will wait for a response from a remote -name server before retrying the query via a different name server. Measured in -seconds, the default is -.Dv RES_TIMEOUT -(see -.Pa <resolv.h> ). -.It Li attempts: Ns Ar n -sets the number of times the resolver will send a query to its name servers -before giving up and returning an error to the calling application. The -default is -.Dv RES_DFLRETRY -(see -.Pa <resolv.h> ). -.It Li rotate -sets -.Dv RES_ROTATE -in -.Ft _res.options , -which causes round robin selection of nameservers from among those listed. -This has the effect of spreading the query load among all listed servers, -rather than having all clients try the first listed server first every time. -.It Li no-check-names -sets -.Dv RES_NOCHECKNAME -in -.Ft _res.options , -which disables the modern BIND checking of incoming host names and mail names -for invalid characters such as underscore (_), non-ASCII, or control characters. -.It Li inet6 -sets -.Dv RES_USE_INET6 -in -.Ft _res.options . -This has the effect of trying a AAAA query before an A query inside the -.Ft gethostbyname -function, and of mapping IPv4 responses in IPv6 ``tunnelled form'' if no -AAAA records are found but an A record set exists. -.El -.El -.Pp -The -.Li domain -and -.Li search -keywords are mutually exclusive. -If more than one instance of these keywords is present, -the last instance wins. -.Pp -The -.Li search -keyword of a system's -.Pa resolv.conf -file can be -overridden on a per-process basis by setting the environment variable -.Dq Ev LOCALDOMAIN -to a space-separated list of search domains. -.Pp -The -.Li options -keyword of a system's -.Pa resolv.conf -file can be amended on a per-process basis by setting the environment variable -.Dq Ev RES_OPTIONS to a space-separated list of -.Nm resolver -options as explained above under -.Li options . -.Pp -The keyword and value must appear on a single line, and the keyword -(e.g., -.Li nameserver ) -must start the line. The value follows the keyword, separated by white space. -.Sh FILES -.Pa /etc/resolv.conf -.Pa <resolv.h> -.Sh SEE ALSO -.Xr gethostbyname 3 , -.Xr hostname 7 , -.Xr named 8 , -.Xr resolver 3 , -.Xr resolver 5 . -.Dq Name Server Operations Guide for Sy BIND diff --git a/utils-holelogd-linux.patch b/utils-holelogd-linux.patch deleted file mode 100644 index b20bac4..0000000 --- a/utils-holelogd-linux.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- bind-chroot-8.2.2_P5/utils-1.0/holelogd.c.orig Sun Sep 15 22:39:42 1996 -+++ bind-chroot-8.2.2_P5/utils-1.0/holelogd.c Sun Jan 9 18:26:33 2000 -@@ -64,10 +64,10 @@ - (void)unlink(holename); - unxls.sun_family = AF_UNIX; - (void) strncpy(unxls.sun_path, holename, sizeof unxls.sun_path); -- listenfd = socket(AF_UNIX, SOCK_STREAM, 0); -+ listenfd = socket(AF_UNIX, SOCK_DGRAM, 0); - if (listenfd < 0 || bind(listenfd, (struct sockaddr *) &unxls, - sizeof(unxls.sun_family)+strlen(unxls.sun_path)) < 0 || -- chmod(holename, 0666) < 0 || listen(listenfd, 5) < 0) { -+ chmod(holename, 0666) < 0) { - syslog(LOG_ERR, "Can't create AF_UNIX listen socket %s (%m) - exiting", - holename); - exit(1); -@@ -77,7 +77,7 @@ - - logaddr.sa_family = AF_UNIX; - (void) strncpy(logaddr.sa_data, logname, sizeof(logaddr.sa_data)); -- logfd = socket(AF_UNIX, SOCK_STREAM, 0); -+ logfd = socket(AF_UNIX, SOCK_DGRAM, 0); - if (logfd < 0) { - syslog(LOG_ERR, "Can't create AF_UNIX socket (%m) - exiting"); - exit(1); -@@ -118,14 +118,6 @@ - for (fd = 0; fd < FD_SETSIZE; fd++) { - if (FD_ISSET(fd, &readfds)) { - if (fd == listenfd) { -- int len; -- len = sizeof(unxs); -- fd = accept(listenfd, (struct sockaddr *)&unxs, &len); -- if (fd >= 0) { -- FD_SET(fd, &cfds); -- } -- } -- else { - int i; - char buf[1024]; - i = read(fd, buf, 1024); |