unsigned char salt[255];
const char *ptr;
size_t n;
+ bool kasp = false;
REQUIRE(text != NULL);
}
if (dns_zone_getkasp(zone) != NULL) {
- (void)putstr(text, "zone uses dnssec-policy, use rndc dnssec "
- "command instead");
- (void)putnull(text);
- goto cleanup;
+ kasp = true;
}
if (clear) {
CHECK(dns_zone_keydone(zone, keystr));
(void)putstr(text, "request queued");
(void)putnull(text);
- } else if (chain) {
+ } else if (chain && !kasp) {
CHECK(dns_zone_setnsec3param(
zone, (uint8_t)hash, (uint8_t)flags, iter,
(uint8_t)saltlen, salt, true, resalt));
if (result == ISC_R_NOMORE) {
result = ISC_R_SUCCESS;
}
+ } else if (kasp) {
+ (void)putstr(text, "zone uses dnssec-policy, use rndc dnssec "
+ "command instead");
+ (void)putnull(text);
}
cleanup: