rpms/bind/F-11 bind-96-dyndb.patch,1.6,1.7

Martin Nagy mnagy at fedoraproject.org
Tue Apr 28 17:18:36 UTC 2009


Author: mnagy

Update of /cvs/extras/rpms/bind/F-11
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv1304

Modified Files:
	bind-96-dyndb.patch 
Log Message:
* Mon Apr 27 2009 Martin Nagy <mnagy redhat com> 32:9.6.1-0.3.b1
- update the patch for dynamic loading of database backends
- create %{_libdir}/bind directory


bind-96-dyndb.patch:

Index: bind-96-dyndb.patch
===================================================================
RCS file: /cvs/extras/rpms/bind/F-11/bind-96-dyndb.patch,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- bind-96-dyndb.patch	24 Apr 2009 15:30:40 -0000	1.6
+++ bind-96-dyndb.patch	28 Apr 2009 17:18:06 -0000	1.7
@@ -1,6 +1,5 @@
-diff -up bind-9.6.1b1/bin/named/main.c.dyndb bind-9.6.1b1/bin/named/main.c
---- bind-9.6.1b1/bin/named/main.c.dyndb	2009-01-19 00:47:34.000000000 +0100
-+++ bind-9.6.1b1/bin/named/main.c	2009-04-24 17:09:55.747902371 +0200
+--- a/bin/named/main.c
++++ b/bin/named/main.c
 @@ -44,6 +44,7 @@
  #include <isccc/result.h>
  
@@ -18,9 +17,8 @@ diff -up bind-9.6.1b1/bin/named/main.c.d
  	dns_name_destroy();
  
  	isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
-diff -up bind-9.6.1b1/bin/named/server.c.dyndb bind-9.6.1b1/bin/named/server.c
---- bind-9.6.1b1/bin/named/server.c.dyndb	2009-01-30 04:53:38.000000000 +0100
-+++ bind-9.6.1b1/bin/named/server.c	2009-04-24 17:12:06.467623220 +0200
+--- a/bin/named/server.c
++++ b/bin/named/server.c
 @@ -57,6 +57,7 @@
  #ifdef DLZ
  #include <dns/dlz.h>
@@ -110,8 +108,8 @@ diff -up bind-9.6.1b1/bin/named/server.c
  	const cfg_obj_t *disabled;
  	const cfg_obj_t *obj;
  	const cfg_listelt_t *element;
