2647. [bug] Remove unnecessary SOA updates when a new KSK is
added. [RT #19913]
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
2647. [bug] Remove unnecessary SOA updates when a new KSK is
|
||||
added. [RT #19913]
|
||||
|
||||
2646. [bug] Incorrect cleanup on error in socket.c. [RT #19987]
|
||||
|
||||
2645. [port] "gcc -m32" didn't work on amd64 and x86_64 platforms
|
||||
|
||||
+22
-6
@@ -15,7 +15,7 @@
|
||||
* PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
/* $Id: zone.c,v 1.501 2009/07/17 23:47:40 tbox Exp $ */
|
||||
/* $Id: zone.c,v 1.502 2009/08/13 02:53:01 marka Exp $ */
|
||||
|
||||
/*! \file */
|
||||
|
||||
@@ -6000,6 +6000,7 @@ zone_sign(dns_zone_t *zone) {
|
||||
dst_key_t *zone_keys[MAXZONEKEYS];
|
||||
isc_int32_t signatures;
|
||||
isc_boolean_t check_ksk, is_ksk;
|
||||
isc_boolean_t commit = ISC_FALSE;
|
||||
isc_boolean_t delegation;
|
||||
isc_boolean_t finishedakey = ISC_FALSE;
|
||||
isc_boolean_t secureupdated = ISC_FALSE;
|
||||
@@ -6288,6 +6289,7 @@ zone_sign(dns_zone_t *zone) {
|
||||
goto failure;
|
||||
}
|
||||
}
|
||||
|
||||
if (finishedakey) {
|
||||
/*
|
||||
* We have changed the RRset above so we need to update
|
||||
@@ -6313,6 +6315,15 @@ zone_sign(dns_zone_t *zone) {
|
||||
goto failure;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Have we changed anything?
|
||||
*/
|
||||
if (ISC_LIST_HEAD(sig_diff.tuples) == NULL)
|
||||
goto pauseall;
|
||||
|
||||
commit = ISC_TRUE;
|
||||
|
||||
result = del_sigs(zone, db, version, &zone->origin, dns_rdatatype_soa,
|
||||
&sig_diff, zone_keys, nkeys, now);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
@@ -6344,9 +6355,12 @@ zone_sign(dns_zone_t *zone) {
|
||||
goto failure;
|
||||
}
|
||||
|
||||
/* Write changes to journal file. */
|
||||
/*
|
||||
* Write changes to journal file.
|
||||
*/
|
||||
zone_journal(zone, &sig_diff, "zone_sign");
|
||||
|
||||
pauseall:
|
||||
/*
|
||||
* Pause all iterators so that dns_db_closeversion() can succeed.
|
||||
*/
|
||||
@@ -6363,7 +6377,7 @@ zone_sign(dns_zone_t *zone) {
|
||||
/*
|
||||
* Everything has succeeded. Commit the changes.
|
||||
*/
|
||||
dns_db_closeversion(db, &version, ISC_TRUE);
|
||||
dns_db_closeversion(db, &version, commit);
|
||||
|
||||
/*
|
||||
* Everything succeeded so we can clean these up now.
|
||||
@@ -6379,9 +6393,11 @@ zone_sign(dns_zone_t *zone) {
|
||||
|
||||
set_resigntime(zone);
|
||||
|
||||
LOCK_ZONE(zone);
|
||||
zone_needdump(zone, DNS_DUMP_DELAY);
|
||||
UNLOCK_ZONE(zone);
|
||||
if (commit) {
|
||||
LOCK_ZONE(zone);
|
||||
zone_needdump(zone, DNS_DUMP_DELAY);
|
||||
UNLOCK_ZONE(zone);
|
||||
}
|
||||
|
||||
failure:
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user