dns_view_untrust modifies dnskey->flags when it shouldn't
Copy the structure and declare dnskey as const.
(cherry picked from commit 21d828241b)
This commit is contained in:
committed by
Petr Špaček
parent
f708172d87
commit
489cba33bb
@@ -1197,7 +1197,7 @@ dns_view_ntacovers(dns_view_t *view, isc_stdtime_t now, const dns_name_t *name,
|
||||
|
||||
void
|
||||
dns_view_untrust(dns_view_t *view, const dns_name_t *keyname,
|
||||
dns_rdata_dnskey_t *dnskey);
|
||||
const dns_rdata_dnskey_t *dnskey);
|
||||
/*%<
|
||||
* Remove keys that match 'keyname' and 'dnskey' from the views trust
|
||||
* anchors.
|
||||
|
||||
@@ -1992,26 +1992,28 @@ dns_view_issecuredomain(dns_view_t *view, const dns_name_t *name,
|
||||
|
||||
void
|
||||
dns_view_untrust(dns_view_t *view, const dns_name_t *keyname,
|
||||
dns_rdata_dnskey_t *dnskey) {
|
||||
const dns_rdata_dnskey_t *dnskey) {
|
||||
isc_result_t result;
|
||||
dns_keytable_t *sr = NULL;
|
||||
dns_rdata_dnskey_t tmpkey;
|
||||
|
||||
REQUIRE(DNS_VIEW_VALID(view));
|
||||
REQUIRE(keyname != NULL);
|
||||
REQUIRE(dnskey != NULL);
|
||||
|
||||
/*
|
||||
* Clear the revoke bit, if set, so that the key will match what's
|
||||
* in secroots now.
|
||||
*/
|
||||
dnskey->flags &= ~DNS_KEYFLAG_REVOKE;
|
||||
|
||||
result = dns_view_getsecroots(view, &sr);
|
||||
if (result != ISC_R_SUCCESS) {
|
||||
return;
|
||||
}
|
||||
|
||||
result = dns_keytable_deletekey(sr, keyname, dnskey);
|
||||
/*
|
||||
* Clear the revoke bit, if set, so that the key will match what's
|
||||
* in secroots now.
|
||||
*/
|
||||
tmpkey = *dnskey;
|
||||
tmpkey.flags &= ~DNS_KEYFLAG_REVOKE;
|
||||
|
||||
result = dns_keytable_deletekey(sr, keyname, &tmpkey);
|
||||
if (result == ISC_R_SUCCESS) {
|
||||
/*
|
||||
* If key was found in secroots, then it was a
|
||||
|
||||
Reference in New Issue
Block a user