summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dns_wizard/Bind.pm58
1 files changed, 26 insertions, 32 deletions
diff --git a/dns_wizard/Bind.pm b/dns_wizard/Bind.pm
index d722c2b7..9df7464f 100644
--- a/dns_wizard/Bind.pm
+++ b/dns_wizard/Bind.pm
@@ -51,6 +51,7 @@ my $TEXTINFO = "dns Wizard";
my $REP_SAVE = "/tmp/bck";
my $ZONE_DIR = $NAMED_DIR . "/zone";
my $DATE = `date +%d-%m-20%y`;
+my $ft = "/var/named/master_srv";
my $o = {
@@ -87,11 +88,10 @@ my %level = (
my @list_hosts;
sub list_hosts {
-# undef @list_hosts;
my $iprev = get_spe_ip('iprev', $IPSERVER);
my $db = "$ZONE_DIR/db.$iprev.hosts";
my $ipnor = get_spe_ip('iprev', $IPSERVER);
- push @list_hosts, "";
+# push @list_hosts, "";
foreach (cat_($db)) {
my ($h) = /\d{1,3}\tIN\tPTR\t(.*)/;
!$h or push @list_hosts,$h;
@@ -107,6 +107,7 @@ $o->{pages} = {
$o->{var}{wiz_level} ||= 1;
},
post => sub {
+ -f $ft or return 'error_notmaster';
if ($o->{var}{wiz_level} == 2) {
return 'slave' }
elsif ($o->{var}{wiz_level} == 3) {
@@ -132,7 +133,7 @@ $o->{pages} = {
removehost => {
name => N("Remove host:") . "\n\n" . N("Remove a host in existing dns configuration.") . "\n\n" . N("Choose the host you want to remove in the following list."),
data => [
- { label => N("Name of the machine:"), val => \$o->{var}{CLIENTNAME}, fixed_list => \@list_hosts },
+ { label => N("Computer Name:"), val => \$o->{var}{CLIENTNAME}, fixed_list => \@list_hosts },
],
post => \&list_hosts,
next => 'summaryremove',
@@ -140,16 +141,16 @@ $o->{pages} = {
slave => {
name => N("Slave DNS server") . "\n\n" . N("A slave name server will take some of the burden away from your primary name server, and will also function as a backup server, in case your master server is unreachable."),
data => [
- { label => N("IP of master DNS server:"), val => \$o->{var}{IPMASTER} },
+ { label => N("Address IP of the master DNS server:"), val => \$o->{var}{IPMASTER} },
],
post => \&check_ipm,
next => 'summaryslave',
},
ipforward => {
- name => N("IP of your forwarders") . "\n\n" . N("Forwarding occurs on only those queries for which the server is not authoritative and does not have the answer in its cache.") . "\n\n" . N("So if you need it and know your ip forwarder enter IP address of it, if you dont know leave it blank"),
+ name => N("IP of your forwarder") . "\n\n" . N("Forwarding occurs on only those queries for which the server is not authoritative and does not have the answer in its cache.") . "\n\n" . N("So if you need it and know your ip forwarder enter IP address of it, if you dont know leave it blank"),
data => [
- { label => N("IP forwarders:"), val => \$o->{var}{IPOFFORWARDER} },
+ { label => N("IP forwarder:"), val => \$o->{var}{IPOFFORWARDER} },
],
post => \&check_ipf,
next => 'addsearch',
@@ -163,17 +164,17 @@ $o->{pages} = {
next => 'summary',
},
error_ipf => {
- name => N("Error IP of forwarder.") . "\n\n" . N("This is not a valid IP address for your forwarder... press next to continue"),
+ name => N("This is not a valid IP address for your forwarder... press next to continue"),
ignore => 1,
next => 'ipforward',
},
error_ipm => {
- name => N("Error Ip of DNS master.") . "\n\n" . N("This is not a valid Master DNS IP address... press next to continue"),
+ name => N("This is not a valid Master DNS IP address... press next to continue"),
ignore => 1,
next => 'slave',
},
error_iph => {
- name => N("Error Ip of new host.") . "\n\n" . N("This is not a valid IP address... press next to continue"),
+ name => N("This is not a valid IP address... press next to continue"),
ignore => 1,
next => 'addhost',
},
@@ -204,8 +205,8 @@ $o->{pages} = {
},
summaryslave => {
name => N("Ok Now building your DNS slave configuration") . "\n\n" . N("with this configuration:"),
- data => [
- { label => N("Ip of master DNS server:"), fixed_val => \$o->{var}{IPMASTER} },
+ data => [
+ { label => N("Address IP of the master DNS server:"), fixed_val => \$o->{var}{IPMASTER} },
],
post => \&do_it_slave,
next => 'end',
@@ -213,8 +214,8 @@ $o->{pages} = {
summaryadd => {
name => N("Client with this identification will be added to your DNS"),
data => [
- { label => N("Name of the machine:"), fixed_val => \$o->{var}{CLIENTNAME} },
- { label => N("IP number of the machine:"), fixed_val => \$o->{var}{CLIENTIP} },
+ { label => N("Computer name:"), fixed_val => \$o->{var}{CLIENTNAME} },
+ { label => N("Computer IP number:"), fixed_val => \$o->{var}{CLIENTIP} },
],
post => \&do_it_add,
next => 'endadd',
@@ -222,17 +223,17 @@ $o->{pages} = {
summaryremove => {
name => N("Client with this identification will be removed to your DNS"),
data => [
- { label => N("Name of the machine:"), val => \$o->{var}{CLIENTNAME}, fixed_list => \@list_hosts },
+ { label => N("Computer name:"), val => \$o->{var}{CLIENTNAME}, fixed_list => \@list_hosts },
],
post => \&do_it_remove,
next => 'endremove',
},
summary => {
- name => N("Ok Now building your DNS configuration") . "\n\n" . N("with this configuration:"),
+ name => N("The DNS server is about to be configured with the following configuration"),
data => [
{ label => N("Server Hostname:"), fixed_val => \$o->{var}{SHORTHOSTNAME} },
{ label => N("Domainname:"), fixed_val => \$o->{var}{DOMAINNAME} },
- { label => N("IP forwarders:"), fixed_val => \$o->{var}{IPOFFORWARDER} },
+ { label => N("IP forwarder:"), fixed_val => \$o->{var}{IPOFFORWARDER} },
{ label => N("add search domain:"), fixed_val => \$o->{var}{ADDSEARCH} },
],
post => \&do_it_master,
@@ -241,11 +242,17 @@ $o->{pages} = {
endadd => {
name => N("Congratulations"),
data => [ { label => N("The wizard successfully add host in your DNS.") } ],
+ post => sub {
+ $o->{var}{CLIENTNAME} = '';
+ $o->{var}{CLIENTIP} = '';
+ },
+ no_back => 1,
next => 'addhost',
},
endremove => {
name => N("Congratulations"),
data => [ { label => N("The wizard successfully remove host in your DNS.") } ],
+ no_back => 1,
end => 1,
next => 0,
},
@@ -258,20 +265,11 @@ $o->{pages} = {
},
};
-sub check_dhcp {
- $wiz->{net}->is_dhcp and return 'dhcp_warning';
-}
-
sub test_srv {
my $dir = "/var/named/zone";
-d $dir or return 'error_nosrv';
}
-sub test_master {
- my $ft = "/var/named/master_srv";
- -f $ft or return 'error_notmaster';
-}
-
sub interface_to_ip {
my ($interface) = @_;
my ($ip) = `/sbin/ip addr show dev $interface` =~ /^\s*inet\s+(\d+\.\d+\.\d+\.\d+)/m;
@@ -680,7 +678,6 @@ sub do_it_master {
return if $::testing;
my $in = 'interactive'->vnew('su', 'dns');
my $w = $in->wait_message(N("Master DNS server"), N("Configuring your system as Master DNS server ..."));
- my $ft = "/var/named/master_srv";
system("touch $ft");
do_it();
crea_iprev($IPSERVER, $DOMAINNAME);
@@ -719,7 +716,6 @@ sub get_shortname {
sub do_it_add {
return if $::testing;
- test_master();
test_srv();
my $iprev = get_spe_ip('iprev', $IPSERVER);
my $ipend = get_spe_ip('ipend', $o->{var}{CLIENTIP});
@@ -729,18 +725,16 @@ sub do_it_add {
} elsif (any { /$SNAME.$DOMAINNAME.$/ } cat_("$ZONE_DIR/db.$iprev.hosts")) {
return 'error_add';
} else {
- print "good add\n";
append_to_file("$ZONE_DIR/db.$DOMAINNAME.hosts",
- "$SNAME.$DOMAINNAME\tIN\tA\t$o->{var}{CLIENTIP}\n");
+ "$SNAME.$DOMAINNAME.\tIN\tA\t$o->{var}{CLIENTIP}\n");
append_to_file("$ZONE_DIR/db.$iprev.hosts",
- "$ipend\tIN\tPTR\t$SNAME.$DOMAINNAME\n");
+ "$ipend\tIN\tPTR\t$SNAME.$DOMAINNAME.\n");
}
system("service named reload");
}
sub do_it_remove {
return if $::testing;
- test_master();
test_srv();
my $iprev = get_spe_ip('iprev', $IPSERVER);
my $NAME = $o->{var}{CLIENTNAME};
@@ -749,7 +743,7 @@ sub do_it_remove {
s/^\s*$//;
} "$ZONE_DIR/db.$DOMAINNAME.hosts";
substInFile {
- s/^\d+\tIN\tPTR\t$NAME//;
+ s/^\d+\tIN\tPTR\t$NAME.*//;
s/^\s*$//;
} "$ZONE_DIR/db.$iprev.hosts";
system("service named reload");