summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcvs2git2005-12-24 22:38:02 (GMT)
committercvs2git2012-06-24 12:13:13 (GMT)
commit1fc1218bf36fa09b13ce446b497aa53b2c980410 (patch)
tree38193ee97b36a7b074da923d551dbe08b8fb0582
parente624f4c5c2c90eedd372b1f7434fd82bd9c98036 (diff)
downloadbind-1fc1218bf36fa09b13ce446b497aa53b2c980410.zip
bind-1fc1218bf36fa09b13ce446b497aa53b2c980410.tar.gz
This commit was manufactured by cvs2git to create tag 'auto-ac-bind-auto/ac/bind-9_2_6-2
9_2_6-2'. Sprout from master 2004-12-18 22:57:36 UTC hawk <hawk@pld-linux.org> '- patch for bind 9.2.4 to make it working when its used with IPv6 only' Cherrypick from AC-branch 2005-12-24 22:36:53 UTC hawk <hawk@pld-linux.org> '- updated for 9.2.6': bind-idn.patch -> 1.3.4.1 Cherrypick from unlabeled-1.198.2 2005-12-24 22:38:02 UTC hawk <hawk@pld-linux.org> '- updated to 9.2.6': bind.spec -> 1.198.2.8 Cherrypick from unlabeled-1.3.2 2005-03-23 22:32:45 UTC hawk <hawk@pld-linux.org> '- updated for 9.2.5': bind-pmake.patch -> 1.3.2.1 Delete: bind-chroot-ndc.patch bind-fds.patch bind-host.patch bind-mkdep.patch bind-noinet6.patch bind-nonlist.patch bind-pidfile.patch bind-probe_ipv6.patch bind-pselect.patch bind-res_randomid.patch bind9-openssl.patch host_991529+.diff named-chroot.init named.conf resolver.5 utils-holelogd-linux.patch
-rw-r--r--bind-chroot-ndc.patch79
-rw-r--r--bind-fds.patch43
-rw-r--r--bind-host.patch10
-rw-r--r--bind-idn.patch1367
-rw-r--r--bind-mkdep.patch120
-rw-r--r--bind-noinet6.patch132
-rw-r--r--bind-nonlist.patch15
-rw-r--r--bind-pidfile.patch15
-rw-r--r--bind-pmake.patch64
-rw-r--r--bind-probe_ipv6.patch12
-rw-r--r--bind-pselect.patch15
-rw-r--r--bind-res_randomid.patch10
-rw-r--r--bind.spec70
-rw-r--r--bind9-openssl.patch30
-rw-r--r--host_991529+.diff206
-rw-r--r--named-chroot.init92
-rw-r--r--named.conf54
-rw-r--r--resolver.5224
-rw-r--r--utils-holelogd-linux.patch39
19 files changed, 633 insertions, 1964 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
diff --git a/bind.spec b/bind.spec
index f3302f6..aa5b33c 100644
--- a/bind.spec
+++ b/bind.spec
@@ -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
+Version: 9.2.6
Release: 2
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,7 +40,7 @@ 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
@@ -50,7 +50,7 @@ BuildRequires: libtool
BuildRequires: idnkit-devel
%{?with_ldap:BuildRequires: openldap-devel}
%{?with_ssl:BuildRequires: openssl-devel >= 0.9.7d}
-BuildRequires: rpmbuild(macros) >= 1.159
+BuildRequires: rpmbuild(macros) >= 1.176
PreReq: %{name}-libs = %{epoch}:%{version}-%{release}
PreReq: rc-scripts >= 0.2.0
Requires(pre): fileutils
@@ -65,8 +65,6 @@ Requires: psmisc >= 20.1
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
@@ -377,27 +374,39 @@ rm -f doc/misc/Makefile*
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
+ %banner %{name}-prescript -a -e << EOF
+Warning: %{_sysconfdir}/named.boot saved as /etc/named.rpmsave.
+EOF
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
+ %banner %{name}-prescript -a -e << EOF
+Error: group named doesn't have gid=58. Correct this before installing bind.
+EOF
exit 1
fi
else
- echo "Adding group named GID=58."
+ %banner %{name}-prescript -a << EOF
+Adding group named GID=58.
+EOF
/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
+ %banner %{name}-prescript -a -e << EOF
+Error: user named doesn't have uid=58. Correct this before installing bind.
+EOF
exit 1
fi
else
- echo "Adding user named UID=58."
+ %banner %{name}-prescript -a << EOF
+Adding user named UID=58.
+EOF
/usr/sbin/useradd -u 58 -g 58 -d /tmp -s /bin/false -c "BIND user" named || exit 1
fi
@@ -406,7 +415,9 @@ fi
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
+ %banner %{name} -e << EOF
+Type "/etc/rc.d/init.d/named start" to start named.
+EOF
fi
%preun
@@ -423,8 +434,8 @@ 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)
@@ -439,27 +450,30 @@ fi
%{?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}/*
-#%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
+%dev(c,1,3) %attr(660,root,named) %{_var}/lib/named/dev/null
+%dev(c,1,8) %attr(640,root,named) %{_var}/lib/named/dev/random
+
%files utils
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/dig
@@ -496,6 +510,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);