-@@ -1238,6 +1306,37 @@ configure_view(dns_view_t *view, const c
- 		view->maxncachettl = 7 * 24 * 3600;
+@@ -1189,6 +1257,37 @@ configure_view(dns_view_t *view, const c
+ #endif
  
  	/*
 +	 * Configure dynamic databases.
@@ -145,9 +143,9 @@ diff -up bind-9.6.1b1/bin/named/server.c
 +	}
 +
 +	/*
- 	 * Configure the view's cache.  Try to reuse an existing
- 	 * cache if possible, otherwise create a new cache.
- 	 * Note that the ADB is not preserved in either case.
+ 	 * Obtain configuration parameters that affect the decision of whether
+ 	 * we can reuse/share an existing cache.
+ 	 */
 @@ -2942,6 +3041,7 @@ load_configuration(const char *filename,
  	result = isc_task_beginexclusive(server->task);
  	RUNTIME_CHECK(result == ISC_R_SUCCESS);
@@ -165,10 +163,42 @@ diff -up bind-9.6.1b1/bin/named/server.c
  	CHECK(loadconfig(server));
  
  	result = load_zones(server, ISC_FALSE);
-diff -up /dev/null bind-9.6.1b1/lib/dns/dynamic_db.c
---- /dev/null	2009-04-24 12:29:41.524001256 +0200
-+++ bind-9.6.1b1/lib/dns/dynamic_db.c	2009-04-24 17:09:55.751902027 +0200
-@@ -0,0 +1,347 @@
+--- a/lib/dns/Makefile.in
++++ b/lib/dns/Makefile.in
+@@ -57,7 +57,8 @@ DSTOBJS =	@DST_EXTRA_OBJS@ \
+ DNSOBJS =	acache. at O@ acl. at O@ adb. at O@ byaddr. at O@ \
+ 		cache. at O@ callbacks. at O@ compress. at O@ \
+ 		db. at O@ dbiterator. at O@ dbtable. at O@ diff. at O@ dispatch. at O@ \
+-		dlz. at O@ dnssec. at O@ ds. at O@ forward. at O@ iptable. at O@ journal. at O@ \
++		dlz. at O@ dnssec. at O@ ds. at O@ dynamic_db. at O@ forward. at O@ \
++		iptable. at O@ journal. at O@ \
+ 		keytable. at O@ lib. at O@ log. at O@ lookup. at O@ \
+ 		master. at O@ masterdump. at O@ message. at O@ \
+ 		name. at O@ ncache. at O@ nsec. at O@ nsec3. at O@ order. at O@ peer. at O@ portlist. at O@ \
+@@ -83,7 +84,7 @@ DSTSRCS =	@DST_EXTRA_SRCS@ \
+ DNSSRCS =	acache.c acl.c adb.c byaddr.c \
+ 		cache.c callbacks.c compress.c \
+ 		db.c dbiterator.c dbtable.c diff.c dispatch.c \
+-		dlz.c dnssec.c ds.c forward.c iptable.c journal.c \
++		dlz.c dnssec.c ds.c dynamic_db.c forward.c iptable.c journal.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 \
+@@ -114,6 +115,11 @@ version. at O@: version.c
+ 		-DLIBAGE=${LIBAGE} \
+ 		-c ${srcdir}/version.c
+ 
++dynamic_db. at O@: dynamic_db.c
++	${LIBTOOL_MODE_COMPILE} ${CC} ${ALL_CFLAGS} \
++	-DDYNDB_LIBDIR=\"@libdir@/bind/\" \
++	-c ${srcdir}/dynamic_db.c
++
+ libdns. at SA@: ${OBJS}
+ 	${AR} ${ARFLAGS} $@ ${OBJS}
+ 	${RANLIB} $@
+--- /dev/null
++++ b/lib/dns/dynamic_db.c
+@@ -0,0 +1,364 @@
 +/*
 + * Copyright (C) 2008-2009  Red Hat, Inc.
 + *
@@ -188,10 +218,12 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/
 +
 +#include <config.h>
 +
++#include <isc/buffer.h>
 +#include <isc/mem.h>
 +#include <isc/mutex.h>
 +#include <isc/once.h>
 +#include <isc/result.h>
++#include <isc/region.h>
 +#include <isc/task.h>
 +#include <isc/types.h>
 +#include <isc/util.h>
@@ -208,6 +240,10 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/
 +#include <dlfcn.h>
 +#endif
 +
++#ifndef DYNDB_LIBDIR
++#define DYNDB_LIBDIR ""
++#endif
++
 +#define CHECK(op)						\
 +	do { result = (op);					\
 +		if (result != ISC_R_SUCCESS) goto cleanup;	\
@@ -280,6 +316,9 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/
 +load_library(isc_mem_t *mctx, const char *filename, dyndb_implementation_t **impp)
 +{
 +	isc_result_t result;
++	size_t module_size;
++	isc_buffer_t *module_buf = NULL;
++	isc_region_t module_region;
 +	void *handle;
 +	dyndb_implementation_t *imp;
 +	register_func_t register_function = NULL;
@@ -287,7 +326,15 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/
 +
 +	REQUIRE(impp != NULL && *impp == NULL);
 +
-+	handle = dlopen(filename, RTLD_LAZY);
++	/* Build up the full path. */
++	module_size = strlen(DYNDB_LIBDIR) + strlen(filename) + 1;
++	CHECK(isc_buffer_allocate(mctx, &module_buf, module_size));
++	isc_buffer_putstr(module_buf, DYNDB_LIBDIR);
++	isc_buffer_putstr(module_buf, filename);
++	isc_buffer_putuint8(module_buf, 0);
++	isc_buffer_region(module_buf, &module_region);
++
++	handle = dlopen((char *)module_region.base, RTLD_LAZY);
 +	if (handle == NULL) {
 +		isc_log_write(dns_lctx, DNS_LOGCATEGORY_DATABASE,
 +			      DNS_LOGMODULE_DYNDB, ISC_LOG_ERROR,
@@ -318,11 +365,11 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/
 +
 +	*impp = imp;
 +
-+	return ISC_R_SUCCESS;
-+
 +cleanup:
-+	if (handle != NULL)
++	if (result != ISC_R_SUCCESS && handle != NULL)
 +		dlclose(handle);
++	if (module_buf != NULL)
++		isc_buffer_free(&module_buf);
 +
 +	return result;
 +}
@@ -516,9 +563,19 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/
 +
 +	return args->timermgr;
 +}
-diff -up /dev/null bind-9.6.1b1/lib/dns/include/dns/dynamic_db.h
---- /dev/null	2009-04-24 12:29:41.524001256 +0200
-+++ bind-9.6.1b1/lib/dns/include/dns/dynamic_db.h	2009-04-24 17:09:55.755932610 +0200
+--- a/lib/dns/include/dns/Makefile.in
++++ b/lib/dns/include/dns/Makefile.in
+@@ -23,7 +23,7 @@ top_srcdir =	@top_srcdir@
+ 
+ HEADERS =	acl.h adb.h byaddr.h cache.h callbacks.h \
+ 		cert.h compress.h \
+-		db.h dbiterator.h dbtable.h diff.h dispatch.h dlz.h \
++		db.h dbiterator.h dbtable.h diff.h dispatch.h dlz.h dynamic_db.h \
+ 		dnssec.h ds.h events.h fixedname.h iptable.h journal.h keyflags.h \
+ 		keytable.h keyvalues.h lib.h log.h master.h masterdump.h \
+ 		message.h name.h ncache.h \
+--- /dev/null
++++ b/lib/dns/include/dns/dynamic_db.h
 @@ -0,0 +1,50 @@
 +/*
 + * Copyright (C) 2008-2009  Red Hat, Inc.
@@ -570,9 +627,8 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/
 +isc_timermgr_t *dns_dyndb_get_timermgr(dns_dyndb_arguments_t *args);
 +
 +#endif
-diff -up bind-9.6.1b1/lib/dns/include/dns/log.h.dyndb bind-9.6.1b1/lib/dns/include/dns/log.h
---- bind-9.6.1b1/lib/dns/include/dns/log.h.dyndb	2009-01-19 00:47:41.000000000 +0100
-+++ bind-9.6.1b1/lib/dns/include/dns/log.h	2009-04-24 17:09:55.755932610 +0200
+--- a/lib/dns/include/dns/log.h
++++ b/lib/dns/include/dns/log.h
 @@ -73,6 +73,7 @@ LIBDNS_EXTERNAL_DATA extern isc_logmodul
  #define DNS_LOGMODULE_HINTS		(&dns_modules[24])
  #define DNS_LOGMODULE_ACACHE		(&dns_modules[25])
@@ -581,21 +637,8 @@ diff -up bind-9.6.1b1/lib/dns/include/dn
  
  ISC_LANG_BEGINDECLS
  
-diff -up bind-9.6.1b1/lib/dns/include/dns/Makefile.in.dyndb bind-9.6.1b1/lib/dns/include/dns/Makefile.in
---- bind-9.6.1b1/lib/dns/include/dns/Makefile.in.dyndb	2008-11-15 00:47:33.000000000 +0100
-+++ bind-9.6.1b1/lib/dns/include/dns/Makefile.in	2009-04-24 17:09:55.755932610 +0200
-@@ -23,7 +23,7 @@ top_srcdir =	@top_srcdir@
- 
- HEADERS =	acl.h adb.h byaddr.h cache.h callbacks.h \
- 		cert.h compress.h \
--		db.h dbiterator.h dbtable.h diff.h dispatch.h dlz.h \
-+		db.h dbiterator.h dbtable.h diff.h dispatch.h dlz.h dynamic_db.h \
- 		dnssec.h ds.h events.h fixedname.h iptable.h journal.h keyflags.h \
- 		keytable.h keyvalues.h lib.h log.h master.h masterdump.h \
- 		message.h name.h ncache.h \
-diff -up bind-9.6.1b1/lib/dns/include/dns/types.h.dyndb bind-9.6.1b1/lib/dns/include/dns/types.h
---- bind-9.6.1b1/lib/dns/include/dns/types.h.dyndb	2009-01-29 23:40:35.000000000 +0100
-+++ bind-9.6.1b1/lib/dns/include/dns/types.h	2009-04-24 17:09:55.755932610 +0200
+--- a/lib/dns/include/dns/types.h
++++ b/lib/dns/include/dns/types.h
 @@ -56,6 +56,7 @@ typedef struct dns_dbtable			dns_dbtable
  typedef void					dns_dbversion_t;
  typedef struct dns_dlzimplementation		dns_dlzimplementation_t;
@@ -604,9 +647,8 @@ diff -up bind-9.6.1b1/lib/dns/include/dn
  typedef struct dns_sdlzimplementation		dns_sdlzimplementation_t;
  typedef struct dns_decompress			dns_decompress_t;
  typedef struct dns_dispatch			dns_dispatch_t;
-diff -up bind-9.6.1b1/lib/dns/log.c.dyndb bind-9.6.1b1/lib/dns/log.c
---- bind-9.6.1b1/lib/dns/log.c.dyndb	2007-06-19 01:47:40.000000000 +0200
-+++ bind-9.6.1b1/lib/dns/log.c	2009-04-24 17:09:55.755932610 +0200
+--- a/lib/dns/log.c
++++ b/lib/dns/log.c
 @@ -79,6 +79,7 @@ LIBDNS_EXTERNAL_DATA isc_logmodule_t dns
  	{ "dns/hints",		0 },
  	{ "dns/acache",		0 },
@@ -615,31 +657,8 @@ diff -up bind-9.6.1b1/lib/dns/log.c.dynd
  	{ NULL, 		0 }
  };
  
-diff -up bind-9.6.1b1/lib/dns/Makefile.in.dyndb bind-9.6.1b1/lib/dns/Makefile.in
---- bind-9.6.1b1/lib/dns/Makefile.in.dyndb	2009-04-24 17:09:55.739922815 +0200
-+++ bind-9.6.1b1/lib/dns/Makefile.in	2009-04-24 17:09:55.751902027 +0200
-@@ -57,7 +57,8 @@ DSTOBJS =	@DST_EXTRA_OBJS@ \
- DNSOBJS =	acache. at O@ acl. at O@ adb. at O@ byaddr. at O@ \
- 		cache. at O@ callbacks. at O@ compress. at O@ \
- 		db. at O@ dbiterator. at O@ dbtable. at O@ diff. at O@ dispatch. at O@ \
--		dlz. at O@ dnssec. at O@ ds. at O@ forward. at O@ iptable. at O@ journal. at O@ \
-+		dlz. at O@ dnssec. at O@ ds. at O@ dynamic_db. at O@ forward. at O@ \
-+		iptable. at O@ journal. at O@ \
- 		keytable. at O@ lib. at O@ log. at O@ lookup. at O@ \
- 		master. at O@ masterdump. at O@ message. at O@ \
- 		name. at O@ ncache. at O@ nsec. at O@ nsec3. at O@ order. at O@ peer. at O@ portlist. at O@ \
-@@ -83,7 +84,7 @@ DSTSRCS =	@DST_EXTRA_SRCS@ \
- DNSSRCS =	acache.c acl.c adb.c byaddr.c \
- 		cache.c callbacks.c compress.c \
- 		db.c dbiterator.c dbtable.c diff.c dispatch.c \
--		dlz.c dnssec.c ds.c forward.c iptable.c journal.c \
-+		dlz.c dnssec.c ds.c dynamic_db.c forward.c iptable.c journal.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 \
-diff -up bind-9.6.1b1/lib/isccfg/namedconf.c.dyndb bind-9.6.1b1/lib/isccfg/namedconf.c
---- bind-9.6.1b1/lib/isccfg/namedconf.c.dyndb	2008-09-28 01:35:31.000000000 +0200
-+++ bind-9.6.1b1/lib/isccfg/namedconf.c	2009-04-24 17:09:55.755932610 +0200
+--- a/lib/isccfg/namedconf.c
++++ b/lib/isccfg/namedconf.c
 @@ -78,6 +78,7 @@ static cfg_type_t cfg_type_controls;
  static cfg_type_t cfg_type_controls_sockaddr;
  static cfg_type_t cfg_type_destinationlist;




More information about the scm-commits mailing list