diff options
-rw-r--r-- | FS/FS/part_export.pm | 6 | ||||
-rw-r--r-- | bin/svc_domain.import | 29 |
2 files changed, 21 insertions, 14 deletions
diff --git a/FS/FS/part_export.pm b/FS/FS/part_export.pm index e3b2eb3fc..752bbb1d3 100644 --- a/FS/FS/part_export.pm +++ b/FS/FS/part_export.pm @@ -540,9 +540,9 @@ tie my %bind_options, 'Tie::IxHash', tie my %bind_slave_options, 'Tie::IxHash', #'machine' => { label=> 'Slave machine' }, - 'master' => { label=> 'Master IP address' }, - 'named_conf' => { label => 'named.conf location', - default=> '/etc/bind/named.conf' }, + 'master' => { label=> 'Master IP address(s) (semicolon-separated)' }, + 'named_conf' => { label => 'named.conf location', + default => '/etc/bind/named.conf' }, ; diff --git a/bin/svc_domain.import b/bin/svc_domain.import index 95d2ead78..06dd12e08 100644 --- a/bin/svc_domain.import +++ b/bin/svc_domain.import @@ -1,6 +1,6 @@ #!/usr/bin/perl -w # -# $Id: svc_domain.import,v 1.4 2002-04-20 11:57:35 ivan Exp $ +# $Id: svc_domain.import,v 1.5 2002-04-30 05:43:34 ivan Exp $ use strict; use vars qw( %d_part_svc ); @@ -22,7 +22,8 @@ my $user = shift or die &usage; adminsuidsetup $user; use vars qw($spooldir); -$spooldir = "/usr/local/etc/freeside/export.". datasrc; +$spooldir = "/usr/local/etc/freeside/export.". datasrc. "/bind"; +mkdir $spooldir unless -d $spooldir; %d_part_svc = map { $_->svcpart, $_ } qsearch('part_svc',{'svcdb'=>'svc_domain'}); @@ -36,16 +37,20 @@ $domain_svcpart = query "Enter part number for domains: ", 'irk', [ keys %d_part_svc ]; $^W=1; - print "\n\n", <<END; +print "\n\n", <<END; Enter the location and name of your primary named.conf file, for example "ns.isp.com:/var/named/named.conf" END - my($named_conf)=&getvalue(":"); - #iscp("root\@$named_conf","$spooldir/named.conf.import"); - scp("root\@$named_conf","$spooldir/named.conf.import"); - -use vars qw($named_machine); +my($named_conf)=&getvalue(":"); + +use vars qw($named_machine $prefix); $named_machine = (split(/:/, $named_conf))[0]; +$prefix = "$spooldir/$named_machine"; +mkdir $prefix unless -d $prefix; + +#iscp("root\@$named_conf","$prefix/named.conf.import"); +scp("root\@$named_conf","$prefix/named.conf.import"); + sub getvalue { my $prompt = shift; @@ -62,7 +67,7 @@ print "\n\n"; $FS::svc_domain::whois_hack=1; my $p = Parser->new; -$p->parse_file("$spooldir/named.conf.import"); +$p->parse_file("$prefix/named.conf.import"); print "\nBIND import completed.\n"; @@ -89,6 +94,8 @@ BEGIN { sub handle_zone { my($self, $name, $class, $type, $options) = @_; return unless $class eq 'in'; + return if grep { $name eq $_ } + ( qw( . localhost 127.in-addr.arpa 0.in-addr.arpa 255.in-addr.arpa ) ); my $domain = new FS::svc_domain( { svcpart => $main::domain_svcpart, @@ -126,10 +133,10 @@ BEGIN { $sourcefile = "$named_dir/$sourcefile" unless $file =~ /^\//; use Net::SCP qw(iscp scp); scp("root\@$main::named_machine:$sourcefile", - "$main::spooldir/$basefile.import"); + "$main::prefix/$basefile.import"); use DNS::ZoneParse; - my $zone = DNS::ZoneParse->new("$main::spooldir/$basefile.import"); + my $zone = DNS::ZoneParse->new("$main::prefix/$basefile.import"); my $dump = $zone->Dump; |