mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-11 08:59:59 -04:00
Make make_dnskey() a public funcion
It can be used to compare DNSKEY, CDNSKEY, and CDS records with
signing keys.
(cherry picked from commit 81cb18b8a2)
This commit is contained in:
parent
2268ee2955
commit
74109dfea6
2 changed files with 26 additions and 9 deletions
|
|
@ -1846,9 +1846,9 @@ failure:
|
|||
return (result);
|
||||
}
|
||||
|
||||
static isc_result_t
|
||||
make_dnskey(dst_key_t *key, unsigned char *buf, int bufsize,
|
||||
dns_rdata_t *target) {
|
||||
isc_result_t
|
||||
dns_dnssec_make_dnskey(dst_key_t *key, unsigned char *buf, int bufsize,
|
||||
dns_rdata_t *target) {
|
||||
isc_result_t result;
|
||||
isc_buffer_t b;
|
||||
isc_region_t r;
|
||||
|
|
@ -1904,7 +1904,7 @@ publish_key(dns_diff_t *diff, dns_dnsseckey_t *key, const dns_name_t *origin,
|
|||
dns_rdata_t dnskey = DNS_RDATA_INIT;
|
||||
|
||||
dns_rdata_reset(&dnskey);
|
||||
RETERR(make_dnskey(key->key, buf, sizeof(buf), &dnskey));
|
||||
RETERR(dns_dnssec_make_dnskey(key->key, buf, sizeof(buf), &dnskey));
|
||||
dst_key_format(key->key, keystr, sizeof(keystr));
|
||||
|
||||
report("Fetching %s (%s) from key %s.", keystr,
|
||||
|
|
@ -1944,7 +1944,7 @@ remove_key(dns_diff_t *diff, dns_dnsseckey_t *key, const dns_name_t *origin,
|
|||
report("Removing %s key %s/%d/%s from DNSKEY RRset.", reason, namebuf,
|
||||
dst_key_id(key->key), alg);
|
||||
|
||||
RETERR(make_dnskey(key->key, buf, sizeof(buf), &dnskey));
|
||||
RETERR(dns_dnssec_make_dnskey(key->key, buf, sizeof(buf), &dnskey));
|
||||
result = delrdata(&dnskey, diff, origin, ttl, mctx);
|
||||
|
||||
failure:
|
||||
|
|
@ -2005,8 +2005,8 @@ dns_dnssec_syncupdate(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *rmkeys,
|
|||
dns_rdata_t cdnskeyrdata = DNS_RDATA_INIT;
|
||||
dns_name_t *origin = dst_key_name(key->key);
|
||||
|
||||
RETERR(make_dnskey(key->key, keybuf, sizeof(keybuf),
|
||||
&cdnskeyrdata));
|
||||
RETERR(dns_dnssec_make_dnskey(key->key, keybuf, sizeof(keybuf),
|
||||
&cdnskeyrdata));
|
||||
|
||||
/*
|
||||
* We construct the SHA-1 version of the record so we can
|
||||
|
|
@ -2127,8 +2127,8 @@ dns_dnssec_syncupdate(dns_dnsseckeylist_t *keys, dns_dnsseckeylist_t *rmkeys,
|
|||
char keystr[DST_KEY_FORMATSIZE];
|
||||
dst_key_format(key->key, keystr, sizeof(keystr));
|
||||
|
||||
RETERR(make_dnskey(key->key, keybuf, sizeof(keybuf),
|
||||
&cdnskeyrdata));
|
||||
RETERR(dns_dnssec_make_dnskey(key->key, keybuf, sizeof(keybuf),
|
||||
&cdnskeyrdata));
|
||||
|
||||
if (dns_rdataset_isassociated(cds)) {
|
||||
RETERR(dns_ds_buildrdata(origin, &cdnskeyrdata,
|
||||
|
|
|
|||
|
|
@ -95,6 +95,23 @@ dns_dnssec_keyfromrdata(const dns_name_t *name, const dns_rdata_t *rdata,
|
|||
*\li various errors from dns_name_totext
|
||||
*/
|
||||
|
||||
isc_result_t
|
||||
dns_dnssec_make_dnskey(dst_key_t *key, unsigned char *buf, int bufsize,
|
||||
dns_rdata_t *target);
|
||||
/*%<
|
||||
* Convert a DST key into a DNS record.
|
||||
*
|
||||
* Requires:
|
||||
*\li 'key' is not NULL
|
||||
*\li 'buf' is not NULL
|
||||
*\li 'bufsize' equals DST_KEY_MAXSIZE
|
||||
*\li 'target' is not NULL
|
||||
*
|
||||
* Returns:
|
||||
*\li #ISC_R_SUCCESS
|
||||
*\li various errors from dst_key_todns
|
||||
*/
|
||||
|
||||
isc_result_t
|
||||
dns_dnssec_sign(const dns_name_t *name, dns_rdataset_t *set, dst_key_t *key,
|
||||
isc_stdtime_t *inception, isc_stdtime_t *expire,
|
||||
|
|
|
|||
Loading…
Reference in a new issue