mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-11 11:09:59 -04:00
check more dns_rdata_tostruct returns
This commit is contained in:
parent
f83542787f
commit
15fdec98df
1 changed files with 13 additions and 6 deletions
|
|
@ -7642,19 +7642,22 @@ normalize_key(dns_rdata_t *rr, dns_rdata_t *target,
|
|||
dns_rdata_dnskey_t dnskey;
|
||||
dns_rdata_keydata_t keydata;
|
||||
isc_buffer_t buf;
|
||||
isc_result_t result;
|
||||
|
||||
dns_rdata_reset(target);
|
||||
isc_buffer_init(&buf, data, size);
|
||||
|
||||
switch (rr->type) {
|
||||
case dns_rdatatype_dnskey:
|
||||
dns_rdata_tostruct(rr, &dnskey, NULL);
|
||||
result = dns_rdata_tostruct(rr, &dnskey, NULL);
|
||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
dnskey.flags &= ~DNS_KEYFLAG_REVOKE;
|
||||
dns_rdata_fromstruct(target, rr->rdclass, dns_rdatatype_dnskey,
|
||||
&dnskey, &buf);
|
||||
break;
|
||||
case dns_rdatatype_keydata:
|
||||
dns_rdata_tostruct(rr, &keydata, NULL);
|
||||
result = dns_rdata_tostruct(rr, &keydata, NULL);
|
||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
dns_keydata_todnskey(&keydata, &dnskey, NULL);
|
||||
dns_rdata_fromstruct(target, rr->rdclass, dns_rdatatype_dnskey,
|
||||
&dnskey, &buf);
|
||||
|
|
@ -8061,7 +8064,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
|
|||
result = dns_rdataset_next(&kfetch->keydataset)) {
|
||||
dns_rdata_reset(&keydatarr);
|
||||
dns_rdataset_current(&kfetch->keydataset, &keydatarr);
|
||||
dns_rdata_tostruct(&keydatarr, &keydata, NULL);
|
||||
result = dns_rdata_tostruct(&keydatarr, &keydata, NULL);
|
||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
|
||||
/*
|
||||
* If any keydata record has a nonzero add holddown, then
|
||||
|
|
@ -8163,7 +8167,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
|
|||
if (matchkey(&kfetch->keydataset, &dnskeyrr)) {
|
||||
dns_rdata_reset(&keydatarr);
|
||||
dns_rdataset_current(&kfetch->keydataset, &keydatarr);
|
||||
dns_rdata_tostruct(&keydatarr, &keydata, NULL);
|
||||
result = dns_rdata_tostruct(&keydatarr, &keydata, NULL);
|
||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
|
||||
if (revoked && revocable(kfetch, &keydata)) {
|
||||
if (keydata.addhd > now) {
|
||||
|
|
@ -8263,7 +8268,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
|
|||
&keydatarr));
|
||||
} else if (newkey) {
|
||||
/* Convert DNSKEY to KEYDATA */
|
||||
dns_rdata_tostruct(&dnskeyrr, &dnskey, NULL);
|
||||
result = dns_rdata_tostruct(&dnskeyrr, &dnskey, NULL);
|
||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
dns_keydata_fromdnskey(&keydata, &dnskey, 0, 0, 0,
|
||||
NULL);
|
||||
keydata.addhd = initializing ? now : now + MONTH;
|
||||
|
|
@ -8282,7 +8288,8 @@ keyfetch_done(isc_task_t *task, isc_event_t *event) {
|
|||
|
||||
if (trustkey) {
|
||||
/* Trust this key. */
|
||||
dns_rdata_tostruct(&dnskeyrr, &dnskey, NULL);
|
||||
result = dns_rdata_tostruct(&dnskeyrr, &dnskey, NULL);
|
||||
RUNTIME_CHECK(result == ISC_R_SUCCESS);
|
||||
trust_key(zone, keyname, &dnskey, mctx);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue