|
Server : Apache/2.2.2 (Fedora) System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686 User : apache ( 48) PHP Version : 5.2.9 Disable Function : NONE Directory : /usr/libexec/webmin/bind8/ |
Upload File : |
#!/usr/bin/perl
# create_hint.cgi
# Create a new root zone
require './bind8-lib.pl';
&ReadParse();
&error_setup($text{'hcreate_err'});
$access{'master'} || &error($text{'hcreate_ecannot'});
$access{'ro'} && &error($text{'master_ero'});
# Validate inputs
&allowed_zone_file(\%access, $in{'file'}) || &error($text{'hcreate_efile'});
&lock_file(&make_chroot($in{'file'}));
open(FILE, ">>".&make_chroot($in{'file'})) || &error($text{'hcreate_efile2'});
close(FILE);
# Get the root server information
if ($in{'real'} == 1) {
# Download from internic
$err = &download_root_zone($in{'file'});
&error($err) if ($err);
}
elsif ($in{'real'} == 2) {
# Use webmin's copy
©_source_dest("$module_root_directory/db.cache",
&make_chroot($in{'file'}));
}
else {
# Just check the existing file
@recs = &read_zone_file(&make_chroot($in{'file'}), ".");
&error($text{'mcreate_erecs'}) if (@recs < 2);
}
&unlock_file(&make_chroot($in{'file'}));
# Create zone structure
$dir = { 'name' => 'zone',
'values' => [ '.' ],
'type' => 1,
'members' => [ { 'name' => 'type',
'values' => [ 'hint' ] },
{ 'name' => 'file',
'values' => [ $in{'file'} ] }
]
};
# Add a new hint zone
$conf = &get_config();
&create_zone($dir, $conf, $in{'view'});
&webmin_log("create", "hint", ".", \%in);
&redirect("");