delv 9.16.0, failed to add trusted key '.': ran out of space

Tony Finch dot at dotat.at
Fri Feb 28 20:07:47 UTC 2020


Shaun via bind-users <bind-users at lists.isc.org> wrote:
>
> The 9.16.0 version of delv seems to have trouble reading the root trust
> anchor from the bind.keys file.

I see this too. The bug is that dns_client_addtrustedkey() has a buffer
for parsing DNSKEY or DS records, but it's only big enough for DS.

diff --git lib/dns/client.c lib/dns/client.c
index 0d8e951fa0..0c151e78e5 100644
--- lib/dns/client.c
+++ lib/dns/client.c
@@ -1519,7 +1519,7 @@ dns_client_addtrustedkey(dns_client_t *client, dns_rdataclass_t rdclass,
 	dns_view_t *view = NULL;
 	dns_keytable_t *secroots = NULL;
 	dns_name_t *name = NULL;
-	char dsbuf[DNS_DS_BUFFERSIZE];
+	char rdatabuf[4096];
 	unsigned char digest[ISC_MAX_MD_SIZE];
 	dns_rdata_ds_t ds;
 	dns_decompress_t dctx;
@@ -1543,7 +1543,7 @@ dns_client_addtrustedkey(dns_client_t *client, dns_rdataclass_t rdclass,
 		goto cleanup;
 	}

-	isc_buffer_init(&b, dsbuf, sizeof(dsbuf));
+	isc_buffer_init(&b, rdatabuf, sizeof(rdatabuf));
 	dns_decompress_init(&dctx, -1, DNS_DECOMPRESS_NONE);
 	dns_rdata_init(&rdata);
 	isc_buffer_setactive(databuf, isc_buffer_usedlength(databuf));

Tony.
-- 
f.anthony.n.finch  <dot at dotat.at>  http://dotat.at/
Irish Sea: South 5 to 7, veering southwest gale 8 or severe gale 9,
occasionally storm 10 later. Moderate, becoming rough or very rough. Rain,
then wintry showers. Moderate or poor, occasionally good later.


More information about the bind-users mailing list