[perltidy]
authorHeiko Schlittermann <hs@schlittermann.de>
Fri, 05 Nov 2010 07:09:50 +0100
changeset 16 638a74f94981
parent 15 d7e673f7e596
child 17 09298aaccb94
[perltidy]
update-serial.pl
--- a/update-serial.pl	Fri Nov 05 07:09:24 2010 +0100
+++ b/update-serial.pl	Fri Nov 05 07:09:50 2010 +0100
@@ -5,12 +5,12 @@
 # … work in progress do integrate dnssec (branch suess)
 #
 # Update the serial numbers in zone files
-# The serial number needs to match a specified pattern (see 
+# The serial number needs to match a specified pattern (see
 # the line marked w/ PATTERN)
-# 
+#
 # Limitations:
 # - the zonefile needs to fit entirely into memory
-# 
+#
 # ToDo:
 # . test against an md5 sum, not just the date of the stamp file
 
@@ -25,18 +25,18 @@
 #my $dnssec_sign = "../dnstools/dnssec-sign";
 my $ME = basename $0;
 
-my $master_dir = "/etc/bind/master";
+my $master_dir  = "/etc/bind/master";
 my $opt_verbose = 0;
-my $opt_reload = 0;
-my $opt_dnssec = 0;
-
+my $opt_reload  = 0;
+my $opt_dnssec  = 0;
 
 {
-	my @cleanup;
-	sub cleanup(@) { 
-		return push @cleanup, @_ if @_;
-		unlink @cleanup; 
-	}
+    my @cleanup;
+
+    sub cleanup(@) {
+        return push @cleanup, @_ if @_;
+        unlink @cleanup;
+    }
 }
 
 END { cleanup(); }
