+2825. [bug] Changing the setting of OPTOUT in a NSEC3 chain that
+ was in the process of being created was not properly
+ recorded in the zone. [RT #20786]
+
2824. [bug] "rndc sign" was not being run by the correct task.
[RT #20759]
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: update.c,v 1.178 2009/12/18 23:49:03 tbox Exp $ */
+/* $Id: update.c,v 1.179 2009/12/30 02:43:09 marka Exp $ */
#include <config.h>
CHECK(do_one_tuple(&newtuple, db, ver, diff));
}
+ /*
+ * Remove any existing CREATE request to add an
+ * otherwise indentical chain with a reversed
+ * OPTOUT state.
+ */
+ buf[2] ^= DNS_NSEC3FLAG_OPTOUT;
+ CHECK(rr_exists(db, ver, name, &rdata, &flag));
+
+ if (flag) {
+ CHECK(dns_difftuple_create(diff->mctx,
+ DNS_DIFFOP_DEL,
+ name, tuple->ttl,
+ &rdata,
+ &newtuple));
+ CHECK(do_one_tuple(&newtuple, db, ver, diff));
+ }
+
/*
* Remove the temporary add record.
*/