This commit is contained in:
parent
6d06c0e706
commit
3ab0aa4547
@ -37,13 +37,14 @@
|
||||
${AR} ${ARFLAGS} $@ ${OBJS}
|
||||
${RANLIB} $@
|
||||
--- bind-9.3.1/bin/named/Makefile.in
|
||||
+++ bind-9.3.1/bin/named/Makefile.in 2004-09-25 13:06:00
|
||||
@@ -129,7 +129,4 @@
|
||||
+++ bind-9.3.1/bin/named/Makefile.in 2006/05/09 13:00:18
|
||||
@@ -138,8 +138,6 @@
|
||||
install:: named@EXEEXT@ lwresd@EXEEXT@ installdirs
|
||||
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named@EXEEXT@ ${DESTDIR}${sbindir}
|
||||
(cd ${DESTDIR}${sbindir}; rm -f lwresd@EXEEXT@; @LN@ named@EXEEXT@ lwresd@EXEEXT@)
|
||||
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} named@EXEEXT@ ${DESTDIR}${sbindir}
|
||||
(cd ${DESTDIR}${sbindir}; rm -f lwresd@EXEEXT@; @LN@ named@EXEEXT@ lwresd@EXEEXT@)
|
||||
- ${INSTALL_DATA} ${srcdir}/named.8 ${DESTDIR}${mandir}/man8
|
||||
- ${INSTALL_DATA} ${srcdir}/lwresd.8 ${DESTDIR}${mandir}/man8
|
||||
- ${INSTALL_DATA} ${srcdir}/named.conf.5 ${DESTDIR}${mandir}/man5
|
||||
-
|
||||
+ for m in ${MANPAGES}; do ${INSTALL_DATA} ${srcdir}/$$m ${DESTDIR}${mandir}/man$${m##*.}; done
|
||||
|
||||
@DLZ_DRIVER_RULES@
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:40152026af715b15ac958f374394e5189a099b562eb913470ccc43f6fbd19c21
|
||||
size 5405022
|
3
bind-9.4.0.tar.gz
Normal file
3
bind-9.4.0.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:66f5caf815582fa8c8476bba1663ec9a0f923ea9cfa34bb563371be4ffd14788
|
||||
size 6333767
|
@ -1,3 +1,11 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 27 14:53:22 CET 2007 - ug@suse.de
|
||||
|
||||
- version 9.3.4 to 9.4.0
|
||||
- too many changes to list them all here. Please see
|
||||
the CHANGELOG for details
|
||||
- LDAP backend dropped
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 25 15:22:49 CET 2007 - ug@suse.de
|
||||
|
||||
|
51
bind.spec
51
bind.spec
@ -1,5 +1,5 @@
|
||||
#
|
||||
# spec file for package bind (Version 9.3.4)
|
||||
# spec file for package bind (Version 9.4.0)
|
||||
#
|
||||
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
# This file and all modifications and additions to the pristine
|
||||
@ -11,16 +11,18 @@
|
||||
# norootforbuild
|
||||
|
||||
Name: bind
|
||||
BuildRequires: openldap2 openldap2-devel
|
||||
%define pkg_name bind
|
||||
#BuildRequires: openldap2 openldap2-devel
|
||||
BuildRequires: openssl openssl-devel
|
||||
Summary: Domain Name System (DNS) Server (named)
|
||||
Version: 9.3.4
|
||||
Version: 9.4.0
|
||||
Release: 1
|
||||
%define SDB_LDAP_VERSION 1.0-beta
|
||||
License: GNU General Public License (GPL)
|
||||
Group: Productivity/Networking/DNS/Servers
|
||||
Provides: dns_daemon bind8 bind9
|
||||
Obsoletes: bind8 bind9
|
||||
Requires: bind-utils bind-chrootenv
|
||||
Requires: %{name}-utils %{name}-chrootenv
|
||||
PreReq: %fillup_prereq %insserv_prereq bind-utils /bin/grep /bin/sed /bin/mkdir /usr/bin/tee /bin/chmod /bin/chown /bin/mv /bin/cat /usr/bin/dirname /usr/bin/diff /usr/bin/old /usr/sbin/groupadd /usr/sbin/useradd /usr/sbin/usermod
|
||||
Autoreqprov: on
|
||||
URL: http://isc.org/sw/bind/
|
||||
@ -28,16 +30,14 @@ Source: ftp://ftp.isc.org/isc/bind9/%{version}/bind-%{version}.tar.gz
|
||||
Source1: vendor-files.tar.bz2
|
||||
Source9: ftp://ftp.internic.net/domain/named.root
|
||||
Source40: http://www.venaas.no/ldap/bind-sdb/dnszone-schema.txt
|
||||
Source50: bind-sdb-ldap-%{SDB_LDAP_VERSION}.tar.gz
|
||||
#Source50: bind-sdb-ldap-%{SDB_LDAP_VERSION}.tar.gz
|
||||
Patch: configure.in.diff
|
||||
Patch1: Makefile.in.diff
|
||||
Patch2: pid-path.diff
|
||||
Patch3: idnkit-1.0.diff
|
||||
Patch4: perl-path.diff
|
||||
Patch50: sdb_ldap.diff
|
||||
#Patch50: sdb_ldap.diff
|
||||
Patch51: pie_compile.diff
|
||||
Patch52: named-bootconf.diff
|
||||
Patch53: nsupdate.8.diff
|
||||
%if %ul_version >= 1
|
||||
%define VENDOR UL
|
||||
%else
|
||||
@ -91,7 +91,7 @@ Authors:
|
||||
%package devel
|
||||
Summary: Development Libraries and Header Files of BIND
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: bind-utils = %{version}
|
||||
Requires: %{name}-utils = %{version}
|
||||
Provides: bind8-devel bind9-devel
|
||||
Obsoletes: bind8-devel bind9-devel
|
||||
|
||||
@ -140,7 +140,7 @@ Authors:
|
||||
%package lwresd
|
||||
Summary: Lightweight Resolver Daemon
|
||||
Group: Productivity/Networking/DNS/Utilities
|
||||
Requires: bind-chrootenv
|
||||
Requires: %{name}-chrootenv
|
||||
Provides: dns_daemon
|
||||
PreReq: /usr/sbin/groupadd /usr/sbin/useradd
|
||||
|
||||
@ -176,24 +176,25 @@ Authors:
|
||||
ISC Software <bind@isc.org>
|
||||
|
||||
%prep
|
||||
[ "${RPM_BUILD_DIR}/%{name}-%{version}" != "/" -a -d "${RPM_BUILD_DIR}/%{name}-%{version}" ] && rm -rf "${RPM_BUILD_DIR}/%{name}-%{version}"
|
||||
%setup
|
||||
%setup -T -D -a1 -a50
|
||||
[ "${RPM_BUILD_DIR}/%{pkg_name}-%{version}" != "/" -a -d "${RPM_BUILD_DIR}/%{pkg_name}-%{version}" ] && rm -rf "${RPM_BUILD_DIR}/%{pkg_name}-%{version}"
|
||||
%setup -n %{pkg_name}-%{version}
|
||||
#%setup -n %{pkg_name}-%{version} -T -D -a1 -a50
|
||||
%setup -n %{pkg_name}-%{version} -T -D -a1
|
||||
%patch -p1
|
||||
%patch1 -p1
|
||||
%patch3 -p1
|
||||
%patch2 -p1
|
||||
%patch4 -p1
|
||||
%patch50
|
||||
#%patch50
|
||||
%if 0%{?suse_version} >= 1000
|
||||
%patch51
|
||||
%endif
|
||||
%patch52
|
||||
%patch53
|
||||
# modify settings of some files regarding to OS version and vendor
|
||||
function replaceStrings()
|
||||
{
|
||||
file="$1"
|
||||
sed -e "s@__NSD__@/lib@g" \
|
||||
-e "s@__BIND_PACKAGE_NAME__@%{name}@g" \
|
||||
-e "s@__BIND_PACKAGE_NAME__@%{pkg_name}@g" \
|
||||
-e "s@__VENDOR__@%{VENDOR}@g" \
|
||||
"${file}" >"${file}.new" && \
|
||||
mv "${file}.new" "${file}"
|
||||
@ -203,8 +204,8 @@ for file in docu/README tools/createNamedConfInclude config/{README,named.conf}
|
||||
replaceStrings ${file}
|
||||
done
|
||||
popd
|
||||
cp bind-sdb-ldap-%{SDB_LDAP_VERSION}/ldapdb.c bin/named/
|
||||
cp bind-sdb-ldap-%{SDB_LDAP_VERSION}/ldapdb.h bin/named/include/
|
||||
#cp bind-sdb-ldap-%{SDB_LDAP_VERSION}/ldapdb.c bin/named/
|
||||
#cp bind-sdb-ldap-%{SDB_LDAP_VERSION}/ldapdb.h bin/named/include/
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
%build
|
||||
@ -227,7 +228,8 @@ popd
|
||||
#%{__aclocal}
|
||||
#%{__autoconf}
|
||||
#popd
|
||||
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED" LDFLAGS="-L%{_libdir}"
|
||||
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" LDFLAGS="-L%{_libdir}"
|
||||
#export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -DLDAP_DEPRECATED" LDFLAGS="-L%{_libdir}"
|
||||
#export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing -fpie" LDFLAGS="-L%{_libdir} -pie"
|
||||
CONFIGURE_OPTIONS="\
|
||||
--prefix=%{_prefix} \
|
||||
@ -547,12 +549,14 @@ fi
|
||||
%{_sbindir}/named-checkzone
|
||||
%{_sbindir}/dnssec-keygen
|
||||
%{_sbindir}/dnssec-signzone
|
||||
%{_sbindir}/named-compilezone
|
||||
%doc %{_mandir}/man5/named.conf.5.gz
|
||||
%doc %{_mandir}/man8/dnssec-keygen.8.gz
|
||||
%doc %{_mandir}/man8/dnssec-signzone.8.gz
|
||||
%doc %{_mandir}/man8/named-checkconf.8.gz
|
||||
%doc %{_mandir}/man8/named-checkzone.8.gz
|
||||
%doc %{_mandir}/man8/named.8.gz
|
||||
%doc %{_mandir}/man8/named-compilezone.8.gz
|
||||
%dir %{_datadir}/bind
|
||||
%{_datadir}/bind/createNamedConfInclude
|
||||
%{_datadir}/bind/ldapdump
|
||||
@ -647,7 +651,12 @@ fi
|
||||
%doc %{_mandir}/man5/idnalias.conf.5.gz
|
||||
%doc %{_mandir}/man5/idnrc.5.gz
|
||||
|
||||
%changelog -n bind
|
||||
%changelog
|
||||
* Tue Feb 27 2007 - ug@suse.de
|
||||
- version 9.3.4 to 9.4.0
|
||||
- too many changes to list them all here. Please see
|
||||
the CHANGELOG for details
|
||||
- LDAP backend dropped
|
||||
* Thu Jan 25 2007 - ug@suse.de
|
||||
- Bug #238634
|
||||
- [security] Serialise validation of type ANY responses. [RT #16555]
|
||||
|
622
idnkit-1.0.diff
622
idnkit-1.0.diff
@ -1,622 +0,0 @@
|
||||
--- bind-9.2.3/bin/dig/dig.1
|
||||
+++ bind-9.2.3/bin/dig/dig.1 Tue Jul 22 15:01:36 2003
|
||||
@@ -354,4 +354,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
|
||||
--- bind-9.3.0/bin/dig/Makefile.in
|
||||
+++ bind-9.3.0/bin/dig/Makefile.in 2004/11/03 16:31:56
|
||||
@@ -45,7 +45,7 @@
|
||||
${LWRESDEPLIBS}
|
||||
|
||||
LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} ${ISCLIBS} \
|
||||
- ${ISCCFGLIBS} @LIBS@
|
||||
+ ${ISCCFGLIBS} @IDNLIBS@ @LIBS@
|
||||
|
||||
SUBDIRS =
|
||||
|
||||
--- bind-9.2.3/bin/dig/dig.docbook
|
||||
+++ bind-9.2.3/bin/dig/dig.docbook Tue Jul 22 15:01:36 2003
|
||||
@@ -530,4 +530,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>
|
||||
--- bind-9.2.3/bin/dig/dighost.c
|
||||
+++ bind-9.2.3/bin/dig/dighost.c Tue Jul 22 15:01:36 2003
|
||||
@@ -33,4 +33,15 @@
|
||||
#include <limits.h>
|
||||
|
||||
+#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>
|
||||
+#endif
|
||||
+
|
||||
#include <dns/byaddr.h>
|
||||
#include <dns/fixedname.h>
|
||||
@@ -132,4 +143,16 @@
|
||||
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);
|
||||
+
|
||||
+#define MAXDLEN 256
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* Apply and clear locks at the event level in global task.
|
||||
@@ -683,4 +706,8 @@
|
||||
}
|
||||
|
||||
+#ifdef WITH_IDN
|
||||
+ initialize_idn();
|
||||
+#endif
|
||||
+
|
||||
if (keyfile[0] != 0)
|
||||
setup_file_key();
|
||||
@@ -1203,4 +1230,12 @@
|
||||
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
|
||||
+
|
||||
+#ifdef WITH_IDN
|
||||
+ dns_name_settotextfilter(output_filter);
|
||||
+#endif
|
||||
|
||||
REQUIRE(lookup != NULL);
|
||||
@@ -1231,4 +1266,15 @@
|
||||
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
|
||||
+
|
||||
/*
|
||||
* If the name has too many dots, force the origin to be NULL
|
||||
@@ -1239,4 +1285,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 */
|
||||
@@ -1244,5 +1297,27 @@
|
||||
lookup->origin = ISC_LIST_HEAD(search_list);
|
||||
}
|
||||
+#endif
|
||||
+
|
||||
+#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_ASCCHECK |
|
||||
+ IDN_IDNCONV | IDN_LENCHECK, utf8_textname,
|
||||
+ idn_textname, sizeof(idn_textname));
|
||||
+ idn_check_result(mr, "convert UTF-8 textname to IDN encoding");
|
||||
+#endif
|
||||
+
|
||||
+#ifdef WITH_IDN
|
||||
+ if (0) {
|
||||
+#else
|
||||
+ if (lookup->origin != NULL) {
|
||||
+#endif
|
||||
debug("trying origin %s", lookup->origin->origin);
|
||||
result = dns_message_gettempname(lookup->sendmsg,
|
||||
@@ -1289,4 +1364,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);
|
||||
@@ -1296,4 +1380,5 @@
|
||||
ISC_FALSE,
|
||||
&lookup->namebuf);
|
||||
+#endif
|
||||
}
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
@@ -2724,2 +2809,100 @@
|
||||
isc_mem_destroy(&mctx);
|
||||
}
|
||||
+
|
||||
+#ifdef WITH_IDN
|
||||
+static void
|
||||
+initialize_idn(void) {
|
||||
+ idn_result_t r;
|
||||
+
|
||||
+#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));
|
||||
+
|
||||
+ /* Set domain name -> text post-conversion filter. */
|
||||
+ dns_name_settotextfilter(output_filter);
|
||||
+}
|
||||
+
|
||||
+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';
|
||||
+
|
||||
+ /*
|
||||
+ * 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);
|
||||
+
|
||||
+ /*
|
||||
+ * 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--;
|
||||
+
|
||||
+ if (isc_buffer_length(buffer) < used_org + tolen)
|
||||
+ return (ISC_R_NOSPACE);
|
||||
+
|
||||
+ isc_buffer_subtract(buffer, isc_buffer_usedlength(buffer) - used_org);
|
||||
+ memcpy(isc_buffer_used(buffer), tmp1, tolen);
|
||||
+ isc_buffer_add(buffer, tolen);
|
||||
+
|
||||
+ return (ISC_R_SUCCESS);
|
||||
+}
|
||||
+
|
||||
+static idn_result_t
|
||||
+append_textname(char *name, const char *origin, size_t namesize) {
|
||||
+ size_t namelen = strlen(name);
|
||||
+ size_t originlen = strlen(origin);
|
||||
+
|
||||
+ /* Already absolute? */
|
||||
+ if (namelen > 0 && name[namelen - 1] == '.')
|
||||
+ return idn_success;
|
||||
+
|
||||
+ /* Append dot and origin */
|
||||
+
|
||||
+ if (namelen + 1 + originlen >= namesize)
|
||||
+ return idn_buffer_overflow;
|
||||
+
|
||||
+ name[namelen++] = '.';
|
||||
+ (void)strcpy(name + namelen, origin);
|
||||
+ return idn_success;
|
||||
+}
|
||||
+
|
||||
+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 */
|
||||
--- bind-9.2.3/bin/dig/host.1
|
||||
+++ bind-9.2.3/bin/dig/host.1 Tue Jul 22 15:01:36 2003
|
||||
@@ -121,4 +121,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
|
||||
--- bind-9.2.3/bin/dig/host.docbook
|
||||
+++ bind-9.2.3/bin/dig/host.docbook Tue Jul 22 15:01:36 2003
|
||||
@@ -182,4 +182,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>
|
||||
+
|
||||
+<refsect1>
|
||||
<title>FILES</title>
|
||||
<para>
|
||||
--- bind-9.2.3/lib/dns/include/dns/name.h
|
||||
+++ bind-9.2.3/lib/dns/include/dns/name.h Tue Jul 22 15:01:37 2003
|
||||
@@ -220,4 +220,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
|
||||
+
|
||||
/***
|
||||
*** Initialization
|
||||
@@ -1261,4 +1272,12 @@
|
||||
*
|
||||
*/
|
||||
+
|
||||
+#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)
|
||||
--- bind-9.2.3/lib/dns/name.c
|
||||
+++ bind-9.2.3/lib/dns/name.c Tue Jul 22 15:01:36 2003
|
||||
@@ -196,4 +196,11 @@
|
||||
dns_name_t *dns_wildcardname = &wild;
|
||||
|
||||
+#ifdef WITH_IDN
|
||||
+/*
|
||||
+ * dns_name_t to text post-conversion procedure.
|
||||
+ */
|
||||
+static dns_name_totextfilter_t totext_filter_proc = NULL;
|
||||
+#endif
|
||||
+
|
||||
static void
|
||||
set_offsets(const dns_name_t *name, unsigned char *offsets,
|
||||
@@ -1700,4 +1707,7 @@
|
||||
isc_boolean_t saw_root = ISC_FALSE;
|
||||
char num[4];
|
||||
+#ifdef WITH_IDN
|
||||
+ unsigned int oused = target->used;
|
||||
+#endif
|
||||
|
||||
/*
|
||||
@@ -1877,4 +1887,8 @@
|
||||
isc_buffer_add(target, tlen - trem);
|
||||
|
||||
+#ifdef WITH_IDN
|
||||
+ if (totext_filter_proc != NULL)
|
||||
+ return ((*totext_filter_proc)(target, oused, saw_root));
|
||||
+#endif
|
||||
return (ISC_R_SUCCESS);
|
||||
}
|
||||
@@ -3341,2 +3355,8 @@
|
||||
}
|
||||
|
||||
+#ifdef WITH_IDN
|
||||
+void
|
||||
+dns_name_settotextfilter(dns_name_totextfilter_t proc) {
|
||||
+ totext_filter_proc = proc;
|
||||
+}
|
||||
+#endif
|
||||
--- bind-9.2.3/README.idnkit
|
||||
+++ bind-9.2.3/README.idnkit Tue Jul 22 15:01:35 2003
|
||||
@@ -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
|
||||
+
|
||||
+0. Prerequisite
|
||||
+
|
||||
+You have to build and install idnkit before building this patched version
|
||||
+of bind-9.
|
||||
+
|
||||
+1. Running configure script
|
||||
+
|
||||
+Run `configure' in the top directory. See `README' for the
|
||||
+configuration options.
|
||||
+
|
||||
+This patch adds the following 4 options to `configure'. You should
|
||||
+at least specify `--with-idn' option to enable IDN support.
|
||||
+
|
||||
+ --with-idn[=IDN_PREFIX]
|
||||
+ To enable IDN support, you have to specify `--with-idn' option.
|
||||
+ The argument IDN_PREFIX is the install prefix of idnkit. If
|
||||
+ IDN_PREFIX is omitted, PREFIX (derived from `--prefix=PREFIX')
|
||||
+ is assumed.
|
||||
+
|
||||
+ --with-libiconv[=LIBICONV_PREFIX]
|
||||
+ Specify this option if idnkit you have installed links GNU
|
||||
+ libiconv. The argument LIBICONV_PREFIX is install prefix of
|
||||
+ GNU libiconv. If the argument is omitted, PREFIX (derived
|
||||
+ from `--prefix=PREFIX') is assumed.
|
||||
+
|
||||
+ `--with-libiconv' is shorthand option for GNU libiconv.
|
||||
+
|
||||
+ --with-libiconv=/usr/local
|
||||
+
|
||||
+ This is equivalent to:
|
||||
+
|
||||
+ --with-iconv='-L/usr/local/lib -R/usr/local/lib -liconv'
|
||||
+
|
||||
+ `--with-libiconv' assumes that your C compiler has `-R'
|
||||
+ option, and that the option adds the specified run-time path
|
||||
+ to an exacutable binary. If `-R' option of your compiler has
|
||||
+ different meaning, or your compiler lacks the option, you
|
||||
+ should use `--with-iconv' option instead. Binary command
|
||||
+ without run-time path information might be unexecutable.
|
||||
+ In that case, you would see an error message like:
|
||||
+
|
||||
+ error in loading shared libraries: libiconv.so.2: cannot
|
||||
+ open shared object file
|
||||
+
|
||||
+ If both `--with-libiconv' and `--with-iconv' options are
|
||||
+ specified, `--with-iconv' is prior to `--with-libiconv'.
|
||||
+
|
||||
+ --with-iconv=ICONV_LIBSPEC
|
||||
+ If your libc doens't provide iconv(), you need to specify the
|
||||
+ library containing iconv() with this option. `ICONV_LIBSPEC'
|
||||
+ is the argument(s) to `cc' or `ld' to link the library, for
|
||||
+ example, `--with-iconv="-L/usr/local/lib -liconv"'.
|
||||
+ You don't need to specify the header file directory for "iconv.h"
|
||||
+ to the compiler, as it isn't included directly by bind-9 with
|
||||
+ this patch.
|
||||
+
|
||||
+ --with-idnlib=IDN_LIBSPEC
|
||||
+ With this option, you can explicitly specify the argument(s)
|
||||
+ to `cc' or `ld' to link the idnkit's library, `libidnkit'. If
|
||||
+ this option is not specified, `-L${PREFIX}/lib -lidnkit' is
|
||||
+ assumed, where ${PREFIX} is the installation prefix specified
|
||||
+ with `--with-idn' option above. You may need to use this
|
||||
+ option to specify extra argments, for example,
|
||||
+ `--with-idnlib="-L/usr/local/lib -R/usr/local/lib -lidnkit"'.
|
||||
+
|
||||
+Please consult `README' for other configuration options.
|
||||
+
|
||||
+Note that if you want to specify some extra header file directories,
|
||||
+you should use the environment variable STD_CINCLUDES instead of
|
||||
+CFLAGS, as described in README.
|
||||
+
|
||||
+2. Compilation and installation
|
||||
+
|
||||
+After running "configure", just do
|
||||
+
|
||||
+ make
|
||||
+ make install
|
||||
+
|
||||
+for compiling and installing.
|
||||
+
|
||||
+
|
||||
+* Contact information
|
||||
+
|
||||
+Please see http//www.nic.ad.jp/en/idn/ for the latest news
|
||||
+about idnkit and this patch.
|
||||
+
|
||||
+Bug reports and comments on this kit should be sent to
|
||||
+mdnkit-bugs@nic.ad.jp and idn-cmt@nic.ad.jp, respectively.
|
||||
+
|
||||
+
|
||||
+; $Id: bind-9.2.3rc1-patch,v 1.1.2.1 2003/07/22 06:02:05 marka Exp $
|
||||
--- bind-9.2.3/config.h.in
|
||||
+++ bind-9.2.3/config.h.in Tue Jul 22 15:05:37 2003
|
||||
@@ -137,4 +137,7 @@
|
||||
#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
|
||||
@@ -164,4 +167,7 @@
|
||||
#undef HAVE_LINUX_CAPABILITY_H
|
||||
|
||||
+/* 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
|
||||
@@ -183,4 +189,8 @@
|
||||
|
||||
/* 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
|
||||
|
||||
--- bind-9.2.3/configure.in
|
||||
+++ bind-9.2.3/configure.in Tue Jul 22 15:01:35 2003
|
||||
@@ -1696,4 +1696,80 @@
|
||||
|
||||
#
|
||||
+# IDN support
|
||||
+#
|
||||
+AC_ARG_WITH(idn,
|
||||
+ [ --with-idn[=MPREFIX] enable IDN support using idnkit [default PREFIX]],
|
||||
+ use_idn="$withval", use_idn="no")
|
||||
+case "$use_idn" in
|
||||
+yes)
|
||||
+ if test X$prefix = XNONE ; then
|
||||
+ idn_path=/usr/local
|
||||
+ else
|
||||
+ idn_path=$prefix
|
||||
+ fi
|
||||
+ ;;
|
||||
+no)
|
||||
+ ;;
|
||||
+*)
|
||||
+ idn_path="$use_idn"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+iconvinc=
|
||||
+iconvlib=
|
||||
+AC_ARG_WITH(libiconv,
|
||||
+ [ --with-libiconv[=IPREFIX] GNU libiconv are in IPREFIX [default PREFIX]],
|
||||
+ use_libiconv="$withval", use_libiconv="no")
|
||||
+case "$use_libiconv" in
|
||||
+yes)
|
||||
+ if test X$prefix = XNONE ; then
|
||||
+ iconvlib="-L/usr/local/lib -R/usr/local/lib -liconv"
|
||||
+ else
|
||||
+ iconvlib="-L$prefix/lib -R$prefix/lib -liconv"
|
||||
+ fi
|
||||
+ ;;
|
||||
+no)
|
||||
+ iconvlib=
|
||||
+ ;;
|
||||
+*)
|
||||
+ iconvlib="-L$use_libiconv/lib -R$use_libiconv/lib -liconv"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+AC_ARG_WITH(iconv,
|
||||
+ [ --with-iconv[=LIBSPEC] specify iconv library [default -liconv]],
|
||||
+ iconvlib="$withval")
|
||||
+case "$iconvlib" in
|
||||
+no)
|
||||
+ iconvlib=
|
||||
+ ;;
|
||||
+yes)
|
||||
+ iconvlib=-liconv
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+AC_ARG_WITH(idnlib,
|
||||
+ [ --with-idnlib=ARG specify libidnkit],
|
||||
+ idnlib="$withval", idnlib="no")
|
||||
+if test "$idnlib" = yes; then
|
||||
+ AC_MSG_ERROR([You must specify ARG for --with-idnlib.])
|
||||
+fi
|
||||
+
|
||||
+IDNLIBS=
|
||||
+if test "$use_idn" != no; then
|
||||
+ AC_DEFINE(WITH_IDN, 1, [define if idnkit support is to be included.])
|
||||
+ STD_CINCLUDES="$STD_CINCLUDES -I$idn_path/include"
|
||||
+ if test "$idnlib" != no; then
|
||||
+ IDNLIBS="$idnlib $iconvlib"
|
||||
+ else
|
||||
+ IDNLIBS="-L$idn_path/lib -lidnkit $iconvlib"
|
||||
+ fi
|
||||
+fi
|
||||
+AC_SUBST(IDNLIBS)
|
||||
+
|
||||
+AC_CHECK_HEADERS(locale.h)
|
||||
+AC_CHECK_FUNCS(setlocale)
|
||||
+
|
||||
+#
|
||||
# Substitutions
|
||||
#
|
117
nsupdate.8.diff
117
nsupdate.8.diff
@ -1,117 +0,0 @@
|
||||
--- bin/nsupdate/nsupdate.8
|
||||
+++ bin/nsupdate/nsupdate.8 2006/08/04 07:54:15
|
||||
@@ -128,7 +128,7 @@
|
||||
.PP
|
||||
The command formats and their meaning are as follows:
|
||||
.TP 3n
|
||||
-.HP 7 \fBserver\fR {servername} [port]
|
||||
+\fBserver\fR {servername} [port]
|
||||
Sends all dynamic update requests to the name server
|
||||
\fIservername\fR. When no server statement is provided,
|
||||
\fBnsupdate\fR
|
||||
@@ -138,7 +138,7 @@
|
||||
\fIservername\fR
|
||||
where the dynamic update requests get sent. If no port number is specified, the default DNS port number of 53 is used.
|
||||
.TP 3n
|
||||
-.HP 6 \fBlocal\fR {address} [port]
|
||||
+\fBlocal\fR {address} [port]
|
||||
Sends all dynamic update requests using the local
|
||||
\fIaddress\fR. When no local statement is provided,
|
||||
\fBnsupdate\fR
|
||||
@@ -146,7 +146,7 @@
|
||||
\fIport\fR
|
||||
can additionally be used to make requests come from a specific port. If no port number is specified, the system will assign one.
|
||||
.TP 3n
|
||||
-.HP 5 \fBzone\fR {zonename}
|
||||
+\fBzone\fR {zonename}
|
||||
Specifies that all updates are to be made to the zone
|
||||
\fIzonename\fR. If no
|
||||
\fIzone\fR
|
||||
@@ -154,13 +154,13 @@
|
||||
\fBnsupdate\fR
|
||||
will attempt determine the correct zone to update based on the rest of the input.
|
||||
.TP 3n
|
||||
-.HP 6 \fBclass\fR {classname}
|
||||
+\fBclass\fR {classname}
|
||||
Specify the default class. If no
|
||||
\fIclass\fR
|
||||
is specified the default class is
|
||||
\fIIN\fR.
|
||||
.TP 3n
|
||||
-.HP 4 \fBkey\fR {name} {secret}
|
||||
+\fBkey\fR {name} {secret}
|
||||
Specifies that all updates are to be TSIG signed using the
|
||||
\fIkeyname\fR
|
||||
\fIkeysecret\fR
|
||||
@@ -171,16 +171,16 @@
|
||||
or
|
||||
\fB\-k\fR.
|
||||
.TP 3n
|
||||
-.HP 16 \fBprereq nxdomain\fR {domain\-name}
|
||||
+\fBprereq nxdomain\fR {domain\-name}
|
||||
Requires that no resource record of any type exists with name
|
||||
\fIdomain\-name\fR.
|
||||
.TP 3n
|
||||
-.HP 16 \fBprereq yxdomain\fR {domain\-name}
|
||||
+\fBprereq yxdomain\fR {domain\-name}
|
||||
Requires that
|
||||
\fIdomain\-name\fR
|
||||
exists (has as at least one resource record, of any type).
|
||||
.TP 3n
|
||||
-.HP 15 \fBprereq nxrrset\fR {domain\-name} [class] {type}
|
||||
+\fBprereq nxrrset\fR {domain\-name} [class] {type}
|
||||
Requires that no resource record exists of the specified
|
||||
\fItype\fR,
|
||||
\fIclass\fR
|
||||
@@ -189,7 +189,7 @@
|
||||
\fIclass\fR
|
||||
is omitted, IN (internet) is assumed.
|
||||
.TP 3n
|
||||
-.HP 15 \fBprereq yxrrset\fR {domain\-name} [class] {type}
|
||||
+\fBprereq yxrrset\fR {domain\-name} [class] {type}
|
||||
This requires that a resource record of the specified
|
||||
\fItype\fR,
|
||||
\fIclass\fR
|
||||
@@ -199,7 +199,7 @@
|
||||
\fIclass\fR
|
||||
is omitted, IN (internet) is assumed.
|
||||
.TP 3n
|
||||
-.HP 15 \fBprereq yxrrset\fR {domain\-name} [class] {type} {data...}
|
||||
+\fBprereq yxrrset\fR {domain\-name} [class] {type} {data...}
|
||||
The
|
||||
\fIdata\fR
|
||||
from each set of prerequisites of this form sharing a common
|
||||
@@ -213,7 +213,7 @@
|
||||
\fIdata\fR
|
||||
are written in the standard text representation of the resource record's RDATA.
|
||||
.TP 3n
|
||||
-.HP 14 \fBupdate delete\fR {domain\-name} [ttl] [class] [type\ [data...]]
|
||||
+\fBupdate delete\fR {domain\-name} [ttl] [class] [type\ [data...]]
|
||||
Deletes any resource records named
|
||||
\fIdomain\-name\fR. If
|
||||
\fItype\fR
|
||||
@@ -225,20 +225,20 @@
|
||||
\fIttl\fR
|
||||
is ignored, and is only allowed for compatibility.
|
||||
.TP 3n
|
||||
-.HP 11 \fBupdate add\fR {domain\-name} {ttl} [class] {type} {data...}
|
||||
+\fBupdate add\fR {domain\-name} {ttl} [class] {type} {data...}
|
||||
Adds a new resource record with the specified
|
||||
\fIttl\fR,
|
||||
\fIclass\fR
|
||||
and
|
||||
\fIdata\fR.
|
||||
.TP 3n
|
||||
-.HP 5 \fBshow\fR
|
||||
+\fBshow\fR
|
||||
Displays the current message, containing all of the prerequisites and updates specified since the last send.
|
||||
.TP 3n
|
||||
-.HP 5 \fBsend\fR
|
||||
+\fBsend\fR
|
||||
Sends the current message. This is equivalent to entering a blank line.
|
||||
.TP 3n
|
||||
-.HP 7 \fBanswer\fR
|
||||
+\fBanswer\fR
|
||||
Displays the answer.
|
||||
.PP
|
||||
Lines beginning with a semicolon are comments and are ignored.
|
@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8452266a3a1b696f247b80c8854c6fad1b762957b0179dde0ba8c9d9b5b12a82
|
||||
size 19647
|
||||
oid sha256:34e8782af986820257cc9b99c78ff55bea9e3e1c158bcd1ea3aa84573bd31f9c
|
||||
size 19657
|
||||
|
Loading…
Reference in New Issue
Block a user