+4337. [bug] The previous change exposed a latent flaw in
+ key refresh queries for managed-keys when
+ a cached DNSKEY had TTL 0. [RT #41986]
+
4336. [bug] Don't emit records with zero ttl unless the records
were learnt with a zero ttl. [RT #41687]
--m record,size,mctx -T clienttest -c named.conf -d 99 -X named.lock -g -T mkeytimers=3/10/15
+-m record,size,mctx -T clienttest -c named.conf -d 99 -X named.lock -g -T mkeytimers=2/10/15
* Remove keys that match 'keyname' and 'dnskey' from the views trust
* anchors.
*
+ * (NOTE: If the configuration specifies that there should be a
+ * trust anchor at 'keyname', but no keys are left after this
+ * operation, that is an error. We fail closed, inserting a NULL
+ * key so as to prevent validation until a legimitate key has been
+ * provided.)
+ *
* Requires:
* \li 'view' is valid.
* \li 'keyname' is valid.
result = dns_view_getsecroots(view, &sr);
if (result == ISC_R_SUCCESS) {
dns_keytable_deletekeynode(sr, key);
+ dns_keytable_marksecure(sr, keyname);
dns_keytable_detach(&sr);
}
dst_key_free(&key);
*/
deletekey = ISC_TRUE;
} else if (keydata.removehd == 0) {
- /* Remove from secroots */
+ /*
+ * Remove key from secroots.
+ */
dns_view_untrust(zone->view, keyname,
&dnskey, mctx);
- /* But ensure there's a null key */
- fail_secure(zone, keyname);
-
/* If initializing, delete now */
if (keydata.addhd == 0)
deletekey = ISC_TRUE;
result = dns_resolver_createfetch(zone->view->resolver,
kname, dns_rdatatype_dnskey,
NULL, NULL, NULL,
- DNS_FETCHOPT_NOVALIDATE,
+ DNS_FETCHOPT_NOVALIDATE|
+ DNS_FETCHOPT_UNSHARED,
zone->task,
keyfetch_done, kfetch,
&kfetch->dnskeyset,