]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
val->keynode is no longer needed
authorMark Andrews <marka@isc.org>
Thu, 11 Jun 2020 05:01:12 +0000 (15:01 +1000)
committerMark Andrews <marka@isc.org>
Thu, 11 Jun 2020 06:03:11 +0000 (16:03 +1000)
lib/dns/include/dns/validator.h
lib/dns/validator.c

index 9c743207bd3d5e0f7537a7d26acda3fd43a1eaab..6916671f97a673265c5ebdf1e955ee7f00b914df 100644 (file)
@@ -127,7 +127,6 @@ struct dns_validator {
        dns_validator_t *     subvalidator;
        dns_validator_t *     parent;
        dns_keytable_t *      keytable;
-       dns_keynode_t *       keynode;
        dst_key_t *           key;
        dns_rdata_rrsig_t *   siginfo;
        isc_task_t *          task;
index fca2f4224b46304a5fdc1dcecffae56e2278ea28..9b5c891f94c38cc35597a50d4e4b78aafefc1d1b 100644 (file)
@@ -532,7 +532,6 @@ fetch_callback_ds(isc_task_t *task, isc_event_t *event) {
                                      "dsset with trust %s",
                                      dns_trust_totext(rdataset->trust));
                        val->dsset = &val->frdataset;
-                       INSIST(val->keynode == NULL);
                        result = validate_dnskey(val);
                        if (result != DNS_R_WAIT) {
                                validator_done(val, result);
@@ -1686,7 +1685,6 @@ get_dsset(dns_validator_t *val, dns_name_t *tname, isc_result_t *resp) {
                 * We have a DS RRset.
                 */
                val->dsset = &val->frdataset;
-               INSIST(val->keynode == NULL);
                if ((DNS_TRUST_PENDING(val->frdataset.trust) ||
                     DNS_TRUST_ANSWER(val->frdataset.trust)) &&
                    dns_rdataset_isassociated(&val->fsigrdataset))
@@ -1782,12 +1780,10 @@ validate_dnskey(dns_validator_t *val) {
                result = dns_keytable_find(val->keytable, val->event->name,
                                           &keynode);
                if (result == ISC_R_SUCCESS) {
-                       if (!dns_keynode_dsset(keynode, &val->fdsset)) {
-                               dns_keytable_detachkeynode(val->keytable,
-                                                          &keynode);
-                       } else {
+                       if (dns_keynode_dsset(keynode, &val->fdsset)) {
                                val->dsset = &val->fdsset;
                        }
+                       dns_keytable_detachkeynode(val->keytable, &keynode);
                }
        }
 
@@ -1818,14 +1814,6 @@ validate_dnskey(dns_validator_t *val) {
                 */
                result = get_dsset(val, val->event->name, &tresult);
                if (result == ISC_R_COMPLETE) {
-                       if (tresult == DNS_R_WAIT) {
-                               /*
-                                * Keep the keynode attached so we don't
-                                * lose val->dsset.
-                                */
-                               val->keynode = keynode;
-                       }
-
                        result = tresult;
                        goto cleanup;
                }
@@ -1837,7 +1825,6 @@ validate_dnskey(dns_validator_t *val) {
        INSIST(val->dsset != NULL);
 
        if (val->dsset->trust < dns_trust_secure) {
-               INSIST(keynode == NULL);
                result = markanswer(val, "validate_dnskey (2)", "insecure DS");
                goto cleanup;
        }
@@ -1958,10 +1945,6 @@ cleanup:
                val->dsset = NULL;
                dns_rdataset_disassociate(&val->fdsset);
        }
-       if (keynode != NULL) {
-               val->dsset = NULL;
-               dns_keytable_detachkeynode(val->keytable, &keynode);
-       }
 
        return (result);
 }
@@ -3215,10 +3198,6 @@ destroy(dns_validator_t *val) {
                dst_key_free(&val->key);
        }
        if (val->keytable != NULL) {
-               if (val->keynode != NULL) {
-                       dns_keytable_detachkeynode(val->keytable,
-                                                  &val->keynode);
-               }
                dns_keytable_detach(&val->keytable);
        }
        if (val->subvalidator != NULL) {