@@ -45,51 +45,51 @@
 
 MAIN: {
 
-	GetOptions(
-		"verbose!" => \$opt_verbose,
-		"yes|reload!" => \$opt_reload,
-		"dnssec!" => \$opt_dnssec,
-	) or pod2usage();
+    GetOptions(
+        "verbose!"    => \$opt_verbose,
+        "yes|reload!" => \$opt_reload,
+        "dnssec!"     => \$opt_dnssec,
+    ) or pod2usage();
 
-	warn "DNSSEC support is currently disabled!\n"
-		if not $opt_dnssec;
+    warn "DNSSEC support is currently disabled!\n"
+      if not $opt_dnssec;
 
-	-d $master_dir or die "directory $master_dir not found\n" if not @ARGV;
-	my @files = map { (-d) ? glob("$_/*") : $_ } @ARGV ? @ARGV : $master_dir;
+    -d $master_dir or die "directory $master_dir not found\n" if not @ARGV;
+    my @files = map { (-d) ? glob("$_/*") : $_ } @ARGV ? @ARGV : $master_dir;
 
-	my $changed = 0;
-	foreach my $file (@files) {
+    my $changed = 0;
+    foreach my $file (@files) {
 
-		$file = undef, next if basename($file) !~ /\./;
-		$file = undef, next if $file =~ /\.bak|~$/;
+        $file = undef, next if basename($file) !~ /\./;
+        $file = undef, next if $file =~ /\.bak|~$/;
 
-		# zone file could be
-		#	$master_dir/xxx.de
-		#    or $master_dir/xxx.de/xxx.de
-		$file = "$file/" . basename($file) if -d $file;
+        # zone file could be
+        #	$master_dir/xxx.de
+        #    or $master_dir/xxx.de/xxx.de
+        $file = "$file/" . basename($file) if -d $file;
 
-		my $stamp_file = dirname($file) . "/.stamp/" . basename($file);	
-		print "$file:" if $opt_verbose;
+        my $stamp_file = dirname($file) . "/.stamp/" . basename($file);
+        print "$file:" if $opt_verbose;
 
-		if (stat $stamp_file and (stat _)[9] >= (stat $file)[9]) {
-			print " fresh, skipping." if $opt_verbose;
-			next;
-		}
+        if (stat $stamp_file and (stat _)[9] >= (stat $file)[9]) {
+            print " fresh, skipping." if $opt_verbose;
+            next;
+        }
 
-		$_ = dirname($stamp_file);
-		mkdir or die "mkdir $_: $!\n" if not -d;
+        $_ = dirname($stamp_file);
+        mkdir or die "mkdir $_: $!\n" if not -d;
 
-		my $now = time;
+        my $now = time;
 
-		open(my $in, "+<", $file) or do {
-			print "??: $!" if $opt_verbose;
-			next;
-		};
+        open(my $in, "+<", $file) or do {
+            print "??: $!" if $opt_verbose;
+            next;
+        };
 
-		$_ = join "", <$in>;
+        $_ = join "", <$in>;
 
-		# this pattern is too complicated
-		s/^(?!;)(?<pre>			# skip lines starting with comment
+        # this pattern is too complicated
+        s/^(?!;)(?<pre>			# skip lines starting with comment
 			 (?:\S+)?			# label
 			 (?:\s+\d+.)?		# ttl
 			 (?:\s+in)?			# class
@@ -101,53 +101,65 @@
 			 (?<serial>\d{10})		# serial
 		/$+{pre} . next_serial($+{serial})/exims or next;
 
-		print "$+{serial} ⇒ @{[next_serial($+{serial})]}" if $opt_verbose;
+        print "$+{serial} ⇒ @{[next_serial($+{serial})]}" if $opt_verbose;
 
-		copy($file => "$file~") or die("Can't copy $file -> $file~: $!\n");
-		seek($in, 0, 0) or die "Can't seek in $file: $!\n";
-		truncate($in, 0) or die "Can't truncate $file: $!\n";
-		print $in $_;
+        copy($file => "$file~") or die("Can't copy $file -> $file~: $!\n");
+        seek($in, 0, 0) or die "Can't seek in $file: $!\n";
+        truncate($in, 0) or die "Can't truncate $file: $!\n";
+        print $in $_;
+
+        open(my $out, ">$stamp_file");
+        close($out);
 
-		open(my $out, ">$stamp_file");
-		close($out);
-
-		print "$file\n" if not $opt_verbose;
+        print "$file\n" if not $opt_verbose;
 
-		$changed++;
-	} continue {
-		print "\n" if $opt_verbose and defined $file;
-	}
+        $changed++;
+    }
+    continue {
+        print "\n" if $opt_verbose and defined $file;
+    }
+
+    if ($changed) {
+        my $pidfile;
 
-	if ($changed) {
-		my $pidfile;
-
-		print "** Changed $changed files, the nameserver needs to be reloaded!\n";
-		foreach (qw(/var/run/bind/run/named.pid /var/run/named.pid /etc/named.pid)) { 
-			-f $_ and $pidfile = $_ and last; }
+        print
+          "** Changed $changed files, the nameserver needs to be reloaded!\n";
+        foreach (
+            qw(/var/run/bind/run/named.pid /var/run/named.pid /etc/named.pid))
+        {
+            -f $_ and $pidfile = $_ and last;
+        }
 
-		if ($pidfile) {
-			if ($opt_reload) { $_ = "y"; print "** Nameserver will be reloaded\n"; } 
-			else { print "** Reload now? [Y/n]: "; $_ = <STDIN>; }
-			/^y|^$/i and system "rndc reload";
-		} else {
-			print "** No PID of a running named found.  Please reload manually.\n";
-		}
+        if ($pidfile) {
+            if ($opt_reload) {
+                $_ = "y";
+                print "** Nameserver will be reloaded\n";
+            }
+            else { print "** Reload now? [Y/n]: "; $_ = <STDIN>; }
+            /^y|^$/i and system "rndc reload";
+        }
+        else {
+            print
+              "** No PID of a running named found.  Please reload manually.\n";
+        }
 
-	}
+    }
 }
 
 {
-	my $date;
-sub next_serial($) {
-	if (not defined $date) {
-		my ($dd, $mm, $yy) = (localtime)[3..5];
-		$date = sprintf "%04d%02d%02d" => $yy < 1900 ? $yy + 1900 : $yy,  $mm + 1, $dd;
-	}
+    my $date;
 
-	$_[0] =~ /(?<date>\d{8})(?<cnt>\d\d)/;
-	return $date . sprintf("%02d", $+{cnt}+1) if $date eq $+{date};
-	return "${date}00";
-}
+    sub next_serial($) {
+        if (not defined $date) {
+            my ($dd, $mm, $yy) = (localtime)[3 .. 5];
+            $date = sprintf "%04d%02d%02d" => $yy < 1900 ? $yy + 1900 : $yy,
+              $mm + 1, $dd;
+        }
+
+        $_[0] =~ /(?<date>\d{8})(?<cnt>\d\d)/;
+        return $date . sprintf("%02d", $+{cnt} + 1) if $date eq $+{date};
+        return "${date}00";
+    }
 }
 
 __END__