summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bind-96-dyndb.patch14
-rw-r--r--bind.spec7
-rw-r--r--bind98-rh725741.patch24
3 files changed, 30 insertions, 15 deletions
diff --git a/bind-96-dyndb.patch b/bind-96-dyndb.patch
index 211b861..94bf019 100644
--- a/bind-96-dyndb.patch
+++ b/bind-96-dyndb.patch
@@ -156,20 +156,6 @@ diff -up bind-9.8.0-P4/bin/named/server.c.dyndb bind-9.8.0-P4/bin/named/server.c
/*
* Parse the global default pseudo-config file.
*/
-@@ -5542,6 +5642,13 @@ loadconfig(ns_server_t *server) {
- static isc_result_t
- reload(ns_server_t *server) {
- isc_result_t result;
-+
-+ /* Ensure there is no other access to the server */
-+ result = isc_task_beginexclusive(server->task);
-+ RUNTIME_CHECK(result == ISC_R_SUCCESS);
-+ dns_dynamic_db_cleanup(ISC_FALSE);
-+ isc_task_endexclusive(server->task);
-+
- CHECK(loadconfig(server));
-
- result = load_zones(server, ISC_FALSE);
diff -up bind-9.8.0-P4/lib/dns/dynamic_db.c.dyndb bind-9.8.0-P4/lib/dns/dynamic_db.c
--- bind-9.8.0-P4/lib/dns/dynamic_db.c.dyndb 2011-07-26 15:36:04.047778520 +0200
+++ bind-9.8.0-P4/lib/dns/dynamic_db.c 2011-07-26 15:36:04.047778520 +0200
diff --git a/bind.spec b/bind.spec
index a97a69f..7d8a545 100644
--- a/bind.spec
+++ b/bind.spec
@@ -22,7 +22,7 @@ Summary: The Berkeley Internet Name Domain (BIND) DNS (Domain Name System) serv
Name: bind
License: ISC
Version: 9.8.0
-Release: 8.%{PATCHVER}%{?dist}
+Release: 9.%{PATCHVER}%{?dist}
Epoch: 32
Url: http://www.isc.org/products/BIND/
Buildroot:%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -64,6 +64,7 @@ Patch112:bind97-rh645544.patch
Patch113:bind97-rh674334.patch
Patch115:bind97-cleanup.patch
Patch116:bind98-includes.patch
+Patch117:bind98-rh725741.patch
# SDB patches
Patch11: bind-9.3.2b2-sdbsrc.patch
@@ -247,6 +248,7 @@ Based on the code from Jan "Yenya" Kasprzak <kas@fi.muni.cz>
%patch10 -p1 -b .PIE
%patch16 -p1 -b .redhat_doc
%patch104 -p1 -b .dyndb
+%patch117 -p1 -b .rh725741
%if %{SDB}
%patch101 -p1 -b .old-api
mkdir bin/named-sdb
@@ -770,6 +772,9 @@ rm -rf ${RPM_BUILD_ROOT}
%endif
%changelog
+* Wed Aug 03 2011 Adam Tkac <atkac redhat com> 32:9.8.0-9.P4
+- improve patch for #725741
+
* Tue Jul 26 2011 Adam Tkac <atkac redhat com> 32:9.8.0-8.P4
- named could have crashed during reload when dyndb module is used (#725741)
diff --git a/bind98-rh725741.patch b/bind98-rh725741.patch
new file mode 100644
index 0000000..53d924d
--- /dev/null
+++ b/bind98-rh725741.patch
@@ -0,0 +1,24 @@
+diff -up bind-9.8.0-P4/bin/named/main.c.rh725741 bind-9.8.0-P4/bin/named/main.c
+--- bind-9.8.0-P4/bin/named/main.c.rh725741 2011-08-03 15:20:28.487516386 +0200
++++ bind-9.8.0-P4/bin/named/main.c 2011-08-03 15:20:50.197514932 +0200
+@@ -872,8 +872,6 @@ setup(void) {
+
+ static void
+ cleanup(void) {
+- dns_dynamic_db_cleanup(ISC_TRUE);
+-
+ destroy_managers();
+
+ ns_server_destroy(&ns_g_server);
+diff -up bind-9.8.0-P4/bin/named/server.c.rh725741 bind-9.8.0-P4/bin/named/server.c
+--- bind-9.8.0-P4/bin/named/server.c.rh725741 2011-08-03 15:20:42.009515447 +0200
++++ bind-9.8.0-P4/bin/named/server.c 2011-08-03 15:21:01.878514035 +0200
+@@ -5263,6 +5263,8 @@ shutdown_server(isc_task_t *task, isc_ev
+ dns_view_detach(&view);
+ }
+
++ dns_dynamic_db_cleanup(ISC_TRUE);
++
+ while ((nsc = ISC_LIST_HEAD(server->cachelist)) != NULL) {
+ ISC_LIST_UNLINK(server->cachelist, nsc, link);
+ dns_cache_detach(&nsc->cache);