rpms/bind/F-8 .cvsignore, 1.37, 1.38 bind-9.3.2b1-PIE.patch, 1.2, 1.3 bind-9.5-edns.patch, 1.2, 1.3 bind-9.5-sdb.patch, 1.1, 1.2 bind-9.5-transfer-segv.patch, 1.1, 1.2 bind.spec, 1.241, 1.242 sources, 1.46, 1.47 bind-9.5-CVE-2008-0122.patch, 1.1, NONE bind-9.5-gssapi-header.patch, 1.1, NONE

Adam Tkac (atkac) fedora-extras-commits at redhat.com
Tue Feb 12 12:59:17 UTC 2008


Author: atkac

Update of /cvs/pkgs/rpms/bind/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30032

Modified Files:
	.cvsignore bind-9.3.2b1-PIE.patch bind-9.5-edns.patch 
	bind-9.5-sdb.patch bind-9.5-transfer-segv.patch bind.spec 
	sources 
Removed Files:
	bind-9.5-CVE-2008-0122.patch bind-9.5-gssapi-header.patch 
Log Message:
- 9.5.0b2
  - dropped bind-9.5-gssapi-header.patch (upstream)
  - dropped bind-9.5-CVE-2008-0122.patch (upstream)
- improved patch for #400461 (segfault during sending notifies)



Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/bind/F-8/.cvsignore,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- .cvsignore	6 Dec 2007 19:56:23 -0000	1.37
+++ .cvsignore	12 Feb 2008 12:58:35 -0000	1.38
@@ -1,4 +1,4 @@
-bind-9.5.0b1.tar.gz
+bind-9.5.0b2.tar.gz
 bind-chroot.tar.bz2
 config-2.tar
 libbind-man.tar.gz

bind-9.3.2b1-PIE.patch:

Index: bind-9.3.2b1-PIE.patch
===================================================================
RCS file: /cvs/pkgs/rpms/bind/F-8/bind-9.3.2b1-PIE.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- bind-9.3.2b1-PIE.patch	6 Mar 2007 15:32:16 -0000	1.2
+++ bind-9.3.2b1-PIE.patch	12 Feb 2008 12:58:35 -0000	1.3
@@ -215,7 +215,7 @@
 -OBJS =		builtin. at O@ client. at O@ config. at O@ control. at O@ \
 -		controlconf. at O@ interfacemgr. at O@ \
 -		listenlist. at O@ log. at O@ logconf. at O@ main. at O@ notify. at O@ \
--		query. at O@ server. at O@ sortlist. at O@ \
+-		query. at O@ server. at O@ sortlist. at O@ statschannel. at O@ \
 -		tkeyconf. at O@ tsigconf. at O@ update. at O@ xfrout. at O@ \
 -		zoneconf. at O@ \
 -		lwaddr. at O@ lwresd. at O@ lwdclient. at O@ lwderror. at O@ lwdgabn. at O@ \
@@ -223,7 +223,7 @@
 +OBJS =		builtin.o client.o config.o control.o \
 +		controlconf.o interfacemgr.o \
 +		listenlist.o log.o logconf.o main.o notify.o \
-+		query.o server.o sortlist.o \
++		query.o server.o sortlist.o statschannel.o \
 +		tkeyconf.o tsigconf.o update.o xfrout.o \
 +		zoneconf.o \
 +		lwaddr.o lwresd.o lwdclient.o lwderror.o lwdgabn.o \

bind-9.5-edns.patch:

