+2559. [bug] dnssec-dsfromkey could compute bad DS records when
+ reading from a K* files. [RT #19357]
+
2558. [func] Set the ownership of missing directories created
for pid-file if -u has been specified on the command
line. [RT #19328]
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: dnssec-dsfromkey.c,v 1.2 2008/11/07 02:28:49 marka Exp $ */
+/* $Id: dnssec-dsfromkey.c,v 1.3 2009/02/17 00:16:45 marka Exp $ */
/*! \file */
}
static void
-loadkey(char *filename, dns_rdata_t *rdata)
+loadkey(char *filename, unsigned char *key_buf, unsigned int key_buf_size,
+ dns_rdata_t *rdata)
{
isc_result_t result;
dst_key_t *key = NULL;
- unsigned char key_buf[DST_KEY_MAXSIZE];
isc_buffer_t keyb;
isc_region_t r;
dns_rdataset_init(&keyset);
dns_rdata_init(rdata);
- isc_buffer_init(&keyb, key_buf, sizeof(key_buf));
+ isc_buffer_init(&keyb, key_buf, key_buf_size);
result = dst_key_fromnamedfile(filename, DST_TYPE_PUBLIC, mctx, &key);
if (result != ISC_R_SUCCESS)
emitds(dtype, &rdata);
}
} else {
- loadkey(argv[isc_commandline_index], &rdata);
+ unsigned char key_buf[DST_KEY_MAXSIZE];
+
+ loadkey(argv[isc_commandline_index], key_buf,
+ DST_KEY_MAXSIZE, &rdata);
if (both) {
emitds(DNS_DSDIGEST_SHA1, &rdata);