From 92a771e19ee754286387b57e7417b5bc8dcce15c Mon Sep 17 00:00:00 2001 From: Martin Nagy Date: Apr 21 2009 09:33:31 +0000 Subject: - update the patch for dynamic loading of database backends --- diff --git a/bind-96-dyndb.patch b/bind-96-dyndb.patch index 2590b94..6972fdc 100644 --- a/bind-96-dyndb.patch +++ b/bind-96-dyndb.patch @@ -1,6 +1,7 @@ -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-03-30 14:56:54.895136109 +0200 +diff --git a/bin/named/main.c b/bin/named/main.c +index aa6575a..8030e3d 100644 +--- a/bin/named/main.c ++++ b/bin/named/main.c @@ -44,6 +44,7 @@ #include @@ -18,10 +19,11 @@ diff -up bind-9.6.1b1/bin/named/main.c.dyndb bind-9.6.1b1/bin/named/main.c 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-03-30 14:59:00.478136755 +0200 -@@ -57,6 +57,7 @@ +diff --git a/bin/named/server.c b/bin/named/server.c +index 31b2761..5d4077d 100644 +--- a/bin/named/server.c ++++ b/bin/named/server.c +@@ -56,6 +56,7 @@ #ifdef DLZ #include #endif @@ -29,12 +31,12 @@ diff -up bind-9.6.1b1/bin/named/server.c.dyndb bind-9.6.1b1/bin/named/server.c #include #include #include -@@ -849,6 +850,72 @@ configure_peer(const cfg_obj_t *cpeer, i +@@ -849,6 +850,72 @@ configure_peer(const cfg_obj_t *cpeer, isc_mem_t *mctx, dns_peer_t **peerp) { } static isc_result_t +configure_dynamic_db(const cfg_obj_t *dynamic_db, isc_mem_t *mctx, -+ dns_view_t *view, dns_zonemgr_t *zmgr) ++ const dns_dyndb_arguments_t *dyndb_args) +{ + isc_result_t result; + const cfg_obj_t *obj; @@ -88,7 +90,7 @@ diff -up bind-9.6.1b1/bin/named/server.c.dyndb bind-9.6.1b1/bin/named/server.c + REQUIRE(i < len); + argv[i] = NULL; + -+ CHECK(dns_dynamic_db_load(libname, name, mctx, argv, view, zmgr)); ++ CHECK(dns_dynamic_db_load(libname, name, mctx, argv, dyndb_args)); + +cleanup: + if (argv != NULL) @@ -102,7 +104,7 @@ diff -up bind-9.6.1b1/bin/named/server.c.dyndb bind-9.6.1b1/bin/named/server.c disable_algorithms(const cfg_obj_t *disabled, dns_resolver_t *resolver) { isc_result_t result; const cfg_obj_t *algorithms; -@@ -1016,6 +1083,7 @@ configure_view(dns_view_t *view, const c +@@ -999,6 +1066,7 @@ configure_view(dns_view_t *view, const cfg_obj_t *config, unsigned int dlzargc; char **dlzargv; #endif @@ -110,8 +112,8 @@ diff -up bind-9.6.1b1/bin/named/server.c.dyndb 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,22 @@ configure_view(dns_view_t *view, const c - view->maxncachettl = 7 * 24 * 3600; +@@ -1171,6 +1239,37 @@ configure_view(dns_view_t *view, const cfg_obj_t *config, + #endif /* + * Configure dynamic databases. @@ -121,33 +123,72 @@ diff -up bind-9.6.1b1/bin/named/server.c.dyndb bind-9.6.1b1/bin/named/server.c + (void)cfg_map_get(voptions, "dynamic-db", &dynamic_db_list); + else + (void)cfg_map_get(config, "dynamic-db", &dynamic_db_list); -+ for (element = cfg_list_first(dynamic_db_list); -+ element != NULL; -+ element = cfg_list_next(element)) -+ { -+ obj = cfg_listelt_value(element); -+ CHECK(configure_dynamic_db(obj, mctx, view, ns_g_server->zonemgr)); ++ element = cfg_list_first(dynamic_db_list); ++ if (element != NULL) { ++ dns_dyndb_arguments_t *args; ++ ++ args = dns_dyndb_arguments_create(mctx); ++ if (args == NULL) { ++ result = ISC_R_NOMEMORY; ++ goto cleanup; ++ } ++ dns_dyndb_set_view(args, view); ++ dns_dyndb_set_zonemgr(args, ns_g_server->zonemgr); ++ dns_dyndb_set_task(args, ns_g_server->task); ++ dns_dyndb_set_timermgr(args, ns_g_timermgr); ++ while (element != NULL) { ++ obj = cfg_listelt_value(element); ++ CHECK(configure_dynamic_db(obj, mctx, args)); ++ ++ element = cfg_list_next(element); ++ } ++ ++ dns_dyndb_arguments_destroy(mctx, args); + } + + /* * 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. -diff -up /dev/null bind-9.6.1b1/lib/dns/dynamic_db.c ---- /dev/null 2009-03-30 11:37:35.392000941 +0200 -+++ bind-9.6.1b1/lib/dns/dynamic_db.c 2009-03-30 14:56:54.899136384 +0200 -@@ -0,0 +1,240 @@ +diff --git a/lib/dns/Makefile.in b/lib/dns/Makefile.in +index ef5c12a..0f7abba 100644 +--- a/lib/dns/Makefile.in ++++ b/lib/dns/Makefile.in +@@ -57,7 +57,8 @@ DSTOBJS = @DST_EXTRA_OBJS@ \ + DNSOBJS = acache.@O@ acl.@O@ adb.@O@ byaddr.@O@ \ + cache.@O@ callbacks.@O@ compress.@O@ \ + db.@O@ dbiterator.@O@ dbtable.@O@ diff.@O@ dispatch.@O@ \ +- dlz.@O@ dnssec.@O@ ds.@O@ forward.@O@ iptable.@O@ journal.@O@ \ ++ dlz.@O@ dnssec.@O@ ds.@O@ dynamic_db.@O@ forward.@O@ \ ++ iptable.@O@ journal.@O@ \ + keytable.@O@ lib.@O@ log.@O@ lookup.@O@ \ + master.@O@ masterdump.@O@ message.@O@ \ + name.@O@ ncache.@O@ nsec.@O@ nsec3.@O@ order.@O@ peer.@O@ portlist.@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 --git a/lib/dns/dynamic_db.c b/lib/dns/dynamic_db.c +new file mode 100644 +index 0000000..f11584d +--- /dev/null ++++ b/lib/dns/dynamic_db.c +@@ -0,0 +1,346 @@ +/* -+ * Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC") -+ * Copyright (C) 1996-2003 Internet Software Consortium. ++ * Copyright (C) 2008-2009 Red Hat, Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH ++ * THE SOFTWARE IS PROVIDED "AS IS" AND Red Hat DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, ++ * AND FITNESS. IN NO EVENT SHALL Red Hat BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR @@ -161,13 +202,17 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/dynamic_db.c +#include +#include +#include ++#include +#include +#include + +#include +#include +#include ++#include ++#include + ++#include + +#if HAVE_DLFCN_H +#include @@ -180,8 +225,7 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/dynamic_db.c + + +typedef isc_result_t (*register_func_t)(isc_mem_t *mctx, const char *name, -+ const char * const *argv, dns_view_t *view, -+ dns_zonemgr_t *zmgr); ++ const char * const *argv, dns_dyndb_arguments_t *dyndb_args); +typedef void (*destroy_func_t)(void); + +typedef struct dyndb_implementation dyndb_implementation_t; @@ -194,6 +238,13 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/dynamic_db.c + LINK(dyndb_implementation_t) link; +}; + ++struct dns_dyndb_arguments { ++ dns_view_t *view; ++ dns_zonemgr_t *zmgr; ++ isc_task_t *task; ++ isc_timermgr_t *timermgr; ++}; ++ +/* List of implementations. Locked by dyndb_lock. */ +static LIST(dyndb_implementation_t) dyndb_implementations; +/* Locks dyndb_implementations. */ @@ -332,8 +383,7 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/dynamic_db.c + +isc_result_t +dns_dynamic_db_load(const char *libname, const char *name, isc_mem_t *mctx, -+ const char * const *argv, dns_view_t *view, -+ dns_zonemgr_t *zmgr) ++ const char * const *argv, dns_dyndb_arguments_t *dyndb_args) +{ + isc_result_t result; + dyndb_implementation_t *implementation = NULL; @@ -341,7 +391,7 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/dynamic_db.c + RUNTIME_CHECK(isc_once_do(&once, dyndb_initialize) == ISC_R_SUCCESS); + + CHECK(load_library(mctx, libname, &implementation)); -+ CHECK(implementation->register_function(mctx, name, argv, view, zmgr)); ++ CHECK(implementation->register_function(mctx, name, argv, dyndb_args)); + + LOCK(&dyndb_lock); + APPEND(dyndb_implementations, implementation, link); @@ -377,21 +427,133 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/dynamic_db.c + + isc_mutex_destroy(&dyndb_lock); +} -diff -up /dev/null bind-9.6.1b1/lib/dns/include/dns/dynamic_db.h ---- /dev/null 2009-03-30 11:37:35.392000941 +0200 -+++ bind-9.6.1b1/lib/dns/include/dns/dynamic_db.h 2009-03-30 14:56:54.899136384 +0200 -@@ -0,0 +1,32 @@ ++ ++dns_dyndb_arguments_t * ++dns_dyndb_arguments_create(isc_mem_t *mctx) ++{ ++ dns_dyndb_arguments_t *args; ++ ++ args = isc_mem_get(mctx, sizeof(*args)); ++ if (args != NULL) ++ memset(args, 0, sizeof(*args)); ++ ++ return args; ++} ++ ++void ++dns_dyndb_arguments_destroy(isc_mem_t *mctx, dns_dyndb_arguments_t *args) ++{ ++ REQUIRE(args != NULL); ++ ++ dns_dyndb_set_view(args, NULL); ++ dns_dyndb_set_zonemgr(args, NULL); ++ dns_dyndb_set_task(args, NULL); ++ dns_dyndb_set_timermgr(args, NULL); ++ ++ isc_mem_put(mctx, args, sizeof(*args)); ++} ++ ++void ++dns_dyndb_set_view(dns_dyndb_arguments_t *args, dns_view_t *view) ++{ ++ REQUIRE(args != NULL); ++ ++ if (args->view != NULL) ++ dns_view_detach(&args->view); ++ if (view != NULL) ++ dns_view_attach(view, &args->view); ++} ++ ++dns_view_t * ++dns_dyndb_get_view(dns_dyndb_arguments_t *args) ++{ ++ REQUIRE(args != NULL); ++ ++ return args->view; ++} ++ ++void ++dns_dyndb_set_zonemgr(dns_dyndb_arguments_t *args, dns_zonemgr_t *zmgr) ++{ ++ REQUIRE(args != NULL); ++ ++ if (args->zmgr != NULL) ++ dns_zonemgr_detach(&args->zmgr); ++ if (zmgr != NULL) ++ dns_zonemgr_attach(zmgr, &args->zmgr); ++} ++ ++dns_zonemgr_t * ++dns_dyndb_get_zonemgr(dns_dyndb_arguments_t *args) ++{ ++ REQUIRE(args != NULL); ++ ++ return args->zmgr; ++} ++ ++void ++dns_dyndb_set_task(dns_dyndb_arguments_t *args, isc_task_t *task) ++{ ++ REQUIRE(args != NULL); ++ ++ if (args->task != NULL) ++ isc_task_detach(&args->task); ++ if (task != NULL) ++ isc_task_attach(task, &args->task); ++} ++ ++isc_task_t * ++dns_dyndb_get_task(dns_dyndb_arguments_t *args) ++{ ++ REQUIRE(args != NULL); ++ ++ return args->task; ++} ++ ++void ++dns_dyndb_set_timermgr(dns_dyndb_arguments_t *args, isc_timermgr_t *timermgr) ++{ ++ REQUIRE(args != NULL); ++ ++ args->timermgr = timermgr; ++} ++ ++isc_timermgr_t * ++dns_dyndb_get_timermgr(dns_dyndb_arguments_t *args) ++{ ++ REQUIRE(args != NULL); ++ ++ return args->timermgr; ++} +diff --git a/lib/dns/include/dns/Makefile.in b/lib/dns/include/dns/Makefile.in +index e9e049e..27fdc45 100644 +--- 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 \ +diff --git a/lib/dns/include/dns/dynamic_db.h b/lib/dns/include/dns/dynamic_db.h +new file mode 100644 +index 0000000..12f7a06 +--- /dev/null ++++ b/lib/dns/include/dns/dynamic_db.h +@@ -0,0 +1,50 @@ +/* -+ * Copyright (C) 2004-2009 Internet Systems Consortium, Inc. ("ISC") -+ * Copyright (C) 1996-2003 Internet Software Consortium. ++ * Copyright (C) 2008-2009 Red Hat, Inc. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * -+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH ++ * THE SOFTWARE IS PROVIDED "AS IS" AND Red Hat DISCLAIMS ALL WARRANTIES WITH + * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, ++ * AND FITNESS. IN NO EVENT SHALL Red Hat BE LIABLE FOR ANY SPECIAL, DIRECT, + * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM + * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE + * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR @@ -406,17 +568,37 @@ diff -up /dev/null bind-9.6.1b1/lib/dns/include/dns/dynamic_db.h + +#include + ++/* ++ * TODO: ++ * Reformat the prototypes. ++ * Add annotated comments. ++ */ ++ +isc_result_t dns_dynamic_db_load(const char *libname, const char *name, + isc_mem_t *mctx, const char * const *argv, -+ dns_view_t *view, dns_zonemgr_t *zmgr); ++ dns_dyndb_arguments_t *dyndb_args); + +void dns_dynamic_db_cleanup(void); + ++dns_dyndb_arguments_t *dns_dyndb_arguments_create(isc_mem_t *mctx); ++void dns_dyndb_arguments_destroy(isc_mem_t *mctx, dns_dyndb_arguments_t *args); ++ ++void dns_dyndb_set_view(dns_dyndb_arguments_t *args, dns_view_t *view); ++dns_view_t *dns_dyndb_get_view(dns_dyndb_arguments_t *args); ++void dns_dyndb_set_zonemgr(dns_dyndb_arguments_t *args, dns_zonemgr_t *zmgr); ++dns_zonemgr_t *dns_dyndb_get_zonemgr(dns_dyndb_arguments_t *args); ++void dns_dyndb_set_task(dns_dyndb_arguments_t *args, isc_task_t *task); ++isc_task_t *dns_dyndb_get_task(dns_dyndb_arguments_t *args); ++void dns_dyndb_set_timermgr(dns_dyndb_arguments_t *args, ++ isc_timermgr_t *timermgr); ++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-03-30 14:56:54.899136384 +0200 -@@ -73,6 +73,7 @@ LIBDNS_EXTERNAL_DATA extern isc_logmodul +diff --git a/lib/dns/include/dns/log.h b/lib/dns/include/dns/log.h +index 5adcedd..e171028 100644 +--- a/lib/dns/include/dns/log.h ++++ b/lib/dns/include/dns/log.h +@@ -73,6 +73,7 @@ LIBDNS_EXTERNAL_DATA extern isc_logmodule_t dns_modules[]; #define DNS_LOGMODULE_HINTS (&dns_modules[24]) #define DNS_LOGMODULE_ACACHE (&dns_modules[25]) #define DNS_LOGMODULE_DLZ (&dns_modules[26]) @@ -424,22 +606,23 @@ diff -up bind-9.6.1b1/lib/dns/include/dns/log.h.dyndb bind-9.6.1b1/lib/dns/inclu 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-03-30 14:56:54.899136384 +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/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-03-30 14:56:54.899136384 +0200 -@@ -79,6 +79,7 @@ LIBDNS_EXTERNAL_DATA isc_logmodule_t dns +diff --git a/lib/dns/include/dns/types.h b/lib/dns/include/dns/types.h +index 5223397..f434188 100644 +--- a/lib/dns/include/dns/types.h ++++ b/lib/dns/include/dns/types.h +@@ -56,6 +56,7 @@ typedef struct dns_dbtable dns_dbtable_t; + typedef void dns_dbversion_t; + typedef struct dns_dlzimplementation dns_dlzimplementation_t; + typedef struct dns_dlzdb dns_dlzdb_t; ++typedef struct dns_dyndb_arguments dns_dyndb_arguments_t; + typedef struct dns_sdlzimplementation dns_sdlzimplementation_t; + typedef struct dns_decompress dns_decompress_t; + typedef struct dns_dispatch dns_dispatch_t; +diff --git a/lib/dns/log.c b/lib/dns/log.c +index 7551e15..b9864eb 100644 +--- a/lib/dns/log.c ++++ b/lib/dns/log.c +@@ -79,6 +79,7 @@ LIBDNS_EXTERNAL_DATA isc_logmodule_t dns_modules[] = { { "dns/hints", 0 }, { "dns/acache", 0 }, { "dns/dlz", 0 }, @@ -447,31 +630,10 @@ diff -up bind-9.6.1b1/lib/dns/log.c.dyndb bind-9.6.1b1/lib/dns/log.c { 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-03-30 14:56:54.887146135 +0200 -+++ bind-9.6.1b1/lib/dns/Makefile.in 2009-03-30 14:56:54.899136384 +0200 -@@ -57,7 +57,8 @@ DSTOBJS = @DST_EXTRA_OBJS@ \ - DNSOBJS = acache.@O@ acl.@O@ adb.@O@ byaddr.@O@ \ - cache.@O@ callbacks.@O@ compress.@O@ \ - db.@O@ dbiterator.@O@ dbtable.@O@ diff.@O@ dispatch.@O@ \ -- dlz.@O@ dnssec.@O@ ds.@O@ forward.@O@ iptable.@O@ journal.@O@ \ -+ dlz.@O@ dnssec.@O@ ds.@O@ dynamic_db.@O@ forward.@O@ \ -+ iptable.@O@ journal.@O@ \ - keytable.@O@ lib.@O@ log.@O@ lookup.@O@ \ - master.@O@ masterdump.@O@ message.@O@ \ - name.@O@ ncache.@O@ nsec.@O@ nsec3.@O@ order.@O@ peer.@O@ portlist.@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-03-30 14:56:54.903136167 +0200 +diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c +index 0610489..a1dba32 100644 +--- 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; @@ -488,7 +650,7 @@ diff -up bind-9.6.1b1/lib/isccfg/namedconf.c.dyndb bind-9.6.1b1/lib/isccfg/named { "server", &cfg_type_server, CFG_CLAUSEFLAG_MULTI }, { "trusted-keys", &cfg_type_trustedkeys, CFG_CLAUSEFLAG_MULTI }, { NULL, NULL, 0 } -@@ -1365,6 +1367,40 @@ static cfg_type_t cfg_type_dialuptype = +@@ -1365,6 +1367,40 @@ static cfg_type_t cfg_type_dialuptype = { &cfg_rep_string, dialup_enums }; diff --git a/bind.spec b/bind.spec index 5cb53ac..02aa0c5 100644 --- a/bind.spec +++ b/bind.spec @@ -20,7 +20,7 @@ Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) serv Name: bind License: ISC Version: 9.6.1 -Release: 0.1.%{PREVER}%{?dist} +Release: 0.2.%{PREVER}%{?dist} Epoch: 32 Url: http://www.isc.org/products/BIND/ Buildroot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -569,6 +569,9 @@ rm -rf ${RPM_BUILD_ROOT} %ghost %{chroot_prefix}/etc/localtime %changelog +* Tue Apr 21 2009 Martin Nagy 32:9.6.1-0.2.b1 +- update the patch for dynamic loading of database backends + * Mon Mar 30 2009 Adam Tkac 32:9.6.1-0.1.b1 - 9.6.1b1 release - patches merged