Index: bind-9.5-edns.patch
===================================================================
RCS file: /cvs/pkgs/rpms/bind/F-8/bind-9.5-edns.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- bind-9.5-edns.patch	15 Nov 2007 11:51:33 -0000	1.2
+++ bind-9.5-edns.patch	12 Feb 2008 12:58:35 -0000	1.3
@@ -1,6 +1,6 @@
-diff -up bind-9.5.0a7/lib/dns/view.c.edns bind-9.5.0a7/lib/dns/view.c
---- bind-9.5.0a7/lib/dns/view.c.edns	2007-06-19 01:47:42.000000000 +0200
-+++ bind-9.5.0a7/lib/dns/view.c	2007-11-15 12:32:12.000000000 +0100
+diff -up bind-9.5.0b2/lib/dns/view.c.edns bind-9.5.0b2/lib/dns/view.c
+--- bind-9.5.0b2/lib/dns/view.c.edns	2007-06-19 01:47:42.000000000 +0200
++++ bind-9.5.0b2/lib/dns/view.c	2008-02-12 13:35:36.000000000 +0100
 @@ -179,6 +179,7 @@ dns_view_create(isc_mem_t *mctx, dns_rda
  	view->flush = ISC_FALSE;
  	view->dlv = NULL;
@@ -9,29 +9,29 @@
  	dns_fixedname_init(&view->dlv_fixed);
  
  	result = dns_order_create(view->mctx, &view->order);
-diff -up bind-9.5.0a7/lib/dns/resolver.c.edns bind-9.5.0a7/lib/dns/resolver.c
---- bind-9.5.0a7/lib/dns/resolver.c.edns	2007-10-19 19:15:53.000000000 +0200
-+++ bind-9.5.0a7/lib/dns/resolver.c	2007-11-15 12:32:44.000000000 +0100
-@@ -1509,10 +1509,12 @@ resquery_send(resquery_t *query) {
-          * The ADB does not know about servers with "edns no".  Check this,
-          * and then inform the ADB for future use.
-          */
--        if ((query->addrinfo->flags & DNS_FETCHOPT_NOEDNS0) == 0 &&
--            peer != NULL &&
--            dns_peer_getsupportedns(peer, &useedns) == ISC_R_SUCCESS &&
--            !useedns)
-+        if (((query->addrinfo->flags & DNS_FETCHOPT_NOEDNS0) == 0 ||
-+              (query->options & DNS_FETCHOPT_NOEDNS0) == 0) &&
-+            (!(res->view->edns) ||
-+             (peer != NULL &&
-+              dns_peer_getsupportedns(peer, &useedns) == ISC_R_SUCCESS &&
-+              !useedns)))
-         {
-                 query->options |= DNS_FETCHOPT_NOEDNS0;
-                 dns_adb_changeflags(fctx->adb,
-diff -up bind-9.5.0a7/lib/dns/include/dns/view.h.edns bind-9.5.0a7/lib/dns/include/dns/view.h
---- bind-9.5.0a7/lib/dns/include/dns/view.h.edns	2007-06-19 01:47:42.000000000 +0200
-+++ bind-9.5.0a7/lib/dns/include/dns/view.h	2007-11-15 12:32:12.000000000 +0100
+diff -up bind-9.5.0b2/lib/dns/resolver.c.edns bind-9.5.0b2/lib/dns/resolver.c
+--- bind-9.5.0b2/lib/dns/resolver.c.edns	2008-01-18 00:46:37.000000000 +0100
++++ bind-9.5.0b2/lib/dns/resolver.c	2008-02-12 13:50:04.000000000 +0100
+@@ -1514,10 +1514,12 @@ resquery_send(resquery_t *query) {
+ 	 * The ADB does not know about servers with "edns no".  Check this,
+ 	 * and then inform the ADB for future use.
+ 	 */
+-	if ((query->addrinfo->flags & DNS_FETCHOPT_NOEDNS0) == 0 &&
+-	    peer != NULL &&
+-	    dns_peer_getsupportedns(peer, &useedns) == ISC_R_SUCCESS &&
+-	    !useedns)
++	if (((query->addrinfo->flags & DNS_FETCHOPT_NOEDNS0) == 0 ||
++	      (query->options & DNS_FETCHOPT_NOEDNS0) == 0) &&
++	    (!(res->view->edns) ||
++	     (peer != NULL &&
++	      dns_peer_getsupportedns(peer, &useedns) == ISC_R_SUCCESS &&
++	      !useedns)))
+ 	{
+ 		query->options |= DNS_FETCHOPT_NOEDNS0;
+ 		dns_adb_changeflags(fctx->adb,
+diff -up bind-9.5.0b2/lib/dns/include/dns/view.h.edns bind-9.5.0b2/lib/dns/include/dns/view.h
+--- bind-9.5.0b2/lib/dns/include/dns/view.h.edns	2007-06-19 01:47:42.000000000 +0200
++++ bind-9.5.0b2/lib/dns/include/dns/view.h	2008-02-12 13:35:36.000000000 +0100
 @@ -137,6 +137,7 @@ struct dns_view {
  	dns_name_t *			dlv;
  	dns_fixedname_t			dlv_fixed;
@@ -40,9 +40,9 @@
  
  	/*
  	 * Configurable data for server use only,
-diff -up bind-9.5.0a7/lib/isccfg/namedconf.c.edns bind-9.5.0a7/lib/isccfg/namedconf.c
---- bind-9.5.0a7/lib/isccfg/namedconf.c.edns	2007-09-26 05:22:45.000000000 +0200
-+++ bind-9.5.0a7/lib/isccfg/namedconf.c	2007-11-15 12:32:12.000000000 +0100
+diff -up bind-9.5.0b2/lib/isccfg/namedconf.c.edns bind-9.5.0b2/lib/isccfg/namedconf.c
+--- bind-9.5.0b2/lib/isccfg/namedconf.c.edns	2008-01-22 01:31:00.000000000 +0100
++++ bind-9.5.0b2/lib/isccfg/namedconf.c	2008-02-12 13:35:36.000000000 +0100
 @@ -618,6 +618,7 @@ options_clauses[] = {
  	{ "deallocate-on-exit", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
  	{ "directory", &cfg_type_qstring, CFG_CLAUSEFLAG_CALLBACK },
@@ -51,9 +51,9 @@
  	{ "fake-iquery", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
  	{ "files", &cfg_type_size, 0 },
  	{ "has-old-clients", &cfg_type_boolean, CFG_CLAUSEFLAG_OBSOLETE },
-diff -up bind-9.5.0a7/doc/misc/options.edns bind-9.5.0a7/doc/misc/options
---- bind-9.5.0a7/doc/misc/options.edns	2007-10-22 00:15:34.000000000 +0200
-+++ bind-9.5.0a7/doc/misc/options	2007-11-15 12:34:04.000000000 +0100
+diff -up bind-9.5.0b2/doc/misc/options.edns bind-9.5.0b2/doc/misc/options
+--- bind-9.5.0b2/doc/misc/options.edns	2008-01-22 02:45:23.000000000 +0100
++++ bind-9.5.0b2/doc/misc/options	2008-02-12 13:35:36.000000000 +0100
 @@ -97,6 +97,7 @@ options {
              <integer>] | <ipv4_address> [port <integer>] | <ipv6_address>
              [port <integer>] ); ... };
@@ -62,9 +62,9 @@
          edns-udp-size <integer>;
          empty-contact <string>;
          empty-server <string>;
-diff -up bind-9.5.0a7/bin/named/config.c.edns bind-9.5.0a7/bin/named/config.c
---- bind-9.5.0a7/bin/named/config.c.edns	2007-10-19 19:15:53.000000000 +0200
-+++ bind-9.5.0a7/bin/named/config.c	2007-11-15 12:34:33.000000000 +0100
+diff -up bind-9.5.0b2/bin/named/config.c.edns bind-9.5.0b2/bin/named/config.c
+--- bind-9.5.0b2/bin/named/config.c.edns	2008-01-23 00:27:35.000000000 +0100
++++ bind-9.5.0b2/bin/named/config.c	2008-02-12 13:35:36.000000000 +0100
 @@ -137,6 +137,7 @@ options {\n\
  	acache-enable no;\n\
  	acache-cleaning-interval 60;\n\
@@ -73,26 +73,24 @@
  	dnssec-enable yes;\n\
  	dnssec-validation no; /* Make yes for 9.5. */ \n\
  	dnssec-accept-expired no;\n\
-diff -up bind-9.5.0a7/bin/named/server.c.edns bind-9.5.0a7/bin/named/server.c
---- bind-9.5.0a7/bin/named/server.c.edns	2007-10-18 03:37:49.000000000 +0200
-+++ bind-9.5.0a7/bin/named/server.c	2007-11-15 12:32:12.000000000 +0100
-@@ -1669,7 +1669,12 @@ configure_view(dns_view_t *view, const c
- 	dns_resolver_setclientsperquery(view->resolver,
- 					cfg_obj_asuint32(obj),
+diff -up bind-9.5.0b2/bin/named/server.c.edns bind-9.5.0b2/bin/named/server.c
+--- bind-9.5.0b2/bin/named/server.c.edns	2008-01-24 03:29:56.000000000 +0100
++++ bind-9.5.0b2/bin/named/server.c	2008-02-12 13:52:25.000000000 +0100
+@@ -1667,6 +1667,11 @@ configure_view(dns_view_t *view, const c
  					max_clients_per_query);
--			
-+
-+	obj = NULL;
+ 
+ 	obj = NULL;
 +	result = ns_config_get(maps, "edns", &obj);
 +	INSIST(result == ISC_R_SUCCESS);
 +	view->edns = cfg_obj_asboolean(obj);
 +
- 	obj = NULL;
++	obj = NULL;
  	result = ns_config_get(maps, "dnssec-enable", &obj);
  	INSIST(result == ISC_R_SUCCESS);
-diff -up bind-9.5.0a7/bin/named/named.conf.5.edns bind-9.5.0a7/bin/named/named.conf.5
---- bind-9.5.0a7/bin/named/named.conf.5.edns	2007-10-22 00:15:32.000000000 +0200
-+++ bind-9.5.0a7/bin/named/named.conf.5	2007-11-15 12:32:12.000000000 +0100
+ 	view->enablednssec = cfg_obj_asboolean(obj);
+diff -up bind-9.5.0b2/bin/named/named.conf.5.edns bind-9.5.0b2/bin/named/named.conf.5
+--- bind-9.5.0b2/bin/named/named.conf.5.edns	2007-10-22 00:15:32.000000000 +0200
++++ bind-9.5.0b2/bin/named/named.conf.5	2008-02-12 13:35:36.000000000 +0100
 @@ -160,6 +160,7 @@ options {
  	datasize \fIsize\fR;
  	directory \fIquoted_string\fR;

bind-9.5-sdb.patch:

Index: bind-9.5-sdb.patch
===================================================================
RCS file: /cvs/pkgs/rpms/bind/F-8/bind-9.5-sdb.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- bind-9.5-sdb.patch	15 Nov 2007 10:51:11 -0000	1.1
+++ bind-9.5-sdb.patch	12 Feb 2008 12:58:35 -0000	1.2
@@ -63,7 +63,7 @@
  		controlconf.o interfacemgr.o \
 -		listenlist.o log.o logconf.o main.o notify.o \
 +		listenlist.o log.o logconf.o notify.o \
- 		query.o server.o sortlist.o \
+ 		query.o server.o sortlist.o statschannel.o \
  		tkeyconf.o tsigconf.o update.o xfrout.o \
  		zoneconf.o \
  		lwaddr.o lwresd.o lwdclient.o lwderror.o lwdgabn.o \
@@ -78,7 +78,7 @@
  		controlconf.c interfacemgr.c \
 -		listenlist.c log.c logconf.c main.c notify.c \
 +		listenlist.c log.c logconf.c main.c main-sdb.c notify.c \
- 		query.c server.c sortlist.c \
+ 		query.c server.c sortlist.c statschannel.c \
  		tkeyconf.c tsigconf.c update.c xfrout.c \
  		zoneconf.c \
 @@ -116,15 +115,26 @@ main.o: main.c

bind-9.5-transfer-segv.patch:

Index: bind-9.5-transfer-segv.patch
===================================================================
RCS file: /cvs/pkgs/rpms/bind/F-8/bind-9.5-transfer-segv.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- bind-9.5-transfer-segv.patch	4 Feb 2008 13:12:22 -0000	1.1
+++ bind-9.5-transfer-segv.patch	12 Feb 2008 12:58:35 -0000	1.2
@@ -1,197 +1,13 @@
 diff -up bind-9.5.0b1/lib/dns/rbtdb.c.segv bind-9.5.0b1/lib/dns/rbtdb.c
---- bind-9.5.0b1/lib/dns/rbtdb.c.segv	2008-02-04 12:30:36.000000000 +0100
-+++ bind-9.5.0b1/lib/dns/rbtdb.c	2008-02-04 13:46:48.000000000 +0100
-@@ -763,23 +763,17 @@ free_rbtdb(dns_rbtdb_t *rbtdb, isc_boole
-                 isc_mem_put(rbtdb->common.mctx, rbtdb->current_version,
-                             sizeof(rbtdb_version_t));
+--- bind-9.5.0b1/lib/dns/rbtdb.c.segv	2008-02-11 14:52:12.000000000 +0100
++++ bind-9.5.0b1/lib/dns/rbtdb.c	2008-02-11 14:55:58.000000000 +0100
+@@ -1633,7 +1633,8 @@ decrement_reference(dns_rbtdb_t *rbtdb, 
+                                       "decrement_reference: "
+                                       "dns_rbt_deletenode: %s",
+                                       isc_result_totext(result));
+-        } else if (dns_rbtnode_refcurrent(node) == 0) {
++        } else if (rbtdb->deadnodes != NULL &&
++		   dns_rbtnode_refcurrent(node) == 0) {
+                 INSIST(!ISC_LINK_LINKED(node, deadlink));
+                 ISC_LIST_APPEND(rbtdb->deadnodes[bucket], node, deadlink);
          }
--        if (IS_CACHE(rbtdb)) {
--                /*
--                 * We assume the number of remaining dead nodes is reasonably
--                 * small; the overhead of unlinking all nodes here should be
--                 * negligible.
--                 */
--                for (i = 0; i < rbtdb->node_lock_count; i++) {
--                        dns_rbtnode_t *node;
--
--                        node = ISC_LIST_HEAD(rbtdb->deadnodes[i]);
--                        while (node != NULL) {
--                                ISC_LIST_UNLINK(rbtdb->deadnodes[i], node,
--                                    deadlink);
--                                node = ISC_LIST_HEAD(rbtdb->deadnodes[i]);
--                        }
-+
-+        for (i = 0; i < rbtdb->node_lock_count; i++) {
-+                dns_rbtnode_t *node;
-+
-+                node = ISC_LIST_HEAD(rbtdb->deadnodes[i]);
-+                while (node != NULL) {
-+                        ISC_LIST_UNLINK(rbtdb->deadnodes[i], node, deadlink);
-+                         node = ISC_LIST_HEAD(rbtdb->deadnodes[i]);
-                 }
-         }
-+
-         if (event == NULL)
-                 rbtdb->quantum = (rbtdb->task != NULL) ? 100 : 0;
-  again:
-@@ -1912,6 +1906,7 @@ closeversion(dns_db_t *db, dns_dbversion
-         }
- 
-         if (!EMPTY(cleanup_list)) {
-+		RWLOCK(&rbtdb->tree_lock, isc_rwlocktype_write);
-                 for (changed = HEAD(cleanup_list);
-                      changed != NULL;
-                      changed = next_changed) {
-@@ -1922,16 +1917,18 @@ closeversion(dns_db_t *db, dns_dbversion
-                         lock = &rbtdb->node_locks[rbtnode->locknum].lock;
- 
-                         NODE_LOCK(lock, isc_rwlocktype_write);
-+			cleanup_dead_nodes(rbtdb, rbtnode->locknum);
-                         if (rollback)
-                                 rollback_node(rbtnode, serial);
-                         decrement_reference(rbtdb, rbtnode, least_serial,
-                                             isc_rwlocktype_write,
--                                            isc_rwlocktype_none);
-+					    isc_rwlocktype_write);
-                         NODE_UNLOCK(lock, isc_rwlocktype_write);
- 
-                         isc_mem_put(rbtdb->common.mctx, changed,
-                                     sizeof(*changed));
-                 }
-+		RWUNLOCK(&rbtdb->tree_lock, isc_rwlocktype_write);
-         }
- 
-   end:
-@@ -2009,6 +2006,7 @@ findnode(dns_db_t *db, dns_name_t *name,
-         dns_name_t nodename;
-         isc_result_t result;
-         isc_rwlocktype_t locktype = isc_rwlocktype_read;
-+	isc_boolean_t need_relock;
- 
-         REQUIRE(VALID_RBTDB(rbtdb));
- 
-@@ -2064,29 +2062,27 @@ findnode(dns_db_t *db, dns_name_t *name,
-          * happen to hold a write lock on the tree, it's a good chance to purge
-          * dead nodes.
-          */
--        if (IS_CACHE(rbtdb)) {
--                isc_boolean_t need_relock = ISC_FALSE;
-+        need_relock = ISC_FALSE;
-+        NODE_WEAKLOCK(&rbtdb->node_locks[node->locknum].lock,
-+                      isc_rwlocktype_read);
-+        if (ISC_LINK_LINKED(node, deadlink) && isc_rwlocktype_write)
-+                need_relock = ISC_TRUE;
-+        else if (!ISC_LIST_EMPTY(rbtdb->deadnodes[node->locknum]) &&
-+                 locktype == isc_rwlocktype_write)
-+                need_relock = ISC_TRUE;
-+        NODE_WEAKUNLOCK(&rbtdb->node_locks[node->locknum].lock,
-+                        isc_rwlocktype_read);
-+        if (need_relock) {
- 
-                 NODE_WEAKLOCK(&rbtdb->node_locks[node->locknum].lock,
--                              isc_rwlocktype_read);
--                if (ISC_LINK_LINKED(node, deadlink) && isc_rwlocktype_write)
--                        need_relock = ISC_TRUE;
--                else if (!ISC_LIST_EMPTY(rbtdb->deadnodes[node->locknum]) &&
--                         locktype == isc_rwlocktype_write)
--                        need_relock = ISC_TRUE;
-+                              isc_rwlocktype_write);
-+                if (ISC_LINK_LINKED(node, deadlink))
-+                        ISC_LIST_UNLINK(rbtdb->deadnodes[node->locknum],
-+                                        node, deadlink);
-+                if (locktype == isc_rwlocktype_write)
-+                        cleanup_dead_nodes(rbtdb, node->locknum);
-                 NODE_WEAKUNLOCK(&rbtdb->node_locks[node->locknum].lock,
--                                isc_rwlocktype_read);
--                if (need_relock) {
--                        NODE_WEAKLOCK(&rbtdb->node_locks[node->locknum].lock,
--                                      isc_rwlocktype_write);
--                        if (ISC_LINK_LINKED(node, deadlink))
--                                ISC_LIST_UNLINK(rbtdb->deadnodes[node->locknum],
--                                                node, deadlink);
--                        if (locktype == isc_rwlocktype_write)
--                                cleanup_dead_nodes(rbtdb, node->locknum);
--                        NODE_WEAKUNLOCK(&rbtdb->node_locks[node->locknum].lock,
--                                        isc_rwlocktype_write);
--                }
-+				isc_rwlocktype_write);
-         }
- 
-         NODE_STRONGUNLOCK(&rbtdb->node_locks[node->locknum].lock);
-@@ -6149,15 +6145,6 @@ dns_rbtdb_create
-                 for (i = 0; i < (int)rbtdb->node_lock_count; i++)
-                         ISC_LIST_INIT(rbtdb->rdatasets[i]);
- 
--                rbtdb->deadnodes = isc_mem_get(mctx, rbtdb->node_lock_count *
--                                               sizeof(rbtnodelist_t));
--                if (rbtdb->deadnodes == NULL) {
--                        result = ISC_R_NOMEMORY;
--                        goto cleanup_rdatasets;
--                }
--                for (i = 0; i < (int)rbtdb->node_lock_count; i++)
--                        ISC_LIST_INIT(rbtdb->deadnodes[i]);
--
-                 /*
-                  * Create the heaps.
-                  */
-@@ -6165,7 +6152,7 @@ dns_rbtdb_create
-                                            sizeof(isc_heap_t *));
-                 if (rbtdb->heaps == NULL) {
-                         result = ISC_R_NOMEMORY;
--                        goto cleanup_deadnodes;
-+                        goto cleanup_rdatasets;
-                 }
-                 for (i = 0; i < (int)rbtdb->node_lock_count; i++)
-                         rbtdb->heaps[i] = NULL;
-@@ -6178,10 +6165,18 @@ dns_rbtdb_create
-                 }
-         } else {
-                 rbtdb->rdatasets = NULL;
--                rbtdb->deadnodes = NULL;
-                 rbtdb->heaps = NULL;
-         }
- 
-+        rbtdb->deadnodes = isc_mem_get(mctx, rbtdb->node_lock_count *
-+                                       sizeof(rbtnodelist_t));
-+        if (rbtdb->deadnodes == NULL) {
-+                result = ISC_R_NOMEMORY;
-+                goto cleanup_heaps;
-+        }
-+        for (i = 0; i < (int)rbtdb->node_lock_count; i++)
-+                ISC_LIST_INIT(rbtdb->deadnodes[i]);
-+
-         rbtdb->active = rbtdb->node_lock_count;
- 
-         for (i = 0; i < (int)(rbtdb->node_lock_count); i++) {
-@@ -6197,7 +6192,7 @@ dns_rbtdb_create
-                                 isc_refcount_decrement(&rbtdb->node_locks[i].references, NULL);
-                                 isc_refcount_destroy(&rbtdb->node_locks[i].references);
-                         }
--                        goto cleanup_heaps;
-+                        goto cleanup_deadnodes;
-                 }
-                 rbtdb->node_locks[i].exiting = ISC_FALSE;
-         }
-@@ -6310,6 +6305,10 @@ dns_rbtdb_create
- 
-         return (ISC_R_SUCCESS);
- 
-+ cleanup_deadnodes:
-+        isc_mem_put(mctx, rbtdb->deadnodes,
-+                    rbtdb->node_lock_count * sizeof(rbtnodelist_t));
-+
-  cleanup_heaps:
-         if (rbtdb->heaps != NULL) {
-                 for (i = 0 ; i < (int)rbtdb->node_lock_count ; i++)
-@@ -6319,11 +6318,6 @@ dns_rbtdb_create
-                             rbtdb->node_lock_count * sizeof(isc_heap_t *));
-         }
- 
-- cleanup_deadnodes:
--        if (rbtdb->deadnodes != NULL)
--                isc_mem_put(mctx, rbtdb->deadnodes,
--                            rbtdb->node_lock_count * sizeof(rbtnodelist_t));
--
-  cleanup_rdatasets:
-         if (rbtdb->rdatasets != NULL)
-                 isc_mem_put(mctx, rbtdb->rdatasets, rbtdb->node_lock_count *


Index: bind.spec
===================================================================
RCS file: /cvs/pkgs/rpms/bind/F-8/bind.spec,v
retrieving revision 1.241
retrieving revision 1.242
diff -u -r1.241 -r1.242
--- bind.spec	4 Feb 2008 13:13:03 -0000	1.241
+++ bind.spec	12 Feb 2008 12:58:35 -0000	1.242
@@ -2,7 +2,7 @@
 #               Red Hat BIND package .spec file
 #
 
-%define RELEASEVER b1
+%define RELEASEVER b2
 
 %{?!SDB:        %define SDB         1}
 %{?!LIBBIND:    %define LIBBIND	    1}
@@ -20,7 +20,7 @@
 Name: 		bind
 License: 	ISC
 Version: 	9.5.0
-Release: 	24.%{RELEASEVER}%{?dist}
+Release: 	25.%{RELEASEVER}%{?dist}
 Epoch:   	32
 Url: 		http://www.isc.org/products/BIND/
 Buildroot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -62,8 +62,6 @@
 Patch71:	bind-9.5-overflow.patch
 Patch72:	bind-9.5-dlz-64bit.patch
 Patch80:	bind-9.5-edns.patch
-Patch84:	bind-9.5-gssapi-header.patch
-Patch86:	bind-9.5-CVE-2008-0122.patch
 Patch87:	bind-9.5-transfer-segv.patch
 
 # SDB patches
@@ -252,9 +250,7 @@
 %patch73 -p1 -b .libidn
 %patch80 -p1 -b .edns
 %patch83 -p1 -b .libidn2
-%patch84 -p1 -b .gssapi-header
 %patch85 -p1 -b .libidn3
-%patch86 -p0 -b .CVE-2008-0122
 %patch87 -p1 -b .transfer-segv
 :;
 
@@ -672,6 +668,12 @@
 %{_sbindir}/bind-chroot-admin
 
 %changelog
+* Tue Feb 12 2008 Adam Tkac <atkac redhat com> 32:9.5.0-25.b2
+- 9.5.0b2
+  - dropped bind-9.5-gssapi-header.patch (upstream)
+  - dropped bind-9.5-CVE-2008-0122.patch (upstream)
+- improved patch for #400461 (segfault during sending notifies)
+
 * Mon Feb 04 2008 Adam Tkac <atkac redhat com> 32:9.5.0-24.b1
 - fixed segfault during sending notifies (#400461)
 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/bind/F-8/sources,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- sources	6 Dec 2007 19:56:23 -0000	1.46
+++ sources	12 Feb 2008 12:58:36 -0000	1.47
@@ -1,4 +1,4 @@
-0dcc5331641362447552cb6016c8a9f1  bind-9.5.0b1.tar.gz
+d64e5ac8b5d98508b450bf999c33e7df  bind-9.5.0b2.tar.gz
 4faa4395b955e5f8a3d50f308b9fabc8  bind-chroot.tar.bz2
 9c3905b6aece5b4aa0deba6029437483  config-2.tar
 13fef79f99fcefebb51d84b08805de51  libbind-man.tar.gz


--- bind-9.5-CVE-2008-0122.patch DELETED ---


--- bind-9.5-gssapi-header.patch DELETED ---




More information about the fedora-extras-commits mailing list