diff -r 86418a892c76 -r c44bc1c8e396 dnssec-keytool.pl
--- a/dnssec-keytool.pl Thu Dec 30 12:42:59 2010 +0100
+++ b/dnssec-keytool.pl Thu Dec 30 15:29:33 2010 +0100
@@ -4,11 +4,17 @@
use strict;
use FindBin;
use File::Temp;
+use Getopt::Long;
+use Pod::Usage;
sub read_conf;
sub read_argv($);
sub rm_keys(@);
+sub ck_zone(@);
+sub creat_ksk(@);
sub creat_zsk(@);
+sub post_creat(@);
+
MAIN: {
my @zone;
@@ -28,6 +34,30 @@
post_creat($conf{master_dir}, @zone);
}
+sub read_argv ($) {
+ my $master_dir = $_[0];
+ my $zone;
+ my $do; # return
+ my @zone; # return
+
+ GetOptions(
+ "z" => sub { $do = "zsk" },
+ "k" => sub { $do = "ksk" },
+ "h" => sub {pod2usage},
+ "r" => sub { $do = "rm" },
+ "c" => sub { $do = "ck" },
+ ) or pod2usage;
+
+ # checks the zones in argv if there are managed zones
+ for (@ARGV) {
+ chomp($zone = `idn --quiet "$_"`);
+ if (-e "$master_dir/$zone/$zone") {
+ push @zone, $zone;
+ }
+ }
+ return ($do, @zone);
+}
+
sub read_conf {
# read configuration
@@ -53,45 +83,6 @@
return %return;
}
-sub read_argv ($) {
-
- # evaluate argv or print the help
- my $master_dir = $_[0];
-
- my $arg = shift @ARGV;
- my $zone;
- my $do; # return
- my @zone; # return
-
- if (!defined $arg) {
- print " usage: dnssec-keytool