Add dns_zonemd_supported

This commit is contained in:
Mark Andrews
2025-03-10 13:19:56 +11:00
parent 2c1798b65d
commit 90ed76b1cf
2 changed files with 23 additions and 0 deletions
+3
View File
@@ -22,3 +22,6 @@ dns_zonemd_buildrdata(dns_rdata_t *rdata, dns_db_t *db,
dns_dbversion_t *version, uint8_t scheme,
uint8_t algorithm, isc_mem_t *mctx, unsigned char *buf,
size_t size);
bool
dns_zonemd_supported(dns_rdata_t *rdata);
+20
View File
@@ -427,3 +427,23 @@ dns_zonemd_buildrdata(dns_rdata_t *rdata, dns_db_t *db,
return ISC_R_NOTIMPLEMENTED;
}
}
bool
dns_zonemd_supported(dns_rdata_t *rdata) {
REQUIRE(rdata != NULL);
REQUIRE(rdata->length >= 6);
REQUIRE(rdata->type == dns_rdatatype_zonemd);
switch (rdata->data[4]) {
case DNS_ZONEMD_SCHEME_SIMPLE:
switch (rdata->data[5]) {
case DNS_ZONEMD_DIGEST_SHA384:
case DNS_ZONEMD_DIGEST_SHA512:
return true;
default:
return false;
}
default:
return false;
}
}