rpms/bind/devel bind-9.5-PIE.patch, NONE, 1.1 bind-9.5-sdb-sqlite-bld.patch, NONE, 1.1 .cvsignore, 1.37, 1.38 bind-9.4.1-ldap-api.patch, 1.2, 1.3 bind-9.5-libidn.patch, 1.1, 1.2 bind-9.5-sdb.patch, 1.1, 1.2 bind-9.5-transfer-segv.patch, 1.1, 1.2 bind.spec, 1.246, 1.247 sources, 1.46, 1.47 bind-9.3.2b1-PIE.patch, 1.2, NONE bind-9.4.0-sdb-sqlite-bld.patch, 1.3, NONE 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
Mon Feb 11 17:12:28 UTC 2008


Author: atkac

Update of /cvs/pkgs/rpms/bind/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv15076

Modified Files:
	.cvsignore bind-9.4.1-ldap-api.patch bind-9.5-libidn.patch 
	bind-9.5-sdb.patch bind-9.5-transfer-segv.patch bind.spec 
	sources 
Added Files:
	bind-9.5-PIE.patch bind-9.5-sdb-sqlite-bld.patch 
Removed Files:
	bind-9.3.2b1-PIE.patch bind-9.4.0-sdb-sqlite-bld.patch 
	bind-9.5-CVE-2008-0122.patch bind-9.5-gssapi-header.patch 
