mirror of
https://github.com/webmin/webmin.git
synced 2025-07-20 16:48:46 +00:00
47 lines
1.1 KiB
Perl
Executable File
47 lines
1.1 KiB
Perl
Executable File
#!/usr/local/bin/perl
|
|
# Create a signing key for a zone, add it, and sign the zone
|
|
use strict;
|
|
use warnings;
|
|
no warnings 'redefine';
|
|
no warnings 'uninitialized';
|
|
our (%access, %text, %in);
|
|
|
|
require './bind8-lib.pl';
|
|
|
|
&error_setup($text{'dt_zone_err'});
|
|
&ReadParse();
|
|
my $zone = &get_zone_name_or_error($in{'zone'}, $in{'view'});
|
|
my $dom = $zone->{'name'};
|
|
&can_edit_zone($zone) ||
|
|
&error($text{'master_ecannot'});
|
|
$access{'dnssec'} || &error($text{'dnssec_ecannot'});
|
|
my $desc = &ip6int_to_net(&arpa_to_ip($dom));
|
|
|
|
&ui_print_unbuffered_header($desc, $text{'dt_enable_title'}, "",
|
|
undef, undef, undef, undef, &restart_links($zone));
|
|
|
|
if (&have_dnssec_tools_support()) {
|
|
my $err;
|
|
my $nsec3 = 0;
|
|
|
|
if ($in{'dne'} eq "NSEC") {
|
|
$nsec3 = 0;
|
|
} elsif ($in{'dne'} eq "NSEC3") {
|
|
$nsec3 = 1;
|
|
} else {
|
|
&error($text{'dt_zone_edne'});
|
|
}
|
|
|
|
# Sign zone
|
|
print &text('dt_zone_signing', $dom),"<br>\n";
|
|
$err = &dt_sign_zone($zone, $nsec3);
|
|
&error($err) if ($err);
|
|
print $text{'dt_zone_done'},"<br>\n";
|
|
|
|
&webmin_log("zonekeyon", undef, $dom);
|
|
}
|
|
|
|
&ui_print_footer("edit_master.cgi?zone=$in{'zone'}&view=$in{'view'}",
|
|
$text{'master_return'});
|
|
|