52 lines
1.6 KiB
Diff
52 lines
1.6 KiB
Diff
From 9524c493c9534654adb5c363972adcc521c1907b Mon Sep 17 00:00:00 2001
|
|
From: Mark Andrews <marka@isc.org>
|
|
Date: Fri, 23 Sep 2022 16:52:44 +1000
|
|
Subject: [PATCH] Check that primary key names have not changed
|
|
|
|
When looking for changes in a catalog zone member zone we need to
|
|
also check if the TSIG key name associated with a primary server
|
|
has be added, removed or changed.
|
|
|
|
Conflict: NA
|
|
Reference: https://gitlab.isc.org/isc-projects/bind9/-/commit/9524c493c9534654adb5c363972adcc521c1907b
|
|
(cherry picked from commit 9172bd9b5a0b039cea187b6c7cc2c1314210c5d6)
|
|
---
|
|
lib/dns/catz.c | 16 +++++++++++++++-
|
|
1 file changed, 15 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/lib/dns/catz.c b/lib/dns/catz.c
|
|
index e46549be5e..702b081940 100644
|
|
--- a/lib/dns/catz.c
|
|
+++ b/lib/dns/catz.c
|
|
@@ -322,6 +322,20 @@ dns_catz_entry_cmp(const dns_catz_entry_t *ea, const dns_catz_entry_t *eb) {
|
|
return (false);
|
|
}
|
|
|
|
+ for (size_t i = 0; i < eb->opts.masters.count; i++) {
|
|
+ if ((ea->opts.masters.keys[i] == NULL) !=
|
|
+ (eb->opts.masters.keys[i] == NULL)) {
|
|
+ return (false);
|
|
+ }
|
|
+ if (ea->opts.masters.keys[i] == NULL) {
|
|
+ continue;
|
|
+ }
|
|
+ if (!dns_name_equal(ea->opts.masters.keys[i],
|
|
+ eb->opts.masters.keys[i])) {
|
|
+ return (false);
|
|
+ }
|
|
+ }
|
|
+
|
|
/* If one is NULL and the other isn't, the entries don't match */
|
|
if ((ea->opts.allow_query == NULL) != (eb->opts.allow_query == NULL)) {
|
|
return (false);
|
|
@@ -350,7 +364,7 @@ dns_catz_entry_cmp(const dns_catz_entry_t *ea, const dns_catz_entry_t *eb) {
|
|
}
|
|
}
|
|
|
|
- /* xxxwpk TODO compare dscps/keys! */
|
|
+ /* xxxwpk TODO compare dscps! */
|
|
return (true);
|
|
}
|
|
|
|
--
|
|
2.23.0
|