2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-09-01 23:25:38 +00:00

Merge branch 'aram/catz-processing-skip-warnings-for-some-rrset-types' into 'main'

catz: don't log failure warnings when failure is expected for the type

See merge request isc-projects/bind9!6373
This commit is contained in:
Arаm Sаrgsyаn
2022-06-02 10:32:05 +00:00
3 changed files with 24 additions and 0 deletions

View File

@@ -1,3 +1,6 @@
5899. [func] Don't try to process DNSSEC-related and ZONEMD records
in catz. [GL #3380]
5898. [cleanup] Simplify BIND's internal DNS name compression API. As 5898. [cleanup] Simplify BIND's internal DNS name compression API. As
RFC 6891 explains, it isn't practical to deploy new RFC 6891 explains, it isn't practical to deploy new
label types or compression methods, so it isn't label types or compression methods, so it isn't

View File

@@ -45,3 +45,6 @@ Bug Fixes
- Key files were updated every time the ``dnssec-policy`` key manager ran, - Key files were updated every time the ``dnssec-policy`` key manager ran,
whether the metadata has changed or not. BIND now checks if changes were whether the metadata has changed or not. BIND now checks if changes were
applied before writing out the key files. :gl:`#3302`. applied before writing out the key files. :gl:`#3302`.
- DNSSEC-signed catalog zones were not being processed correctly. This
has been fixed. :gl:`#3380`.

View File

@@ -2088,6 +2088,12 @@ cleanup:
return (result); return (result);
} }
static bool
catz_rdatatype_is_processable(const dns_rdatatype_t type) {
return (!dns_rdatatype_isdnssec(type) && type != dns_rdatatype_cds &&
type != dns_rdatatype_cdnskey && type != dns_rdatatype_zonemd);
}
void void
dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) { dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) {
dns_catz_zone_t *oldzone = NULL, *newzone = NULL; dns_catz_zone_t *oldzone = NULL, *newzone = NULL;
@@ -2230,6 +2236,17 @@ dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) {
result = dns_rdatasetiter_first(rdsiter); result = dns_rdatasetiter_first(rdsiter);
while (result == ISC_R_SUCCESS) { while (result == ISC_R_SUCCESS) {
dns_rdatasetiter_current(rdsiter, &rdataset); dns_rdatasetiter_current(rdsiter, &rdataset);
/*
* Skip processing DNSSEC-related and ZONEMD types,
* because we are not interested in them in the context
* of a catalog zone, and processing them will fail
* and produce an unnecessary warning message.
*/
if (!catz_rdatatype_is_processable(rdataset.type)) {
goto next;
}
result = dns_catz_update_process(catzs, newzone, name, result = dns_catz_update_process(catzs, newzone, name,
&rdataset); &rdataset);
if (result != ISC_R_SUCCESS) { if (result != ISC_R_SUCCESS) {
@@ -2251,6 +2268,7 @@ dns_catz_update_from_db(dns_db_t *db, dns_catz_zones_t *catzs) {
cname, classbuf, typebuf, cname, classbuf, typebuf,
isc_result_totext(result)); isc_result_totext(result));
} }
next:
dns_rdataset_disassociate(&rdataset); dns_rdataset_disassociate(&rdataset);
result = dns_rdatasetiter_next(rdsiter); result = dns_rdatasetiter_next(rdsiter);
} }