support different algos

This commit is contained in:
Florian Obser 2017-04-24 20:55:41 +02:00
parent f8327c312f
commit 62bd7cb7a1

View File

@ -32,6 +32,7 @@ use constant END_FOUND =>3;
my $port = 53; my $port = 53;
my $ttl = 3600; my $ttl = 3600;
my $help = 0; my $help = 0;
my $tsigalgo = 'hmac-md5';
my ($oldcert, $cert, $tsigname, $tsigkey, $server, $verbose, $tsig); my ($oldcert, $cert, $tsigname, $tsigkey, $server, $verbose, $tsig);
my ($old_rr, $new_rr, $update, $resolver, $reply); my ($old_rr, $new_rr, $update, $resolver, $reply);
@ -43,7 +44,8 @@ GetOptions("help|?" => \$help,
"cert=s" => \$cert, "cert=s" => \$cert,
"ttl=i" => \$ttl, "ttl=i" => \$ttl,
"tsigname=s" => \$tsigname, "tsigname=s" => \$tsigname,
"tsigkey=s" => \$tsigkey) "tsigkey=s" => \$tsigkey,
"tsigalgo=s" => \$tsigalgo)
or die("Error in command line arguments\n"); or die("Error in command line arguments\n");
pod2usage(1) if ($help or scalar(@ARGV) != 2); pod2usage(1) if ($help or scalar(@ARGV) != 2);
@ -94,6 +96,7 @@ if (defined $old_rr && defined $new_rr) {
if (defined $tsigname && defined $tsigkey) { if (defined $tsigname && defined $tsigkey) {
$tsig = Net::DNS::RR::TSIG->create($tsigname, $tsigkey); $tsig = Net::DNS::RR::TSIG->create($tsigname, $tsigkey);
$tsig->algorithm($tsigalgo);
say $tsig->string if ($verbose); say $tsig->string if ($verbose);
$update->push( additional => $tsig); $update->push( additional => $tsig);
} }
@ -166,6 +169,7 @@ dnsupdate_tlsa [options] zone dnsname
-port DNS port -port DNS port
-tsigname Name of tsig key -tsigname Name of tsig key
-tsigkey tsig key -tsigkey tsig key
-tsigalgo tsig algorithm
-oldcert old certificate, to remote TLSA record -oldcert old certificate, to remote TLSA record
-cert current certificate, to add TLSA record -cert current certificate, to add TLSA record