improve behavior of != operator
[freeside.git] / bin / bind.export
index 64d4406..a3bbd1a 100755 (executable)
@@ -31,7 +31,8 @@ foreach my $export ( @exports ) {
   my $prefix = "$spooldir/$machine";
 
   my $bind_rel = $export->option('bind_release');
-  my $ndc_cmd = ($bind_rel eq 'BIND9') ? 'rndc' : 'ndc';
+  my $ndc_cmd = $export->option('reload')
+                || ( ($bind_rel eq 'BIND9') ? 'rndc' : 'ndc' );
   my $minttl = $export->option('bind9_minttl');
 
   #prevent old domain files from piling up
@@ -42,10 +43,12 @@ foreach my $export ( @exports ) {
   open(NAMED_CONF,">$prefix/named.conf")
     or die "can't open $prefix/named.conf: $!";
 
-  open(CONF_HEADER,"<$prefix/named.conf.HEADER")
-    or die "can't open $prefix/named.conf.HEADER: $!";
-  while (<CONF_HEADER>) { print NAMED_CONF $_; }
-  close CONF_HEADER;
+  if ( -e "$prefix/named.conf.HEADER" ) {
+    open(CONF_HEADER,"<$prefix/named.conf.HEADER")
+      or die "can't open $prefix/named.conf.HEADER: $!";
+    while (<CONF_HEADER>) { print NAMED_CONF $_; }
+    close CONF_HEADER;
+  }
 
   my $zonepath = $export->option('zonepath');
   $zonepath =~ s/\/$//;
@@ -69,6 +72,7 @@ zone "$domain" {
 };
 
 END
+      unlink "$prefix/db.$domain" if -e "$prefix/db.$domain";
 
     } else {
 
@@ -144,10 +148,12 @@ foreach my $sexport ( @sexports ) { #false laziness with above
   open(NAMED_CONF,">$prefix/named.conf")
     or die "can't open $prefix/named.conf: $!";
 
-  open(CONF_HEADER,"<$prefix/named.conf.HEADER")
-    or die "can't open $prefix/named.conf.HEADER: $!";
-  while (<CONF_HEADER>) { print NAMED_CONF $_; }
-  close CONF_HEADER;
+  if ( -e "$prefix/named.conf.HEADER" ) {
+    open(CONF_HEADER,"<$prefix/named.conf.HEADER")
+      or die "can't open $prefix/named.conf.HEADER: $!";
+    while (<CONF_HEADER>) { print NAMED_CONF $_; }
+    close CONF_HEADER;
+  }
 
   my $masters = $sexport->option('master');