+4553. [bug] Named could deadlock there were multiple changes to
+ NSEC/NSEC3 parameters for a zone being processed at
+ the same time. [RT #42770]
+
4552. [bug] Named could trigger a assertion when sending notify
messages. [RT #44019]
<section xml:id="relnotes_bugs"><info><title>Bug Fixes</title></info>
<itemizedlist>
+ <listitem>
+ <para>
+ Named could deadlock there were multiple changes to
+ NSEC/NSEC3 parameters for a zone being processed at the
+ same time. [RT #42770]
+ </para>
+ </listitem>
<listitem>
<para>
Named could trigger a assertion when sending notify
nsec3chain->save_delete_nsec = nsec3chain->delete_nsec;
}
+ if (nsec3chain != NULL)
+ goto skip_removals;
+
/*
* Process removals.
*/
first = ISC_TRUE;
}
+ skip_removals:
/*
* We may need to update the NSEC/NSEC3 records for the zone apex.
*/
}
}
- if (nsec3chain != NULL)
- dns_dbiterator_pause(nsec3chain->dbiterator);
-
/*
* Add / update signatures for the NSEC3 records.
*/
}
failure:
+ /*
+ * Pause all dbiterators.
+ */
+ for (signing = ISC_LIST_HEAD(zone->signing);
+ signing != NULL;
+ signing = ISC_LIST_NEXT(signing, link))
+ dns_dbiterator_pause(signing->dbiterator);
+
/*
* Rollback the cleanup list.
*/
signing = ISC_LIST_HEAD(cleanup);
}
- for (signing = ISC_LIST_HEAD(zone->signing);
- signing != NULL;
- signing = ISC_LIST_NEXT(signing, link))
- dns_dbiterator_pause(signing->dbiterator);
-
dns_diff_clear(&_sig_diff);
for (i = 0; i < nkeys; i++)