- update the patch for dynamic loading of database backends
This commit is contained in:
parent
35358171ac
commit
32aa839776
@ -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 <isccc/result.h>
|
||||
|
||||
@ -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 <dns/dlz.h>
|
||||
#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 <dns/forward.h>
|
||||
#include <dns/journal.h>
|
||||
#include <dns/keytable.h>
|
||||
@@ -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 <isc/mutex.h>
|
||||
+#include <isc/once.h>
|
||||
+#include <isc/result.h>
|
||||
+#include <isc/task.h>
|
||||
+#include <isc/types.h>
|
||||
+#include <isc/util.h>
|
||||
+
|
||||
+#include <dns/dynamic_db.h>
|
||||
+#include <dns/log.h>
|
||||
+#include <dns/types.h>
|
||||
+#include <dns/view.h>
|
||||
+#include <dns/zone.h>
|
||||
+
|
||||
+#include <string.h>
|
||||
+
|
||||
+#if HAVE_DLFCN_H
|
||||
+#include <dlfcn.h>
|
||||
@ -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 <dns/types.h>
|
||||
+
|
||||
+/*
|
||||
+ * 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
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
* Wed Apr 22 2009 Martin Nagy <mnagy redhat com> 32:9.6.1-0.2.b1
|
||||
- update the patch for dynamic loading of database backends
|
||||
|
||||
* Mon Mar 30 2009 Adam Tkac <atkac redhat com> 32:9.6.1-0.1.b1
|
||||
- 9.6.1b1 release
|
||||
- patches merged
|
||||
|
Loading…
Reference in New Issue
Block a user