Add dns_zonemd_supported
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user