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 #include 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 #include #include -@@ -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 #include @@ -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 #include -@@ -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 + #include + +-#include ++#include "bdb.h" + #include + #include + +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 - #include - --#include -+#include "bdb.h" - #include - #include - ---- 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 #include @@ -200,8 +185,10 @@ #include #include ---- 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 #include @@ -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 dig 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 IDN_DISABLE environment variable. + If you'd like to turn off the IDN support for some reason, define + the CHARSET=ASCII environment variable. - The IDN support is disabled if the variable is set when + The IDN support is disabled if the variable is set when dig runs. -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 #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 #ifdef DIG_SIGCHASE #include -@@ -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 - 32:9.10.4-1.P1 +- Update to 9.10.4-P1 + * Fri May 20 2016 Tomas Hozza - 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 - +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 + + - -+ RETURN CODES ++ RETURN CODES + + Dig return codes are: + @@ -36,9 +37,8 @@ diff -up bind-9.9.2/bin/dig/dig.docbook.rh640538 bind-9.9.2/bin/dig/dig.docbook + + + -+ ++ + -+ - FILES + FILES + /etc/resolv.conf - 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