Log Message:
- build with -D_GNU_SOURCE (#431734)
- improved fix for #253537, posttrans script is now used
- improved fix for #400461
- 9.5.0b2
  - bind-9.3.2b1-PIE.patch replaced by bind-9.5-PIE.patch
    - only named, named-sdb and lwresd are PIE
  - bind-9.5-sdb.patch has been updated
  - bind-9.5-libidn.patch has been updated
  - bind-9.4.0-sdb-sqlite-bld.patch replaced by bind-9.5-sdb-sqlite-bld.patch
  - removed bind-9.5-gssapi-header.patch (upstream)
  - removed bind-9.5-CVE-2008-0122.patch (upstream)
- removed bind-9.2.2-nsl.patch


bind-9.5-PIE.patch:

--- NEW FILE bind-9.5-PIE.patch ---
--- bind-9.5.0b2/bin/named/Makefile.in.pie	2008-02-11 17:21:47.000000000 +0100
+++ bind-9.5.0b2/bin/named/Makefile.in	2008-02-11 17:22:10.000000000 +0100
@@ -100,8 +100,12 @@ HTMLPAGES =	named.html lwresd.html named
 
 MANOBJS =	${MANPAGES} ${HTMLPAGES}
 
+EXT_CFLAGS = -fpie
+
 @BIND9_MAKE_RULES@
 
+LDFLAGS += -pie -Wl,-z,relro,-z,now,-z,nodlopen,-z,noexecstack
+
 main. at O@: main.c
 	${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
 		-DVERSION=\"${VERSION}\" \
diff -up bind-9.5.0b2/bin/named/unix/Makefile.in.pie bind-9.5.0b2/bin/named/unix/Makefile.in
--- bind-9.5.0b2/bin/named/unix/Makefile.in.pie	2008-02-11 17:22:21.000000000 +0100
+++ bind-9.5.0b2/bin/named/unix/Makefile.in	2008-02-11 17:23:00.000000000 +0100
@@ -19,6 +19,8 @@ srcdir =	@srcdir@
 VPATH =		@srcdir@
 top_srcdir =	@top_srcdir@
 
+EXT_CFLAGS = -fpie
+
 @BIND9_MAKE_INCLUDES@
 
 CINCLUDES =	-I${srcdir}/include -I${srcdir}/../include \

bind-9.5-sdb-sqlite-bld.patch:

--- NEW FILE bind-9.5-sdb-sqlite-bld.patch ---
diff -up bind-9.5.0b2/bin/named/Makefile.in.sdb-sqlite-bld bind-9.5.0b2/bin/named/Makefile.in
--- bind-9.5.0b2/bin/named/Makefile.in.sdb-sqlite-bld	2008-02-11 17:44:32.000000000 +0100
+++ bind-9.5.0b2/bin/named/Makefile.in	2008-02-11 17:46:00.000000000 +0100
@@ -26,10 +26,10 @@ top_srcdir =	@top_srcdir@
 #
 # Add database drivers here.
 #
-DBDRIVER_OBJS =      ldapdb. at O@   pgsqldb. at O@  dirdb. at O@
-DBDRIVER_SRCS =      ldapdb.c     pgsqldb.c    dirdb.c
+DBDRIVER_OBJS =      ldapdb. at O@   pgsqldb. at O@  sqlitedb. at O@ dirdb. at O@
+DBDRIVER_SRCS =      ldapdb.c     pgsqldb.c    sqlitedb.c   dirdb.c
 DBDRIVER_INCLUDES =
-DBDRIVER_LIBS =      -lldap -llber  -lpq
+DBDRIVER_LIBS =      -lldap -llber  -lpq  -lsqlite3
 
 DLZ_DRIVER_DIR =	${top_srcdir}/contrib/dlz/drivers
 
diff -up bind-9.5.0b2/bin/named/main-sdb.c.sdb-sqlite-bld bind-9.5.0b2/bin/named/main-sdb.c
--- bind-9.5.0b2/bin/named/main-sdb.c.sdb-sqlite-bld	2008-02-11 17:44:32.000000000 +0100
+++ bind-9.5.0b2/bin/named/main-sdb.c	2008-02-11 17:44:33.000000000 +0100
@@ -74,6 +74,7 @@
 /* #include "xxdb.h" */
 #include "ldapdb.h"
 #include "pgsqldb.h"
+#include "sqlitedb.h"
 #include "dirdb.h"
 
 /*
@@ -646,6 +647,7 @@ setup(void) {
 
 	ldapdb_clear();
 	pgsqldb_clear();
+	sqlitedb_clear();
 	dirdb_clear();
 
 	isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
@@ -743,6 +745,23 @@ setup(void) {
                           ISC_LOG_NOTICE, "SDB postgreSQL DB zone database module loaded."
                          );
 
+        result = sqlitedb_init();
+        if (result != ISC_R_SUCCESS)
+        {
+             isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
+                          ISC_LOG_ERROR, 
+                          "SDB sqlite3 module initialisation failed: %s.",
+                          isc_result_totext(result)
+                );
+            isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
+                          ISC_LOG_ERROR, 
+                          "SDB sqlite3 zone database will be unavailable."
+                );
+        }else
+            isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
+                          ISC_LOG_NOTICE, "SDB sqlite3 DB zone database module loaded."
+                         );
+
         result = dirdb_init();
         if (result != ISC_R_SUCCESS)
         {
@@ -787,6 +806,7 @@ cleanup(void) {
 
         ldapdb_clear();
         pgsqldb_clear();
+        sqlitedb_clear();
         dirdb_clear();
 
 	isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
diff -up bind-9.5.0b2/bin/sdb_tools/Makefile.in.sdb-sqlite-bld bind-9.5.0b2/bin/sdb_tools/Makefile.in
--- bind-9.5.0b2/bin/sdb_tools/Makefile.in.sdb-sqlite-bld	2008-02-11 17:44:33.000000000 +0100
+++ bind-9.5.0b2/bin/sdb_tools/Makefile.in	2008-02-11 17:44:33.000000000 +0100
@@ -30,11 +30,11 @@ DEPLIBS =	${LWRESDEPLIBS} ${DNSDEPLIBS} 
 LIBS =		${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \
 		${ISCCFGLIBS} ${ISCCCLIBS} ${ISCLIBS} ${DBDRIVER_LIBS} @LIBS@
 
-TARGETS =	zone2ldap at EXEEXT@ ldap2zone at EXEEXT@ zonetodb at EXEEXT@
+TARGETS =	zone2ldap at EXEEXT@ ldap2zone at EXEEXT@ zonetodb at EXEEXT@ zone2sqlite at EXEEXT@
 
-OBJS	=	zone2ldap.o ldap2zone.o zonetodb.o
+OBJS	=	zone2ldap.o ldap2zone.o zonetodb.o zone2sqlite
 
-SRCS    =       zone2ldap.c ldap2zone.c zonetodb.c
+SRCS    =       zone2ldap.c ldap2zone.c zonetodb.c zone2sqlite.c
 
 MANPAGES =      zone2ldap.1
 
@@ -54,6 +54,9 @@ zone2ldap:	zone2ldap.o ${DEPLIBS}
 zonetodb:	zonetodb.o  ${DEPLIBS}
 	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ zonetodb.o -lpq ${LIBS}
 
+zone2sqlite:	zone2sqlite.o  ${DEPLIBS}
+	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ zone2sqlite.o -lsqlite3 -lssl ${LIBS}
+
 ldap2zone:	ldap2zone.o ${DEPLIBS}
 	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ ldap2zone.o -lldap -llber ${LIBS}
 
@@ -68,4 +71,5 @@ install:: ${TARGETS} installdirs
 	${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} zone2ldap ${DESTDIR}${sbindir}
 	${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} ldap2zone ${DESTDIR}${sbindir}
 	${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} zonetodb  ${DESTDIR}${sbindir}
+	${LIBTOOL_MODE_INSTALL} ${INSTALL_PROGRAM} zone2sqlite  ${DESTDIR}${sbindir}
 	${INSTALL_DATA} ${srcdir}/zone2ldap.1 ${DESTDIR}${mandir}/man1/zone2ldap.1


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/bind/devel/.cvsignore,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -r1.37 -r1.38
--- .cvsignore	6 Dec 2007 19:51:15 -0000	1.37
+++ .cvsignore	11 Feb 2008 17:11:26 -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.4.1-ldap-api.patch:

Index: bind-9.4.1-ldap-api.patch
===================================================================
RCS file: /cvs/pkgs/rpms/bind/devel/bind-9.4.1-ldap-api.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- bind-9.4.1-ldap-api.patch	20 Jul 2007 11:31:19 -0000	1.2
+++ bind-9.4.1-ldap-api.patch	11 Feb 2008 17:11:26 -0000	1.3
@@ -4,8 +4,8 @@
  
  MANOBJS =	${MANPAGES} ${HTMLPAGES}
  
--EXT_CFLAGS = -fPIE
-+EXT_CFLAGS = -fPIE -DLDAP_DEPRECATED
+-EXT_CFLAGS = -fpie
++EXT_CFLAGS = -fpie -DLDAP_DEPRECATED
  
  @BIND9_MAKE_RULES@
  

bind-9.5-libidn.patch:

Index: bind-9.5-libidn.patch
===================================================================
RCS file: /cvs/pkgs/rpms/bind/devel/bind-9.5-libidn.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- bind-9.5-libidn.patch	30 Jul 2007 13:34:39 -0000	1.1
+++ bind-9.5-libidn.patch	11 Feb 2008 17:11:26 -0000	1.2
@@ -1,6 +1,6 @@
-diff -up bind-9.5.0a6/bin/dig/Makefile.in.libidn bind-9.5.0a6/bin/dig/Makefile.in
---- bind-9.5.0a6/bin/dig/Makefile.in.libidn	2007-07-29 13:17:00.000000000 +0200
-+++ bind-9.5.0a6/bin/dig/Makefile.in	2007-07-29 13:17:01.000000000 +0200
+diff -up bind-9.5.0b2/bin/dig/Makefile.in.libidn bind-9.5.0b2/bin/dig/Makefile.in
+--- bind-9.5.0b2/bin/dig/Makefile.in.libidn	2007-06-20 01:46:59.000000000 +0200
++++ bind-9.5.0b2/bin/dig/Makefile.in	2008-02-11 17:50:08.000000000 +0100
 @@ -45,7 +45,7 @@ DEPLIBS =	${DNSDEPLIBS} ${BIND9DEPLIBS} 
  		${LWRESDEPLIBS}
  
@@ -10,18 +10,18 @@
  
  SUBDIRS =
  
-@@ -63,7 +63,7 @@ HTMLPAGES =	dig.html host.html nslookup.
+@@ -63,6 +63,8 @@ HTMLPAGES =	dig.html host.html nslookup.
  
  MANOBJS =	${MANPAGES} ${HTMLPAGES}
  
--EXT_CFLAGS = -fPIE
-+EXT_CFLAGS = -fPIE -DWITH_LIBIDN
- 
++EXT_CFLAGS = -DWITH_LIBIDN
++
  @BIND9_MAKE_RULES@
  
-diff -up bind-9.5.0a6/bin/dig/dighost.c.libidn bind-9.5.0a6/bin/dig/dighost.c
---- bind-9.5.0a6/bin/dig/dighost.c.libidn	2007-06-19 01:47:17.000000000 +0200
-+++ bind-9.5.0a6/bin/dig/dighost.c	2007-07-30 14:58:19.000000000 +0200
+ dig at EXEEXT@: dig. at O@ dighost. at O@ ${UOBJS} ${DEPLIBS}
+diff -up bind-9.5.0b2/bin/dig/dighost.c.libidn bind-9.5.0b2/bin/dig/dighost.c
+--- bind-9.5.0b2/bin/dig/dighost.c.libidn	2008-01-18 00:46:35.000000000 +0100
++++ bind-9.5.0b2/bin/dig/dighost.c	2008-02-11 17:49:03.000000000 +0100
 @@ -44,6 +44,11 @@
  #include <idn/api.h>
  #endif
@@ -49,7 +49,7 @@
  /*%
   * Exit Codes:
   *
-@@ -1002,6 +1015,9 @@ void
+@@ -1004,6 +1017,9 @@ void
  setup_system(void) {
  	dig_searchlist_t *domain = NULL;
  	lwres_result_t lwresult;
@@ -59,7 +59,7 @@
  
  	debug("setup_system()");
  
-@@ -1050,8 +1066,15 @@ setup_system(void) {
+@@ -1052,8 +1068,15 @@ setup_system(void) {
  
  #ifdef WITH_IDN
  	initialize_idn();
@@ -76,7 +76,7 @@
  	if (keyfile[0] != 0)
  		setup_file_key();
  	else if (keysecret[0] != 0)
-@@ -1740,12 +1763,18 @@ setup_lookup(dig_lookup_t *lookup) {
+@@ -1743,12 +1766,18 @@ setup_lookup(dig_lookup_t *lookup) {
  	idn_result_t mr;
  	char utf8_textname[MXNAME], utf8_origin[MXNAME], idn_textname[MXNAME];
  #endif
@@ -96,7 +96,7 @@
  	REQUIRE(lookup != NULL);
  	INSIST(!free_now);
  
-@@ -1782,6 +1811,16 @@ setup_lookup(dig_lookup_t *lookup) {
+@@ -1785,6 +1814,16 @@ 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");
@@ -113,7 +113,7 @@
  #endif
  
  	/*
-@@ -1801,6 +1840,15 @@ setup_lookup(dig_lookup_t *lookup) {
+@@ -1804,6 +1843,15 @@ setup_lookup(dig_lookup_t *lookup) {
  			lookup->origin = ISC_LIST_HEAD(search_list);
  			lookup->need_search = ISC_FALSE;
  		}
@@ -129,7 +129,7 @@
  #else
  		if ((count_dots(lookup->textname) >= ndots) || !usesearch) {
  			lookup->origin = NULL; /* Force abs lookup */
-@@ -1827,6 +1875,20 @@ setup_lookup(dig_lookup_t *lookup) {
+@@ -1830,6 +1878,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");
@@ -150,7 +150,7 @@
  #else
  	if (lookup->origin != NULL) {
  		debug("trying origin %s", lookup->origin->origin);
-@@ -1883,6 +1945,14 @@ setup_lookup(dig_lookup_t *lookup) {
+@@ -1886,6 +1948,14 @@ setup_lookup(dig_lookup_t *lookup) {
  						   dns_rootname,
  						   ISC_FALSE,
  						   &lookup->namebuf);
@@ -165,7 +165,7 @@
  #else
  			len = strlen(lookup->textname);
  			isc_buffer_init(&b, lookup->textname, len);
-@@ -3310,7 +3380,7 @@ destroy_libs(void) {
+@@ -3317,7 +3387,7 @@ destroy_libs(void) {
  	void * ptr;
  	dig_message_t *chase_msg;
  #endif
@@ -174,9 +174,9 @@
  	isc_result_t result;
  #endif
  
-@@ -3349,6 +3419,10 @@ destroy_libs(void) {
-         result = dns_name_settotextfilter(NULL);
-         check_result(result, "dns_name_settotextfilter");
+@@ -3356,6 +3426,10 @@ destroy_libs(void) {
+ 	result = dns_name_settotextfilter(NULL);
+ 	check_result(result, "dns_name_settotextfilter");
  #endif
 +#ifdef WITH_LIBIDN
 +	result = dns_name_settotextfilter (NULL);
@@ -185,7 +185,7 @@
  	dns_name_destroy();
  
  	if (commctx != NULL) {
-@@ -3525,6 +3599,79 @@ idn_check_result(idn_result_t r, const c
+@@ -3532,6 +3606,79 @@ idn_check_result(idn_result_t r, const c
  	}
  }
  #endif /* WITH_IDN */

bind-9.5-sdb.patch:

Index: bind-9.5-sdb.patch
===================================================================
RCS file: /cvs/pkgs/rpms/bind/devel/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:49:41 -0000	1.1
+++ bind-9.5-sdb.patch	11 Feb 2008 17:11:26 -0000	1.2
@@ -1,7 +1,7 @@
-diff -up bind-9.5.0a6/configure.in.sdb bind-9.5.0a6/configure.in
---- bind-9.5.0a6/configure.in.sdb	2007-06-19 01:47:16.000000000 +0200
-+++ bind-9.5.0a6/configure.in	2007-11-15 10:10:06.000000000 +0100
-@@ -2735,6 +2735,7 @@ AC_CONFIG_FILES([
+diff -up bind-9.5.0b2/configure.in.sdb bind-9.5.0b2/configure.in
+--- bind-9.5.0b2/configure.in.sdb	2008-01-24 03:29:56.000000000 +0100
++++ bind-9.5.0b2/configure.in	2008-02-11 17:32:43.000000000 +0100
+@@ -2782,6 +2782,7 @@ AC_CONFIG_FILES([
  	bin/tests/system/tkey/Makefile
  	bin/tests/headerdep_test.sh
  	bin/dnssec/Makefile
@@ -9,9 +9,9 @@
  	doc/Makefile
  	doc/arm/Makefile
  	doc/misc/Makefile
-diff -up bind-9.5.0a6/bin/Makefile.in.sdb bind-9.5.0a6/bin/Makefile.in
---- bind-9.5.0a6/bin/Makefile.in.sdb	2007-06-20 01:46:59.000000000 +0200
-+++ bind-9.5.0a6/bin/Makefile.in	2007-11-15 10:10:06.000000000 +0100
+diff -up bind-9.5.0b2/bin/Makefile.in.sdb bind-9.5.0b2/bin/Makefile.in
+--- bind-9.5.0b2/bin/Makefile.in.sdb	2007-06-20 01:46:59.000000000 +0200
++++ bind-9.5.0b2/bin/Makefile.in	2008-02-11 17:32:43.000000000 +0100
 @@ -19,7 +19,7 @@ srcdir =	@srcdir@
  VPATH =		@srcdir@
  top_srcdir =	@top_srcdir@
@@ -21,16 +21,16 @@
  TARGETS =
  
  @BIND9_MAKE_RULES@
-diff -up bind-9.5.0a6/bin/named/Makefile.in.sdb bind-9.5.0a6/bin/named/Makefile.in
---- bind-9.5.0a6/bin/named/Makefile.in.sdb	2007-11-15 10:10:06.000000000 +0100
-+++ bind-9.5.0a6/bin/named/Makefile.in	2007-11-15 10:11:56.000000000 +0100
+diff -up bind-9.5.0b2/bin/named/Makefile.in.sdb bind-9.5.0b2/bin/named/Makefile.in
+--- bind-9.5.0b2/bin/named/Makefile.in.sdb	2008-02-11 17:32:43.000000000 +0100
++++ bind-9.5.0b2/bin/named/Makefile.in	2008-02-11 17:43:50.000000000 +0100
 @@ -26,10 +26,10 @@ top_srcdir =	@top_srcdir@
  #
  # Add database drivers here.
  #
 -DBDRIVER_OBJS =
 -DBDRIVER_SRCS =
-+DBDRIVER_OBJS =      ldapdb.o     pgsqldb.o    dirdb.o
++DBDRIVER_OBJS =      ldapdb. at O@   pgsqldb. at O@  dirdb. at O@
 +DBDRIVER_SRCS =      ldapdb.c     pgsqldb.c    dirdb.c
  DBDRIVER_INCLUDES =
 -DBDRIVER_LIBS =
@@ -47,7 +47,7 @@
  
  CWARNINGS =
  
-@@ -66,21 +66,20 @@ DEPLIBS =	${LWRESDEPLIBS} ${DNSDEPLIBS} 
+@@ -66,27 +66,26 @@ DEPLIBS =	${LWRESDEPLIBS} ${DNSDEPLIBS} 
  
  LIBS =		${LWRESLIBS} ${DNSLIBS} ${BIND9LIBS} \
  		${ISCCFGLIBS} ${ISCCCLIBS} ${ISCLIBS} \
@@ -59,50 +59,48 @@
 -TARGETS =	named at EXEEXT@ lwresd at EXEEXT@
 +TARGETS =	named at EXEEXT@ named-sdb at EXEEXT@ lwresd at EXEEXT@
  
- OBJS =		builtin.o client.o config.o control.o \
- 		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 \
- 		tkeyconf.o tsigconf.o update.o xfrout.o \
- 		zoneconf.o \
- 		lwaddr.o lwresd.o lwdclient.o lwderror.o lwdgabn.o \
- 		lwdgnba.o lwdgrbn.o lwdnoop.o lwsearch.o \
+ 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@ \
++		listenlist. at O@ log. at O@ logconf. at O@ notify. 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@ \
+ 		lwdgnba. at O@ lwdgrbn. at O@ lwdnoop. at O@ lwsearch. at O@ \
 -		${DLZDRIVER_OBJS} ${DBDRIVER_OBJS}
  
- UOBJS =		unix/os.o
- 
-@@ -88,7 +87,7 @@ GENERATED =	bind9.xsl.h
+ UOBJS =		unix/os. at O@
  
  SRCS =		builtin.c client.c config.c control.c \
  		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
+@@ -112,15 +111,26 @@ main. at O@: main.c
  		-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
  		-DNS_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/main.c
  
-+main-sdb.o : main-sdb.c
-+	${CC} ${ALL_CFLAGS} @USE_DLZ@ \
++main-sdb. at O@: main-sdb.c
++	${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} @USE_DLZ@ \
 +		-DVERSION=\"${VERSION}\" \
 +		-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
 +		-DNS_SYSCONFDIR=\"${sysconfdir}\" -c ${srcdir}/main-sdb.c
 +
- config.o: config.c
- 	${CC} ${ALL_CFLAGS} \
+ config. at O@: config.c
+ 	${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
  		-DVERSION=\"${VERSION}\" \
  		-DNS_LOCALSTATEDIR=\"${localstatedir}\" \
  		-c ${srcdir}/config.c
  
 -named at EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS}
-+named at EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS} main.o
++named at EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS} main. at O@
 +	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
-+	${OBJS} main.o ${UOBJS} ${LIBS}
++	${OBJS} main. at O@ ${UOBJS} ${LIBS}
 +
-+named-sdb at EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS} main-sdb.o ${DLZDRIVER_OBJS} ${DBDRIVER_OBJS}
++named-sdb at EXEEXT@: ${OBJS} ${UOBJS} ${DEPLIBS} main-sdb. at O@ ${DLZDRIVER_OBJS} ${DBDRIVER_OBJS}
  	${LIBTOOL_MODE_LINK} ${PURIFY} ${CC} ${CFLAGS} ${LDFLAGS} -o $@ \
 -	${OBJS} ${UOBJS} ${LIBS}
 +	${OBJS} main-sdb.o ${DLZDRIVER_OBJS} ${DBDRIVER_OBJS} ${UOBJS} ${LIBS} \
@@ -110,7 +108,7 @@
  
  lwresd at EXEEXT@: named at EXEEXT@
  	rm -f lwresd at EXEEXT@
-@@ -149,8 +159,9 @@ installdirs:
+@@ -145,8 +155,9 @@ installdirs:
  	$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man5
  	$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man8
  
@@ -121,9 +119,9 @@
  	(cd ${DESTDIR}${sbindir}; rm -f lwresd at EXEEXT@; @LN@ named at EXEEXT@ lwresd at EXEEXT@)
  	${INSTALL_DATA} ${srcdir}/named.8 ${DESTDIR}${mandir}/man8
  	${INSTALL_DATA} ${srcdir}/lwresd.8 ${DESTDIR}${mandir}/man8
-diff -up bind-9.5.0a6/bin/named/main-sdb.c.sdb bind-9.5.0a6/bin/named/main-sdb.c
---- bind-9.5.0a6/bin/named/main-sdb.c.sdb	2007-11-15 10:10:06.000000000 +0100
-+++ bind-9.5.0a6/bin/named/main-sdb.c	2007-11-15 10:10:06.000000000 +0100
+diff -up bind-9.5.0b2/bin/named/main-sdb.c.sdb bind-9.5.0b2/bin/named/main-sdb.c
+--- bind-9.5.0b2/bin/named/main-sdb.c.sdb	2008-02-11 17:32:43.000000000 +0100
++++ bind-9.5.0b2/bin/named/main-sdb.c	2008-02-11 17:32:43.000000000 +0100
 @@ -72,6 +72,9 @@
   * Include header files for database drivers here.
   */

bind-9.5-transfer-segv.patch:

Index: bind-9.5-transfer-segv.patch
===================================================================
RCS file: /cvs/pkgs/rpms/bind/devel/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:10:39 -0000	1.1
+++ bind-9.5-transfer-segv.patch	11 Feb 2008 17:11:26 -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/devel/bind.spec,v
retrieving revision 1.246
retrieving revision 1.247
diff -u -r1.246 -r1.247
--- bind.spec	11 Feb 2008 15:47:01 -0000	1.246
+++ bind.spec	11 Feb 2008 17:11:26 -0000	1.247
@@ -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: 	25.%{RELEASEVER}%{?dist}
+Release: 	26.%{RELEASEVER}%{?dist}
 Epoch:   	32
 Url: 		http://www.isc.org/products/BIND/
 Buildroot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -52,23 +52,20 @@
 Patch0:  	bind-9.2.0rc3-varrun.patch
 Patch1: 	bind-9.3.3rc2-rndckey.patch
 Patch5: 	bind-nonexec.patch
-Patch6: 	bind-9.2.2-nsl.patch
-Patch10: 	bind-9.3.2b1-PIE.patch
+Patch10: 	bind-9.5-PIE.patch
 Patch13: 	bind-9.3.1rc1-fix_libbind_includedir.patch
 Patch16: 	bind-9.3.2-redhat_doc.patch
 Patch63:	bind-9.4.0-dnssec-directory.patch
 Patch69:	bind-9.5.0-generate-xml.patch
 Patch71:	bind-9.5-overflow.patch
 Patch72:	bind-9.5-dlz-64bit.patch
-Patch84:	bind-9.5-gssapi-header.patch
-Patch86:	bind-9.5-CVE-2008-0122.patch
 Patch87:	bind-9.5-parallel-build.patch
 Patch88:	bind-9.5-transfer-segv.patch
 
 # SDB patches
 Patch11: 	bind-9.3.2b2-sdbsrc.patch
 Patch12: 	bind-9.5-sdb.patch
-Patch62:        bind-9.4.0-sdb-sqlite-bld.patch
+Patch62:        bind-9.5-sdb-sqlite-bld.patch
 Patch68:	bind-9.4.1-ldap-api.patch
 
 # needs inpection
@@ -192,7 +189,6 @@
 %patch -p1 -b .varrun
 %patch1 -p1 -b .key
 %patch5 -p1 -b .nonexec
-%patch6 -p1 -b .nsl
 %patch10 -p1 -b .PIE
 %patch69 -p1 -b .generate-xml
 %if %{SDB}
@@ -249,9 +245,7 @@
 %endif
 %patch73 -p1 -b .libidn
 %patch83 -p1 -b .libidn2
-%patch84 -p1 -b .gssapi-header
 %patch85 -p1 -b .libidn3
-%patch86 -p0 -b .CVE-2008-0122
 %patch87 -p1 -b .parallel
 %patch88 -p1 -b .transfer-segv
 :;
@@ -259,6 +253,8 @@
 
 %build
 export CFLAGS="$CFLAGS $RPM_OPT_FLAGS -O0"
+export CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
+export STD_CDEFINES="$CPPFLAGS $STD_CDEFINES"
 
 libtoolize --copy --force; aclocal; autoconf
 cp -f /usr/share/libtool/config.{guess,sub} .
@@ -490,6 +486,13 @@
 fi;
 :;
 
+%posttrans chroot
+if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled && \
+   [ -x /sbin/restorecon ]; then
+	/sbin/restorecon %{chroot_prefix}/dev/* > /dev/null 2>&1;
+fi;
+:;
+
 %preun chroot
 if [ "$1" -eq 0 ]; then
    /usr/sbin/bind-chroot-admin --disable > /dev/null 2>&1;
@@ -654,6 +657,20 @@
 %{_sbindir}/bind-chroot-admin
 
 %changelog
+* Mon Feb 11 2008 Adam Tkac <atkac redhat com> 32:9.5.0-26.b2
+- build with -D_GNU_SOURCE (#431734)
+- improved fix for #253537, posttrans script is now used
+- improved fix for #400461
+- 9.5.0b2
+  - bind-9.3.2b1-PIE.patch replaced by bind-9.5-PIE.patch
+    - only named, named-sdb and lwresd are PIE
+  - bind-9.5-sdb.patch has been updated
+  - bind-9.5-libidn.patch has been updated
+  - bind-9.4.0-sdb-sqlite-bld.patch replaced by bind-9.5-sdb-sqlite-bld.patch
+  - removed bind-9.5-gssapi-header.patch (upstream)
+  - removed bind-9.5-CVE-2008-0122.patch (upstream)
+- removed bind-9.2.2-nsl.patch
+
 * Mon Feb 04 2008 Adam Tkac <atkac redhat com> 32:9.5.0-25.b1
 - fixed segfault during sending notifies (#400461)
 - rebuild with gcc 4.3 series


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/bind/devel/sources,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -r1.46 -r1.47
--- sources	6 Dec 2007 19:51:15 -0000	1.46
+++ sources	11 Feb 2008 17:11:26 -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.3.2b1-PIE.patch DELETED ---


--- bind-9.4.0-sdb-sqlite-bld.patch DELETED ---


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


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




More information about the fedora-extras-commits mailing list