From 96bfc3424781d66e5f9412d37476ca14b4ed0cbc Mon Sep 17 00:00:00 2001 From: Jamie Cameron Date: Wed, 27 Sep 2023 16:36:21 -0700 Subject: [PATCH] Clean up code to set per-domain allow-transfer and also-notify --- bind8/bind8-lib.pl | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/bind8/bind8-lib.pl b/bind8/bind8-lib.pl index 87283202d..3dd7af3bb 100755 --- a/bind8/bind8-lib.pl +++ b/bind8/bind8-lib.pl @@ -1977,20 +1977,24 @@ push(@{$dir->{'members'}}, { 'name' => 'file', 'values' => [ $file ] } ); # Add slave IPs -if (@$slaves) { +my (@notify, @transfer); +foreach my $s (@$slaves) { + push(@notify, { 'name' => $s }); + push(@transfer, { 'name' => $s }); + } +if (@notify) { my $also = { 'name' => 'also-notify', 'type' => 1, - 'members' => [ ] }; + 'members' => \@notify}; + push(@{$dir->{'members'}}, $also); + push(@{$dir->{'members'}}, { 'name' => 'notify', + 'values' => [ 'yes' ] }); + } +if (@transfer) { my $allow = { 'name' => 'allow-transfer', 'type' => 1, 'members' => [ ] }; - foreach my $s (@$slaves) { - push(@{$also->{'members'}}, { 'name' => $s }); - push(@{$allow->{'members'}}, { 'name' => $s }); - } - push(@{$dir->{'members'}}, $also, $allow); - push(@{$dir->{'members'}}, { 'name' => 'notify', - 'values' => [ 'yes' ] }); + push(@{$dir->{'members'}}, $allow); } # Create the zone file, with records