summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Hozza <thozza@redhat.com>2016-05-26 17:23:15 +0200
committerTomas Hozza <thozza@redhat.com>2016-05-26 17:23:15 +0200
commit3fed71e579775d9498c3b50aa2cd835935c92312 (patch)
tree72b44f6e7850a91230aa706f0cefbc1578218cbb
parentaeb3d0fc5d8a7240a0ae6f0c2ff404001dda0f7c (diff)
downloadbind-3fed71e579775d9498c3b50aa2cd835935c92312.tar.gz
bind-3fed71e579775d9498c3b50aa2cd835935c92312.tar.xz
bind-3fed71e579775d9498c3b50aa2cd835935c92312.zip
Update to 9.10.4-P1
-rw-r--r--.gitignore1
-rw-r--r--bind-9.10-dyndb.patch32
-rw-r--r--bind-9.10-use-of-strlcat.patch18
-rw-r--r--bind-9.3.1rc1-sdb_tools-Makefile.in2
-rw-r--r--bind-9.3.2-redhat_doc.patch18
-rw-r--r--bind-9.3.2b1-fix_sdb_ldap.patch118
-rw-r--r--bind-9.3.2b2-sdbsrc.patch107
-rw-r--r--bind-99-libidn.patch91
-rw-r--r--bind.spec18
-rw-r--r--bind97-rh478718.patch20
-rw-r--r--bind99-rh640538.patch22
-rw-r--r--sources2
12 files changed, 236 insertions, 213 deletions
diff --git a/.gitignore b/.gitignore
index f157b78..5bf4d45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -63,3 +63,4 @@ bind-9.7.2b1.tar.gz
/config-15.tar.bz2
/bind-9.10.3-P3.tar.gz
/bind-9.10.3-P4.tar.gz
+/bind-9.10.4-P1.tar.gz
diff --git a/bind-9.10-dyndb.patch b/bind-9.10-dyndb.patch
index fec6e4d..a644bc1 100644
--- a/bind-9.10-dyndb.patch
+++ b/bind-9.10-dyndb.patch
@@ -1,5 +1,5 @@
diff --git a/bin/named/main.c b/bin/named/main.c
-index d951ef5..306295f 100644
+index 556db54..0051f9a 100644
--- a/bin/named/main.c
+++ b/bin/named/main.c
@@ -43,6 +43,7 @@
@@ -11,7 +11,7 @@ index d951ef5..306295f 100644
#include <dns/result.h>
#include <dns/view.h>
diff --git a/bin/named/server.c b/bin/named/server.c
-index 19e064f..960d4bb 100644
+index 33483f8..3d2f1c6 100644
--- a/bin/named/server.c
+++ b/bin/named/server.c
@@ -68,6 +68,7 @@
@@ -22,7 +22,7 @@ index 19e064f..960d4bb 100644
#include <dns/dns64.h>
#include <dns/forward.h>
#include <dns/journal.h>
-@@ -1308,6 +1309,70 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) {
+@@ -1309,6 +1310,70 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) {
return (result);
}
@@ -93,7 +93,7 @@ index 19e064f..960d4bb 100644
static isc_result_t
disable_algorithms(const cfg_obj_t *disabled, dns_resolver_t *resolver) {
isc_result_t result;
-@@ -2344,6 +2409,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
+@@ -2349,6 +2414,7 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
const cfg_obj_t *dlz;
unsigned int dlzargc;
char **dlzargv;
@@ -101,7 +101,7 @@ index 19e064f..960d4bb 100644
const cfg_obj_t *disabled;
const cfg_obj_t *obj;
#ifdef ENABLE_FETCHLIMIT
-@@ -3698,6 +3764,37 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
+@@ -3704,6 +3770,37 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist,
dns_view_setrootdelonly(view, ISC_FALSE);
/*
@@ -139,7 +139,7 @@ index 19e064f..960d4bb 100644
* Setup automatic empty zones. If recursion is off then
* they are disabled by default.
*/
-@@ -5443,6 +5540,7 @@ load_configuration(const char *filename, ns_server_t *server,
+@@ -5457,6 +5554,7 @@ load_configuration(const char *filename, ns_server_t *server,
cfg_aclconfctx_detach(&ns_g_aclconfctx);
CHECK(cfg_aclconfctx_create(ns_g_mctx, &ns_g_aclconfctx));
@@ -147,7 +147,7 @@ index 19e064f..960d4bb 100644
/*
* Parse the global default pseudo-config file.
*/
-@@ -6671,6 +6769,8 @@ shutdown_server(isc_task_t *task, isc_event_t *event) {
+@@ -6685,6 +6783,8 @@ shutdown_server(isc_task_t *task, isc_event_t *event) {
dns_view_detach(&view);
}
@@ -157,7 +157,7 @@ index 19e064f..960d4bb 100644
ISC_LIST_UNLINK(server->cachelist, nsc, link);
dns_cache_detach(&nsc->cache);
diff --git a/lib/dns/Makefile.in b/lib/dns/Makefile.in
-index 6dfd146..4fb7c6e 100644
+index 4f3ef52..34973af 100644
--- a/lib/dns/Makefile.in
+++ b/lib/dns/Makefile.in
@@ -65,7 +65,7 @@ GEOIPLINKOBJS = geoip.@O@
@@ -173,8 +173,8 @@ index 6dfd146..4fb7c6e 100644
DNSSRCS = acache.c acl.c adb.c byaddr.c \
cache.c callbacks.c clientinfo.c compress.c \
db.c dbiterator.c dbtable.c diff.c dispatch.c \
-- dlz.c dns64.c dnssec.c ds.c forward.c geoip.c \
-+ dlz.c dns64.c dnssec.c ds.c dynamic_db.c forward.c geoip.c \
+- dlz.c dns64.c dnssec.c ds.c forward.c \
++ dlz.c dns64.c dnssec.c ds.c dynamic_db.c forward.c \
iptable.c journal.c keydata.c keytable.c lib.c log.c \
lookup.c master.c masterdump.c message.c \
name.c ncache.c nsec.c nsec3.c order.c peer.c portlist.c \
@@ -564,10 +564,10 @@ index e69de29..e32a3c8 100644
+}
+
diff --git a/lib/dns/include/dns/Makefile.in b/lib/dns/include/dns/Makefile.in
-index 667db71..0661291 100644
+index aecf6f0..8e24b54 100644
--- a/lib/dns/include/dns/Makefile.in
+++ b/lib/dns/include/dns/Makefile.in
-@@ -23,7 +23,7 @@ top_srcdir = @top_srcdir@
+@@ -23,7 +23,7 @@ VERSION=@BIND9_VERSION@
HEADERS = acache.h acl.h adb.h bit.h byaddr.h cache.h callbacks.h cert.h \
client.h clientinfo.h compress.h \
@@ -669,10 +669,10 @@ index 377b03c..acef9e6 100644
};
diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c
-index 780ab46..48f166a 100644
+index 67d65f0..bd348be 100644
--- a/lib/isccfg/namedconf.c
+++ b/lib/isccfg/namedconf.c
-@@ -105,6 +105,7 @@ static cfg_type_t cfg_type_controls;
+@@ -106,6 +106,7 @@ static cfg_type_t cfg_type_controls;
static cfg_type_t cfg_type_controls_sockaddr;
static cfg_type_t cfg_type_destinationlist;
static cfg_type_t cfg_type_dialuptype;
@@ -680,7 +680,7 @@ index 780ab46..48f166a 100644
static cfg_type_t cfg_type_ixfrdifftype;
static cfg_type_t cfg_type_key;
static cfg_type_t cfg_type_logfile;
-@@ -962,6 +963,7 @@ namedconf_or_view_clauses[] = {
+@@ -969,6 +970,7 @@ namedconf_or_view_clauses[] = {
{ "key", &cfg_type_key, CFG_CLAUSEFLAG_MULTI },
{ "zone", &cfg_type_zone, CFG_CLAUSEFLAG_MULTI },
{ "dlz", &cfg_type_dlz, CFG_CLAUSEFLAG_MULTI },
@@ -688,7 +688,7 @@ index 780ab46..48f166a 100644
{ "server", &cfg_type_server, CFG_CLAUSEFLAG_MULTI },
{ "trusted-keys", &cfg_type_dnsseckeys, CFG_CLAUSEFLAG_MULTI },
{ "managed-keys", &cfg_type_managedkeys, CFG_CLAUSEFLAG_MULTI },
-@@ -2188,6 +2190,40 @@ static cfg_type_t cfg_type_dialuptype = {
+@@ -2230,6 +2232,40 @@ static cfg_type_t cfg_type_dialuptype = {
&cfg_rep_string, dialup_enums
};
diff --git a/bind-9.10-use-of-strlcat.patch b/bind-9.10-use-of-strlcat.patch
new file mode 100644
index 0000000..2a39916
--- /dev/null
+++ b/bind-9.10-use-of-strlcat.patch
@@ -0,0 +1,18 @@
+diff --git a/bin/sdb_tools/zone2ldap.c b/bin/sdb_tools/zone2ldap.c
+index d56bc56..99c3314 100644
+--- a/bin/sdb_tools/zone2ldap.c
++++ b/bin/sdb_tools/zone2ldap.c
+@@ -817,11 +817,11 @@ build_dn_from_dc_list (char **dc_list, unsigned int ttl, int flag, char *zone)
+ }
+
+
+- strlcat (dn, tmp, sizeof (dn));
++ strncat (dn, tmp, sizeof (dn) - strlen (dn));
+ }
+
+ sprintf (tmp, "dc=%s", dc_list[0]);
+- strlcat (dn, tmp, sizeof (dn));
++ strncat (dn, tmp, sizeof (dn) - strlen (dn));
+
+ fflush(NULL);
+ return dn;
diff --git a/bind-9.3.1rc1-sdb_tools-Makefile.in b/bind-9.3.1rc1-sdb_tools-Makefile.in
index 7f3c5e2..c7e0868 100644
--- a/bind-9.3.1rc1-sdb_tools-Makefile.in
+++ b/bind-9.3.1rc1-sdb_tools-Makefile.in
@@ -2,7 +2,7 @@ srcdir = @srcdir@
VPATH = @srcdir@
top_srcdir = @top_srcdir@
-@BIND9_VERSION@
+VERSION=@BIND9_VERSION@
@BIND9_MAKE_INCLUDES@
diff --git a/bind-9.3.2-redhat_doc.patch b/bind-9.3.2-redhat_doc.patch
index 791b95f..d4531f4 100644
--- a/bind-9.3.2-redhat_doc.patch
+++ b/bind-9.3.2-redhat_doc.patch
@@ -1,9 +1,11 @@
---- bind-9.4.0/bin/named/named.8.redhat_doc 2007-01-30 01:23:44.000000000 +0100
-+++ bind-9.4.0/bin/named/named.8 2007-03-12 15:39:19.000000000 +0100
-@@ -205,6 +205,63 @@
- \fI/var/run/named/named.pid\fR
+diff --git a/bin/named/named.8 b/bin/named/named.8
+index ef10ef4..3150b22 100644
+--- a/bin/named/named.8
++++ b/bin/named/named.8
+@@ -349,6 +349,63 @@ The default configuration file\&.
+ /var/run/named/named\&.pid
.RS 4
- The default process\-id file.
+ The default process\-id file\&.
+.PP
+.SH "NOTES"
+.PP
@@ -27,8 +29,8 @@
+zone database file directory (the options { "directory" } option), where
+$ROOTDIR is set in /etc/sysconfig/named.
+.PP
-+The "named" group must be granted read privelege to
-+these files in order for named to be enabled to read them.
++The "named" group must be granted read privelege to
++these files in order for named to be enabled to read them.
+.PP
+Any file created in the zone database file directory is automatically assigned
+the SELinux file context named_zone_t .
@@ -40,7 +42,7 @@
+The Red Hat BIND distribution and SELinux policy creates three directories where
+named is allowed to create and modify files: /var/named/slaves, /var/named/dynamic
+/var/named/data. By placing files you want named to modify, such as
-+slave or DDNS updateable zone files and database / statistics dump files in
++slave or DDNS updateable zone files and database / statistics dump files in
+these directories, named will work normally and no further operator action is
+required. Files in these directories are automatically assigned the 'named_cache_t'
+file context, which SELinux allows named to write.
diff --git a/bind-9.3.2b1-fix_sdb_ldap.patch b/bind-9.3.2b1-fix_sdb_ldap.patch
index e311ccf..0ebae51 100644
--- a/bind-9.3.2b1-fix_sdb_ldap.patch
+++ b/bind-9.3.2b1-fix_sdb_ldap.patch
@@ -1,7 +1,8 @@
-diff -up bind-9.10.1/bin/sdb_tools/Makefile.in.fix_sdb_ldap bind-9.10.1/bin/sdb_tools/Makefile.in
---- bind-9.10.1/bin/sdb_tools/Makefile.in.fix_sdb_ldap 2014-11-24 13:37:37.278774373 +0100
-+++ bind-9.10.1/bin/sdb_tools/Makefile.in 2014-11-24 13:39:05.781899141 +0100
-@@ -32,11 +32,11 @@ DEPLIBS = ${LWRESDEPLIBS} ${DNSDEPLIBS}
+diff --git a/bin/sdb_tools/Makefile.in b/bin/sdb_tools/Makefile.in
+index 95ab742..6069f09 100644
+--- a/bin/sdb_tools/Makefile.in
++++ b/bin/sdb_tools/Makefile.in
+@@ -32,11 +32,11 @@ DEPLIBS = ${LWRESDEPLIBS} ${DNSDEPLIBS} ${BIND9DEPLIBS} \
LIBS = ${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \
${ISCCFGLIBS} ${ISCCCLIBS} ${ISCLIBS} ${DBDRIVER_LIBS} @LIBS@
@@ -16,7 +17,7 @@ diff -up bind-9.10.1/bin/sdb_tools/Makefile.in.fix_sdb_ldap bind-9.10.1/bin/sdb_
MANPAGES = zone2ldap.1
-@@ -53,6 +53,9 @@ zonetodb@EXEEXT@: zonetodb.@O@ ${DEPLIB
+@@ -53,6 +53,9 @@ zonetodb@EXEEXT@: zonetodb.@O@ ${DEPLIBS}
zone2sqlite@EXEEXT@: zone2sqlite.@O@ ${DEPLIBS}
${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o $@ zone2sqlite.@O@ -lsqlite3 -lssl ${LIBS}
@@ -34,9 +35,10 @@ diff -up bind-9.10.1/bin/sdb_tools/Makefile.in.fix_sdb_ldap bind-9.10.1/bin/sdb_
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} zonetodb@EXEEXT@ ${DESTDIR}${sbindir}
${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} zone2sqlite@EXEEXT@ ${DESTDIR}${sbindir}
${INSTALL_DATA} ${srcdir}/zone2ldap.1 ${DESTDIR}${mandir}/man1/zone2ldap.1
-diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_tools/zone2ldap.c
---- bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap 2014-11-24 13:37:37.260774347 +0100
-+++ bind-9.10.1/bin/sdb_tools/zone2ldap.c 2014-11-24 13:37:37.281774377 +0100
+diff --git a/bin/sdb_tools/zone2ldap.c b/bin/sdb_tools/zone2ldap.c
+index 23dd873..d56bc56 100644
+--- a/bin/sdb_tools/zone2ldap.c
++++ b/bin/sdb_tools/zone2ldap.c
@@ -26,6 +26,7 @@
#include <isc/hash.h>
#include <isc/mem.h>
@@ -45,7 +47,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
#include <isc/result.h>
#include <dns/db.h>
-@@ -63,6 +64,9 @@ ldap_info;
+@@ -65,6 +66,9 @@ ldap_info;
/* usage Info */
void usage (void);
@@ -55,7 +57,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
/* Add to the ldap dit */
void add_ldap_values (ldap_info * ldinfo);
-@@ -79,7 +83,7 @@ char **hostname_to_dn_list (char *hostna
+@@ -81,7 +85,7 @@ char **hostname_to_dn_list (char *hostname, char *zone, unsigned int flags);
int get_attr_list_size (char **tmp);
/* Get a DN */
@@ -64,7 +66,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
/* Add to RR list */
void add_to_rr_list (char *dn, char *name, char *type, char *data,
-@@ -101,11 +105,27 @@ void
+@@ -103,11 +107,27 @@ void
init_ldap_conn ();
void usage();
@@ -97,7 +99,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
LDAP *conn;
unsigned int debug = 0;
-@@ -121,12 +141,12 @@ main (int argc, char **argv)
+@@ -131,12 +151,12 @@ main (int argc, char **argv)
isc_result_t result;
char *basedn;
ldap_info *tmp;
@@ -113,38 +115,35 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
dns_fixedname_t fixedzone, fixedname;
dns_rdataset_t rdataset;
char **dc_list;
-@@ -139,7 +159,7 @@ main (int argc, char **argv)
+@@ -149,7 +169,7 @@ main (int argc, char **argv)
extern char *optarg;
extern int optind, opterr, optopt;
int create_base = 0;
- int topt;
+ int topt, dcn, zdn, znlen;
- if ((int) argc < 2)
+ if (argc < 2)
{
-@@ -147,7 +167,7 @@ main (int argc, char **argv)
+@@ -157,7 +177,7 @@ main (int argc, char **argv)
exit (-1);
}
-- while ((topt = getopt ((int) argc, argv, "D:w:b:z:f:h:?dcv")) != -1)
-+ while ((topt = getopt ((int) argc, argv, "D:Ww:b:z:f:h:?dcv")) != -1)
+- while ((topt = getopt (argc, argv, "D:w:b:z:f:h:?dcv")) != -1)
++ while ((topt = getopt (argc, argv, "D:Ww:b:z:f:h:?dcv")) != -1)
{
switch (topt)
{
-@@ -166,8 +186,11 @@ main (int argc, char **argv)
- case 'w':
- bindpw = strdup (optarg);
+@@ -180,6 +200,9 @@ main (int argc, char **argv)
+ if (bindpw == NULL)
+ fatal("strdup");
break;
+ case 'W':
+ bindpw = getpass("Enter LDAP Password: ");
+ break;
case 'b':
-- ldapbase = strdup (optarg);
-+ ldapbase = strdup (optarg);
- break;
- case 'z':
- argzone = strdup (optarg);
-@@ -279,27 +302,62 @@ main (int argc, char **argv)
+ ldapbase = strdup (optarg);
+ if (ldapbase == NULL)
+@@ -301,27 +324,62 @@ main (int argc, char **argv)
{
if (debug)
printf ("Creating base zone DN %s\n", argzone);
@@ -217,7 +216,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
}
else
{
-@@ -308,8 +366,13 @@ main (int argc, char **argv)
+@@ -330,8 +388,13 @@ main (int argc, char **argv)
else
sprintf (fullbasedn, "%s", ctmp);
}
@@ -231,7 +230,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
}
}
-@@ -387,14 +450,14 @@ generate_ldap (dns_name_t * dnsname, dns
+@@ -409,14 +472,14 @@ generate_ldap (dns_name_t * dnsname, dns_rdata_t * rdata, unsigned int ttl)
isc_result_check (result, "dns_rdata_totext");
data[isc_buffer_usedlength (&buff)] = 0;
@@ -249,7 +248,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
}
-@@ -434,7 +497,8 @@ add_to_rr_list (char *dn, char *name, ch
+@@ -456,7 +519,8 @@ add_to_rr_list (char *dn, char *name, char *type,
int attrlist;
char ldap_type_buffer[128];
char charttl[64];
@@ -259,8 +258,8 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
if ((tmp = locate_by_dn (dn)) == NULL)
{
-@@ -469,13 +533,13 @@ add_to_rr_list (char *dn, char *name, ch
- }
+@@ -483,13 +547,13 @@ add_to_rr_list (char *dn, char *name, char *type,
+ fatal("malloc");
}
tmp->attrs[0]->mod_op = LDAP_MOD_ADD;
- tmp->attrs[0]->mod_type = (char*)"objectClass";
@@ -276,7 +275,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
tmp->attrs[1] = NULL;
tmp->attrcnt = 2;
tmp->next = ldap_info_base;
-@@ -484,7 +548,7 @@ add_to_rr_list (char *dn, char *name, ch
+@@ -498,7 +562,7 @@ add_to_rr_list (char *dn, char *name, char *type,
}
tmp->attrs[1]->mod_op = LDAP_MOD_ADD;
@@ -285,8 +284,8 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
tmp->attrs[1]->mod_values = (char **) calloc (sizeof (char *), 2);
if (tmp->attrs[1]->mod_values == (char **)NULL)
-@@ -506,7 +570,7 @@ add_to_rr_list (char *dn, char *name, ch
- tmp->attrs[2]->mod_values[1] = NULL;
+@@ -527,7 +591,7 @@ add_to_rr_list (char *dn, char *name, char *type,
+ fatal("strdup");
tmp->attrs[3]->mod_op = LDAP_MOD_ADD;
- tmp->attrs[3]->mod_type = (char*)"dNSTTL";
@@ -294,9 +293,9 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
tmp->attrs[3]->mod_values = (char **) calloc (sizeof (char *), 2);
if (tmp->attrs[3]->mod_values == (char **)NULL)
-@@ -516,10 +580,21 @@ add_to_rr_list (char *dn, char *name, ch
- tmp->attrs[3]->mod_values[0] = strdup (charttl);
- tmp->attrs[3]->mod_values[1] = NULL;
+@@ -540,14 +604,25 @@ add_to_rr_list (char *dn, char *name, char *type,
+ if (tmp->attrs[3]->mod_values[0] == NULL)
+ fatal("strdup");
+ znlen=strlen(gbl_zone);
+ if ( *(gbl_zone + (znlen-1)) == '.' )
@@ -313,12 +312,16 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
- tmp->attrs[4]->mod_type = (char*)"zoneName";
+ tmp->attrs[4]->mod_type = zoneName;
tmp->attrs[4]->mod_values = (char **)calloc(sizeof(char *), 2);
+
+ if (tmp->attrs[4]->mod_values == (char **)NULL)
+ fatal("calloc");
+
- tmp->attrs[4]->mod_values[0] = gbl_zone;
+ tmp->attrs[4]->mod_values[0] = zn;
tmp->attrs[4]->mod_values[1] = NULL;
tmp->attrs[5] = NULL;
-@@ -530,7 +605,7 @@ add_to_rr_list (char *dn, char *name, ch
+@@ -558,7 +633,7 @@ add_to_rr_list (char *dn, char *name, char *type,
else
{
@@ -327,7 +330,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
{
sprintf (ldap_type_buffer, "%sRecord", type);
if (!strncmp
-@@ -599,69 +674,105 @@ char **
+@@ -632,44 +707,70 @@ char **
hostname_to_dn_list (char *hostname, char *zone, unsigned int flags)
{
char *tmp;
@@ -337,17 +340,19 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
- char *hnamebuff;
-
- zname = strdup (hostname);
+- if (zname == NULL)
+- fatal("strdup");
-
- if (flags == DNS_OBJECT)
- {
-+ char *hname=0L, *last=0L;
-+ int hlen=strlen(hostname), zlen=(strlen(zone));
-
+-
- if (strlen (zname) != strlen (zone))
- {
- tmp = &zname[strlen (zname) - strlen (zone)];
- *--tmp = '\0';
- hnamebuff = strdup (zname);
+- if (hnamebuff == NULL)
+- fatal("strdup");
- zname = ++tmp;
- }
- else
@@ -367,6 +372,9 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
- }
- dn_buffer[i++] = zname;
- dn_buffer[i++] = hnamebuff;
++ char *hname=0L, *last=0L;
++ int hlen=strlen(hostname), zlen=(strlen(zone));
++
+/* printf("hostname: %s zone: %s\n",hostname, zone); */
+ hname=0L;
+ if(flags == DNS_OBJECT)
@@ -428,13 +436,9 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
+ dn_buffer[i++] = hname;
+ dn_buffer[i++] = last;
dn_buffer[i] = NULL;
--
- return dn_buffer;
- }
--
- /* build an sdb compatible LDAP DN from a "dc_list" (char **).
- * will append dNSTTL information to each RR Record, with the
+ return dn_buffer;
+@@ -681,24 +782,32 @@ hostname_to_dn_list (char *hostname, char *zone, unsigned int flags)
* exception of "@"/SOA. */
char *
@@ -471,7 +475,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
else
sprintf(tmp,"dc=%s,", dc_list[x]);
}
-@@ -687,6 +798,7 @@ void
+@@ -724,6 +833,7 @@ void
init_ldap_conn ()
{
int result;
@@ -479,7 +483,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
conn = ldap_open (ldapsystem, LDAP_PORT);
if (conn == NULL)
{
-@@ -696,7 +808,7 @@ init_ldap_conn ()
+@@ -733,7 +843,7 @@ init_ldap_conn ()
}
result = ldap_simple_bind_s (conn, binddn, bindpw);
@@ -488,7 +492,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
}
/* Like isc_result_check, only for LDAP */
-@@ -713,8 +825,6 @@ ldap_result_check (const char *msg, char
+@@ -750,8 +860,6 @@ ldap_result_check (const char *msg, char *dn, int err)
}
}
@@ -497,7 +501,7 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
/* For running the ldap_info run queue. */
void
add_ldap_values (ldap_info * ldinfo)
-@@ -722,14 +832,14 @@ add_ldap_values (ldap_info * ldinfo)
+@@ -759,14 +867,14 @@ add_ldap_values (ldap_info * ldinfo)
int result;
char dnbuffer[1024];
@@ -514,12 +518,10 @@ diff -up bind-9.10.1/bin/sdb_tools/zone2ldap.c.fix_sdb_ldap bind-9.10.1/bin/sdb_
}
-@@ -740,7 +850,7 @@ void
+@@ -777,5 +885,5 @@ void
usage ()
{
fprintf (stderr,
-- "zone2ldap -D [BIND DN] -w [BIND PASSWORD] -b [BASE DN] -z [ZONE] -f [ZONE FILE] -h [LDAP HOST]\n"
-+ "zone2ldap -D [BIND DN] [-w BIND PASSWORD | -W:prompt] -b [BASE DN] -z [ZONE] -f [ZONE FILE] -h [LDAP HOST]\n"
- "\t[-c Create LDAP Base structure][-d Debug Output (lots !)]\n "
- );
- }
+- "zone2ldap -D [BIND DN] -w [BIND PASSWORD] -b [BASE DN] -z [ZONE] -f [ZONE FILE] -h [LDAP HOST] "
++ "zone2ldap -D [BIND DN] [-w BIND PASSWORD | -W:prompt] -b [BASE DN] -z [ZONE] -f [ZONE FILE] -h [LDAP HOST] "
+ "[-c Create LDAP Base structure][-d Debug Output (lots !)] \n ");}
diff --git a/bind-9.3.2b2-sdbsrc.patch b/bind-9.3.2b2-sdbsrc.patch
index bd0ed32..46e183c 100644
--- a/bind-9.3.2b2-sdbsrc.patch
+++ b/bind-9.3.2b2-sdbsrc.patch
@@ -1,6 +1,21 @@
---- bind-9.3.2b2/contrib/sdb/ldap/zone2ldap.c.sdbsrc 2005-08-16 00:43:03.000000000 -0400
-+++ bind-9.3.2b2/contrib/sdb/ldap/zone2ldap.c 2005-11-15 12:57:44.000000000 -0500
-@@ -59,16 +59,16 @@
+diff --git a/contrib/sdb/bdb/bdb.c b/contrib/sdb/bdb/bdb.c
+index 23594bb..b3c6619 100644
+--- a/contrib/sdb/bdb/bdb.c
++++ b/contrib/sdb/bdb/bdb.c
+@@ -43,7 +43,7 @@
+ #include <dns/lib.h>
+ #include <dns/ttl.h>
+
+-#include <named/bdb.h>
++#include "bdb.h"
+ #include <named/globals.h>
+ #include <named/config.h>
+
+diff --git a/contrib/sdb/ldap/zone2ldap.c b/contrib/sdb/ldap/zone2ldap.c
+index 07c89bc..23dd873 100644
+--- a/contrib/sdb/ldap/zone2ldap.c
++++ b/contrib/sdb/ldap/zone2ldap.c
+@@ -63,16 +63,16 @@ typedef struct LDAP_INFO
ldap_info;
/* usage Info */
@@ -20,7 +35,7 @@
/* Put a hostname into a char ** array */
char **hostname_to_dn_list (char *hostname, char *zone, unsigned int flags);
-@@ -84,7 +84,7 @@
+@@ -88,7 +88,7 @@ void add_to_rr_list (char *dn, char *name, char *type, char *data,
unsigned int ttl, unsigned int flags);
/* Error checking */
@@ -29,7 +44,7 @@
/* Generate LDIF Format files */
void generate_ldap (dns_name_t * dnsname, dns_rdata_t * rdata,
-@@ -93,11 +93,17 @@
+@@ -97,11 +97,17 @@ void generate_ldap (dns_name_t * dnsname, dns_rdata_t * rdata,
/* head pointer to the list */
ldap_info *ldap_info_base = NULL;
@@ -50,16 +65,7 @@
LDAP *conn;
unsigned int debug = 0;
-@@ -106,7 +112,7 @@
- #endif
-
- int
--main (int *argc, char **argv)
-+main (int argc, char **argv)
- {
- isc_mem_t *mctx = NULL;
- isc_entropy_t *ectx = NULL;
-@@ -116,7 +122,7 @@
+@@ -128,7 +134,7 @@ main (int argc, char **argv)
LDAPMod *base_attrs[2];
LDAPMod base;
isc_buffer_t buff;
@@ -68,7 +74,7 @@
char fullbasedn[1024];
char *ctmp;
dns_fixedname_t fixedzone, fixedname;
-@@ -280,9 +286,9 @@
+@@ -304,9 +310,9 @@ main (int argc, char **argv)
if ((*ctmp == ',') || (ctmp == &basedn[0]))
{
base.mod_op = LDAP_MOD_ADD;
@@ -81,7 +87,7 @@
base_attrs[1] = NULL;
if (ldapbase)
-@@ -337,7 +343,7 @@
+@@ -363,7 +369,7 @@ main (int argc, char **argv)
* I should probably rename this function, as not to cause any
* confusion with the isc* routines. Will exit on error. */
void
@@ -90,17 +96,16 @@
{
if (res != ISC_R_SUCCESS)
{
-@@ -449,7 +455,7 @@
- exit (-1);
- }
+@@ -470,20 +476,20 @@ add_to_rr_list (char *dn, char *name, char *type,
+ if (tmp->attrs == (LDAPMod **) NULL)
+ fatal("calloc");
- for (i = 0; i < flags; i++)
+ for (i = 0; i < (int)flags; i++)
{
tmp->attrs[i] = (LDAPMod *) malloc (sizeof (LDAPMod));
if (tmp->attrs[i] == (LDAPMod *) NULL)
-@@ -459,13 +465,13 @@
- }
+ fatal("malloc");
}
tmp->attrs[0]->mod_op = LDAP_MOD_ADD;
- tmp->attrs[0]->mod_type = "objectClass";
@@ -116,7 +121,7 @@
tmp->attrs[1] = NULL;
tmp->attrcnt = 2;
tmp->next = ldap_info_base;
-@@ -474,7 +480,7 @@
+@@ -492,7 +498,7 @@ add_to_rr_list (char *dn, char *name, char *type,
}
tmp->attrs[1]->mod_op = LDAP_MOD_ADD;
@@ -125,8 +130,8 @@
tmp->attrs[1]->mod_values = (char **) calloc (sizeof (char *), 2);
if (tmp->attrs[1]->mod_values == (char **)NULL)
-@@ -496,7 +502,7 @@
- tmp->attrs[2]->mod_values[1] = NULL;
+@@ -521,7 +527,7 @@ add_to_rr_list (char *dn, char *name, char *type,
+ fatal("strdup");
tmp->attrs[3]->mod_op = LDAP_MOD_ADD;
- tmp->attrs[3]->mod_type = "dNSTTL";
@@ -134,16 +139,16 @@
tmp->attrs[3]->mod_values = (char **) calloc (sizeof (char *), 2);
if (tmp->attrs[3]->mod_values == (char **)NULL)
-@@ -507,7 +513,7 @@
- tmp->attrs[3]->mod_values[1] = NULL;
+@@ -535,7 +541,7 @@ add_to_rr_list (char *dn, char *name, char *type,
+ fatal("strdup");
tmp->attrs[4]->mod_op = LDAP_MOD_ADD;
- tmp->attrs[4]->mod_type = "zoneName";
+ tmp->attrs[4]->mod_type = (char*)"zoneName";
tmp->attrs[4]->mod_values = (char **)calloc(sizeof(char *), 2);
- tmp->attrs[4]->mod_values[0] = gbl_zone;
- tmp->attrs[4]->mod_values[1] = NULL;
-@@ -607,7 +613,7 @@
+
+ if (tmp->attrs[4]->mod_values == (char **)NULL)
+@@ -648,7 +654,7 @@ hostname_to_dn_list (char *hostname, char *zone, unsigned int flags)
zname = ++tmp;
}
else
@@ -152,7 +157,7 @@
}
else
{
-@@ -686,12 +692,12 @@
+@@ -727,12 +733,12 @@ init_ldap_conn ()
}
result = ldap_simple_bind_s (conn, binddn, bindpw);
@@ -167,30 +172,10 @@
{
if ((err != LDAP_SUCCESS) && (err != LDAP_ALREADY_EXISTS))
{
-@@ -730,5 +736,8 @@
- usage ()
- {
- fprintf (stderr,
-- "zone2ldap -D [BIND DN] -w [BIND PASSWORD] -b [BASE DN] -z [ZONE] -f [ZONE FILE] -h [LDAP HOST]
-- [-c Create LDAP Base structure][-d Debug Output (lots !)] \n ");}
-+ "zone2ldap -D [BIND DN] -w [BIND PASSWORD] -b [BASE DN] -z [ZONE] -f [ZONE FILE] -h [LDAP HOST]\n"
-+ "\t[-c Create LDAP Base structure][-d Debug Output (lots !)]\n "
-+ );
-+}
-+
---- bind-9.3.2b2/contrib/sdb/bdb/bdb.c.sdbsrc 2002-07-02 00:45:34.000000000 -0400
-+++ bind-9.3.2b2/contrib/sdb/bdb/bdb.c 2005-11-15 12:57:44.000000000 -0500
-@@ -43,7 +43,7 @@
- #include <dns/lib.h>
- #include <dns/ttl.h>
-
--#include <named/bdb.h>
-+#include "bdb.h"
- #include <named/globals.h>
- #include <named/config.h>
-
---- bind-9.3.2b2/contrib/sdb/pgsql/pgsqldb.c.sdbsrc 2004-03-08 04:04:22.000000000 -0500
-+++ bind-9.3.2b2/contrib/sdb/pgsql/pgsqldb.c 2005-11-15 12:57:44.000000000 -0500
+diff --git a/contrib/sdb/pgsql/pgsqldb.c b/contrib/sdb/pgsql/pgsqldb.c
+index 50d3cba..516eb9f 100644
+--- a/contrib/sdb/pgsql/pgsqldb.c
++++ b/contrib/sdb/pgsql/pgsqldb.c
@@ -23,7 +23,7 @@
#include <string.h>
#include <stdlib.h>
@@ -200,8 +185,10 @@
#include <isc/mem.h>
#include <isc/print.h>
---- bind-9.3.2b2/contrib/sdb/pgsql/zonetodb.c.sdbsrc 2005-09-05 22:12:40.000000000 -0400
-+++ bind-9.3.2b2/contrib/sdb/pgsql/zonetodb.c 2005-11-15 12:58:12.000000000 -0500
+diff --git a/contrib/sdb/pgsql/zonetodb.c b/contrib/sdb/pgsql/zonetodb.c
+index b8f5912..ff2d135 100644
+--- a/contrib/sdb/pgsql/zonetodb.c
++++ b/contrib/sdb/pgsql/zonetodb.c
@@ -37,7 +37,7 @@
#include <dns/rdatatype.h>
#include <dns/result.h>
@@ -211,7 +198,7 @@
/*
* Generate a PostgreSQL table from a zone.
-@@ -54,6 +54,9 @@
+@@ -54,6 +54,9 @@ char *dbname, *dbtable;
char str[10240];
void
@@ -221,7 +208,7 @@
closeandexit(int status) {
if (conn != NULL)
PQfinish(conn);
-@@ -61,6 +64,9 @@
+@@ -61,6 +64,9 @@ closeandexit(int status) {
}
void
@@ -231,7 +218,7 @@
check_result(isc_result_t result, const char *message) {
if (result != ISC_R_SUCCESS) {
fprintf(stderr, "%s: %s\n", message,
-@@ -84,7 +90,8 @@
+@@ -84,7 +90,8 @@ quotestring(const unsigned char *source, unsigned char *dest) {
}
*dest++ = 0;
}
diff --git a/bind-99-libidn.patch b/bind-99-libidn.patch
index c86be93..a03cc96 100644
--- a/bind-99-libidn.patch
+++ b/bind-99-libidn.patch
@@ -1,7 +1,34 @@
-diff -up bind-9.10.1b1/bin/dig/dig.docbook.libidn bind-9.10.1b1/bin/dig/dig.docbook
---- bind-9.10.1b1/bin/dig/dig.docbook.libidn 2014-06-23 06:47:35.000000000 +0200
-+++ bind-9.10.1b1/bin/dig/dig.docbook 2014-07-29 15:30:42.808679630 +0200
-@@ -1012,8 +1012,8 @@ dig +qr www.isc.org any -x 127.0.0.1 isc
+diff --git a/bin/dig/Makefile.in b/bin/dig/Makefile.in
+index 5e9febc..b1861a5 100644
+--- a/bin/dig/Makefile.in
++++ b/bin/dig/Makefile.in
+@@ -48,10 +48,10 @@ DEPLIBS = ${DNSDEPLIBS} ${BIND9DEPLIBS} ${ISCDEPLIBS} \
+ ${ISCCFGDEPLIBS} ${LWRESDEPLIBS}
+
+ LIBS = ${LWRESLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
+- ${ISCLIBS} @IDNLIBS@ @LIBS@
++ ${ISCLIBS} @IDNLIBS@ @LIBS@ -lidn
+
+ NOSYMLIBS = ${LWRESLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
+- ${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@
++ ${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@ -lidn
+
+ SUBDIRS =
+
+@@ -69,6 +69,8 @@ HTMLPAGES = dig.html host.html nslookup.html
+
+ MANOBJS = ${MANPAGES} ${HTMLPAGES}
+
++EXT_CFLAGS = -DWITH_LIBIDN
++
+ @BIND9_MAKE_RULES@
+
+ dig@EXEEXT@: dig.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
+diff --git a/bin/dig/dig.docbook b/bin/dig/dig.docbook
+index c54d677..1079421 100644
+--- a/bin/dig/dig.docbook
++++ b/bin/dig/dig.docbook
+@@ -1170,8 +1170,8 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
<command>dig</command> appropriately converts character encoding of
domain name before sending a request to DNS server or displaying a
reply from the server.
@@ -9,12 +36,13 @@ diff -up bind-9.10.1b1/bin/dig/dig.docbook.libidn bind-9.10.1b1/bin/dig/dig.docb
- the <envar>IDN_DISABLE</envar> environment variable.
+ If you'd like to turn off the IDN support for some reason, define
+ the <envar>CHARSET=ASCII</envar> environment variable.
- The IDN support is disabled if the variable is set when
+ The IDN support is disabled if the variable is set when
<command>dig</command> runs.
</para>
-diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
---- bind-9.10.1b1/bin/dig/dighost.c.libidn 2014-06-23 06:47:35.000000000 +0200
-+++ bind-9.10.1b1/bin/dig/dighost.c 2014-07-29 15:44:43.114012448 +0200
+diff --git a/bin/dig/dighost.c b/bin/dig/dighost.c
+index 3ca7cb9..f11884e 100644
+--- a/bin/dig/dighost.c
++++ b/bin/dig/dighost.c
@@ -44,6 +44,11 @@
#include <idn/api.h>
#endif
@@ -27,7 +55,7 @@ diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
#include <dns/byaddr.h>
#ifdef DIG_SIGCHASE
#include <dns/callbacks.h>
-@@ -158,6 +163,14 @@ static void idn_check_result(idn_result
+@@ -168,6 +173,14 @@ static void idn_check_result(idn_result_t r, const char *msg);
int idnoptions = 0;
#endif
@@ -42,7 +70,7 @@ diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
isc_socket_t *keep = NULL;
isc_sockaddr_t keepaddr;
-@@ -1355,8 +1371,15 @@ setup_system(void) {
+@@ -1404,8 +1417,15 @@ setup_system(void) {
#ifdef WITH_IDN
initialize_idn();
@@ -59,7 +87,7 @@ diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
if (keyfile[0] != 0)
setup_file_key();
else if (keysecret[0] != 0)
-@@ -2106,12 +2129,14 @@ setup_lookup(dig_lookup_t *lookup) {
+@@ -2191,12 +2211,14 @@ setup_lookup(dig_lookup_t *lookup) {
idn_result_t mr;
char utf8_textname[MXNAME], utf8_origin[MXNAME], idn_textname[MXNAME];
#endif
@@ -76,7 +104,7 @@ diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
REQUIRE(lookup != NULL);
INSIST(!free_now);
-@@ -2148,6 +2173,14 @@ setup_lookup(dig_lookup_t *lookup) {
+@@ -2233,6 +2255,14 @@ setup_lookup(dig_lookup_t *lookup) {
mr = idn_encodename(IDN_LOCALCONV | IDN_DELIMMAP, lookup->textname,
utf8_textname, sizeof(utf8_textname));
idn_check_result(mr, "convert textname to UTF-8");
@@ -91,7 +119,7 @@ diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
#endif
/*
-@@ -2160,15 +2193,11 @@ setup_lookup(dig_lookup_t *lookup) {
+@@ -2245,15 +2275,11 @@ setup_lookup(dig_lookup_t *lookup) {
if (lookup->new_search) {
#ifdef WITH_IDN
if ((count_dots(utf8_textname) >= ndots) || !usesearch) {
@@ -110,7 +138,7 @@ diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
lookup->origin = NULL; /* Force abs lookup */
lookup->done_as_is = ISC_TRUE;
lookup->need_search = usesearch;
-@@ -2176,7 +2205,6 @@ setup_lookup(dig_lookup_t *lookup) {
+@@ -2261,7 +2287,6 @@ setup_lookup(dig_lookup_t *lookup) {
lookup->origin = ISC_LIST_HEAD(search_list);
lookup->need_search = ISC_FALSE;
}
@@ -118,7 +146,7 @@ diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
}
#ifdef WITH_IDN
-@@ -2193,6 +2221,20 @@ setup_lookup(dig_lookup_t *lookup) {
+@@ -2278,6 +2303,20 @@ setup_lookup(dig_lookup_t *lookup) {
IDN_IDNCONV | IDN_LENCHECK, utf8_textname,
idn_textname, sizeof(idn_textname));
idn_check_result(mr, "convert UTF-8 textname to IDN encoding");
@@ -139,7 +167,7 @@ diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
#else
if (lookup->origin != NULL) {
debug("trying origin %s", lookup->origin->origin);
-@@ -2248,6 +2290,13 @@ setup_lookup(dig_lookup_t *lookup) {
+@@ -2348,6 +2387,13 @@ setup_lookup(dig_lookup_t *lookup) {
result = dns_name_fromtext(lookup->name, &b,
dns_rootname, 0,
&lookup->namebuf);
@@ -153,7 +181,7 @@ diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
#else
len = strlen(lookup->textname);
isc_buffer_init(&b, lookup->textname, len);
-@@ -4031,7 +4080,7 @@ destroy_libs(void) {
+@@ -4227,7 +4273,7 @@ destroy_libs(void) {
void * ptr;
dig_message_t *chase_msg;
#endif
@@ -162,7 +190,7 @@ diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
isc_result_t result;
#endif
-@@ -4072,6 +4121,10 @@ destroy_libs(void) {
+@@ -4268,6 +4314,10 @@ destroy_libs(void) {
result = dns_name_settotextfilter(NULL);
check_result(result, "dns_name_settotextfilter");
#endif
@@ -173,7 +201,7 @@ diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
dns_name_destroy();
if (commctx != NULL) {
-@@ -4251,6 +4304,97 @@ idn_check_result(idn_result_t r, const c
+@@ -4453,6 +4503,97 @@ idn_check_result(idn_result_t r, const char *msg) {
}
}
#endif /* WITH_IDN */
@@ -271,28 +299,3 @@ diff -up bind-9.10.1b1/bin/dig/dighost.c.libidn bind-9.10.1b1/bin/dig/dighost.c
#ifdef DIG_SIGCHASE
void
-diff -up bind-9.10.1b1/bin/dig/Makefile.in.libidn bind-9.10.1b1/bin/dig/Makefile.in
---- bind-9.10.1b1/bin/dig/Makefile.in.libidn 2014-06-23 06:47:35.000000000 +0200
-+++ bind-9.10.1b1/bin/dig/Makefile.in 2014-07-29 15:47:00.566230478 +0200
-@@ -48,10 +48,10 @@ DEPLIBS = ${DNSDEPLIBS} ${BIND9DEPLIBS}
- ${ISCCFGDEPLIBS} ${LWRESDEPLIBS}
-
- LIBS = ${LWRESLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
-- ${ISCLIBS} @IDNLIBS@ @LIBS@
-+ ${ISCLIBS} @IDNLIBS@ @LIBS@ -lidn
-
- NOSYMLIBS = ${LWRESLIBS} ${BIND9LIBS} ${ISCCFGLIBS} \
-- ${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@
-+ ${ISCNOSYMLIBS} @IDNLIBS@ @LIBS@ -lidn
-
- SUBDIRS =
-
-@@ -69,6 +69,8 @@ HTMLPAGES = dig.html host.html nslookup.
-
- MANOBJS = ${MANPAGES} ${HTMLPAGES}
-
-+EXT_CFLAGS = -DWITH_LIBIDN
-+
- @BIND9_MAKE_RULES@
-
- dig@EXEEXT@: dig.@O@ dighost.@O@ ${UOBJS} ${DEPLIBS}
diff --git a/bind.spec b/bind.spec
index 740af22..ff3f39f 100644
--- a/bind.spec
+++ b/bind.spec
@@ -2,7 +2,7 @@
# Red Hat BIND package .spec file
#
-%global PATCHVER P4
+%global PATCHVER P1
#%%global PREVER rc1
%global VERSION %{version}%{?PREVER}%{?PATCHVER:-%{PATCHVER}}
@@ -24,8 +24,8 @@
Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) server
Name: bind
License: ISC
-Version: 9.10.3
-Release: 14%{?PATCHVER:.%{PATCHVER}}%{?PREVER:.%{PREVER}}%{?dist}
+Version: 9.10.4
+Release: 1%{?PATCHVER:.%{PATCHVER}}%{?PREVER:.%{PREVER}}%{?dist}
Epoch: 32
Url: http://www.isc.org/products/BIND/
Buildroot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -78,6 +78,10 @@ Patch134:bind97-rh669163.patch
# Fedora specific patch to distribute native-pkcs#11 functionality
Patch136:bind-9.10-dist-native-pkcs11.patch
+# [ISC-Bugs #42525] non-portable use of strlcat in contrib/sdb/ldap/zone2ldap.c
+# introduced by https://source.isc.org/cgi-bin/gitweb.cgi?p=bind9.git;a=commit;h=fc9f0ac5778f78003a7acc957a23711811fec122
+Patch137:bind-9.10-use-of-strlcat.patch
+
# SDB patches
Patch11: bind-9.3.2b2-sdbsrc.patch
Patch12: bind-9.10-sdb.patch
@@ -340,6 +344,7 @@ cp -fp contrib/sdb/pgsql/zonetodb.c bin/sdb_tools
cp -fp contrib/sdb/sqlite/zone2sqlite.c bin/sdb_tools
%patch12 -p1 -b .sdb
%patch17 -p1 -b .fix_sdb_ldap
+%patch137 -p1 -b .strlcat_fix
%endif
%patch133 -p1 -b .rh640538
@@ -829,7 +834,7 @@ rm -rf ${RPM_BUILD_ROOT}
%files libs-lite
%defattr(-,root,root,-)
-%{_libdir}/libdns.so.162*
+%{_libdir}/libdns.so.165*
%{_libdir}/libirs.so.141*
%{_libdir}/libisc.so.160*
%{_libdir}/libisccfg.so.140*
@@ -984,7 +989,7 @@ rm -rf ${RPM_BUILD_ROOT}
%files pkcs11-libs
%defattr(-,root,root,-)
-%{_libdir}/libdns-pkcs11.so.162*
+%{_libdir}/libdns-pkcs11.so.165*
%{_libdir}/libisc-pkcs11.so.160*
%files pkcs11-devel
@@ -997,6 +1002,9 @@ rm -rf ${RPM_BUILD_ROOT}
%changelog
+* Thu May 26 2016 Tomas Hozza <thozza@redhat.com> - 32:9.10.4-1.P1
+- Update to 9.10.4-P1
+
* Fri May 20 2016 Tomas Hozza <thozza@redhat.com> - 32:9.10.3-14.P4
- (un)mount /var/named in -chroot packages as the last directory (Related: #1279188)
diff --git a/bind97-rh478718.patch b/bind97-rh478718.patch
index c6ea596..51f5674 100644
--- a/bind97-rh478718.patch
+++ b/bind97-rh478718.patch
@@ -1,7 +1,8 @@
-diff -up bind-9.7.0/configure.in.rh478718 bind-9.7.0/configure.in
---- bind-9.7.0/configure.in.rh478718 2010-03-01 14:50:02.331207076 +0100
-+++ bind-9.7.0/configure.in 2010-03-01 14:50:21.501207488 +0100
-@@ -2540,6 +2540,10 @@ main() {
+diff --git a/configure.in b/configure.in
+index b79aab0..da67ad5 100644
+--- a/configure.in
++++ b/configure.in
+@@ -3774,6 +3774,10 @@ if test "$use_atomic" = "yes"; then
AC_MSG_RESULT($arch)
fi
@@ -12,10 +13,11 @@ diff -up bind-9.7.0/configure.in.rh478718 bind-9.7.0/configure.in
if test "$have_atomic" = "yes"; then
AC_MSG_CHECKING([compiler support for inline assembly code])
-diff -up bind-9.7.0/lib/isc/include/isc/platform.h.in.rh478718 bind-9.7.0/lib/isc/include/isc/platform.h.in
---- bind-9.7.0/lib/isc/include/isc/platform.h.in.rh478718 2010-03-01 14:50:31.421207522 +0100
-+++ bind-9.7.0/lib/isc/include/isc/platform.h.in 2010-03-01 14:50:40.313707286 +0100
-@@ -255,7 +255,11 @@
+diff --git a/lib/isc/include/isc/platform.h.in b/lib/isc/include/isc/platform.h.in
+index 2c6e2a5..bf34499 100644
+--- a/lib/isc/include/isc/platform.h.in
++++ b/lib/isc/include/isc/platform.h.in
+@@ -285,7 +285,11 @@
* If the "xaddq" operation (64bit xadd) is available on this architecture,
* ISC_PLATFORM_HAVEXADDQ will be defined.
*/
@@ -27,4 +29,4 @@ diff -up bind-9.7.0/lib/isc/include/isc/platform.h.in.rh478718 bind-9.7.0/lib/is
+#endif
/*
- * If the "atomic swap" operation is available on this architecture,
+ * If the 32-bit "atomic swap" operation is available on this
diff --git a/bind99-rh640538.patch b/bind99-rh640538.patch
index a8e68f2..5066a14 100644
--- a/bind99-rh640538.patch
+++ b/bind99-rh640538.patch
@@ -1,11 +1,12 @@
-diff -up bind-9.9.2/bin/dig/dig.docbook.rh640538 bind-9.9.2/bin/dig/dig.docbook
---- bind-9.9.2/bin/dig/dig.docbook.rh640538 2012-09-27 02:35:19.000000000 +0200
-+++ bind-9.9.2/bin/dig/dig.docbook 2012-11-12 14:47:17.385334972 +0100
-@@ -961,6 +961,40 @@ dig +qr www.isc.org any -x 127.0.0.1 isc
- </refsect1>
+diff --git a/bin/dig/dig.docbook b/bin/dig/dig.docbook
+index 1079421..f11abd1 100644
+--- a/bin/dig/dig.docbook
++++ b/bin/dig/dig.docbook
+@@ -1177,6 +1177,39 @@ dig +qr www.isc.org any -x 127.0.0.1 isc.org ns +noqr
+ </para>
+ </refsection>
- <refsect1>
-+ <title>RETURN CODES</title>
++ <refsection><info><title>RETURN CODES</title></info>
+ <para>
+ <command>Dig</command> return codes are:
+ <variablelist>
@@ -36,9 +37,8 @@ diff -up bind-9.9.2/bin/dig/dig.docbook.rh640538 bind-9.9.2/bin/dig/dig.docbook
+ </varlistentry>
+ </variablelist>
+ </para>
-+ </refsect1>
++ </refsection>
+
-+ <refsect1>
- <title>FILES</title>
+ <refsection><info><title>FILES</title></info>
+
<para><filename>/etc/resolv.conf</filename>
- </para>
diff --git a/sources b/sources
index 1c61197..3f838a7 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
-173ce5e83e9ba31f8368367ee1ff7807 bind-9.10.3-P4.tar.gz
c47ee477f29baac49dc59ef4fb732b97 config-15.tar.bz2
+361ecc597f25bdbadf2ea44dec1690ce bind-9.10.4-P1.tar.gz