--- a/update-serial Mon Aug 02 11:51:16 2010 +0200
+++ b/update-serial Mon Aug 02 12:34:02 2010 +0200
@@ -13,12 +13,14 @@
# the current directory)
# . optionally reload the named
+
use strict;
+use warnings;
use File::Basename;
use File::Copy;
-my $dnssec_sign = "/home/asuess/dnstools/dnssec-sign";
+my $dnssec_sign = "dnssec-sign";
my $master_dir = "/etc/bind/master";
my $ME = basename $0;
@@ -32,7 +34,7 @@
END { cleanup(); }
$ARGV[0] eq "-y" and $opt_yes = 1, shift;
-@Zones = @ARGV ? @ARGV : <$master_dir/*>;
+@Zones = @ARGV ? @ARGV : glob("$master_dir/*");
MAIN: {
@@ -46,12 +48,11 @@
$date = "$yy$mm$dd";
- while ($file = shift @Zones) {
+ while (my $file = shift @Zones) {
my $file_basename = basename($file);
$file =~ s#($master_dir)(/.*)#$1$2$2#;
-
local (*I, *O);
my $done = 0;
@@ -88,9 +89,9 @@
s/$serial/$sdate$scount/;
# dnssec - new sign
- if (-e "$dnssec_sign") {
- print `$dnssec_sign $file_basename`;
- }
+ system "$dnssec_sign $file_basename";
+ die "$dnssec_sign not found ($!)" if $? == -1;
+ exit 1 if $?;
};
print O;
}