When looking for a signing key in select_signing_key(), the result code
indicating unsupported algorithm would abort the search. Instead, skip
such keys and continue searching for the right key.
Co-Authored-By: Aram Sargsyan <aram@isc.org>
Co-Authored-By: Petr Menšík <pemensik@redhat.com>
(cherry picked from commit
a94a7c1a1e6eecbead995a08bace33d23899a5da)
goto done;
}
dst_key_free(&val->key);
- } else {
+ } else if (result != DST_R_UNSUPPORTEDALG) {
+ /*
+ * We can encounter unsupported algorithm when the zone
+ * is signed with both supported and unsupported
+ * algorithm at the same time. Stop looking in all
+ * other failure cases.
+ */
break;
}
dns_rdata_reset(&rdata);