Handle hostnames with upper-case letters
[webmin.git] / bind8 / freeze_zone.cgi
1 #!/usr/local/bin/perl
2 # freeze_zone.cgi
3 # Apply changes to one zone only using the ndc command
4
5 require './bind8-lib.pl';
6 &ReadParse();
7 $access{'ro'} && &error($text{'restart_ecannot'});
8 $access{'apply'} || &error($text{'restart_ecannot'});
9 $zone = &get_zone_name($in{'index'}, $in{'view'});
10 if ($zone->{'view'}) {
11         # Reload a zone in a view
12         $dom = $zone->{'name'};
13         &can_edit_zone($zone) || &error($text{'restart_ecannot'});
14         $out = &try_cmd("freeze '$dom' IN '$zone->{'view'}'");
15         }
16 else {
17         # Just reload one top-level zone
18         $dom = $zone->{'name'};
19         &can_edit_zone($zone) || &error($text{'restart_ecannot'});
20         $out = &try_cmd("freeze '$dom' 2>&1 </dev/null");
21         }
22 if ($? || $out =~ /failed|not found|error/i) {
23         &error(&text('restart_endc', "<tt>$out</tt>"));
24         }
25 &webmin_log("freeze", $dom);
26
27 $tv = $zone->{'type'};
28 &redirect(($tv eq "master" ? "edit_master.cgi" :
29           $tv eq "forward" ? "edit_forward.cgi" : "edit_slave.cgi").
30           "?index=$in{'index'}&view=$in{'view'}");
31