Package: dnssec-tools
Version: 1.13-1
Severity: important
Tags: upstream patch

While testing zonesigner to set up DNSSec signed zones I kept getting file not
found errors whenever I tried using -kskdirectory and -zskdirectory to put the
keys in a separate directory from the zone files.

After some digging in the code I found out why -- the perl script calls system
with the arguments ('mv', "$key*", $destination). The problem:  system()
doesn't intrinsically glob, so it was looking for a file named key*, not all
files starting with key.

The issue is present both in 1.9 (squeeze) and 1.13 (testing/wheezy, sid).

I've attached a patch that fixes the problem.


-- System Information:
Debian Release: 7.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 3.7.0 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages dnssec-tools depends on:
ii  bind9utils           1:9.8.4.dfsg.P1-5
ii  libmailtools-perl    2.09-1
ii  libnet-dns-perl      0.68-1.1
ii  libnet-dns-sec-perl  0.16-2
ii  libtimedate-perl     1.2000-1
ii  perl                 5.14.2-17

Versions of packages dnssec-tools recommends:
ii  bind9  1:9.8.4.dfsg.P1-5

dnssec-tools suggests no packages.
--- tools/scripts/zonesigner	2013-02-04 13:36:29.000000000 +0100
+++ tools/scripts/zonesigner.new	2013-02-04 13:38:22.000000000 +0100
@@ -2203,7 +2203,7 @@
 
 		foreach my $ksk (@kskcurlist)
 		{
-			@args = ($MV, "$ksk.*", $kskdir);
+			@args = ($MV, <$ksk.*>, $kskdir);
 			System(@args);
 			if ($? != 0)
 			{
@@ -2214,7 +2214,7 @@
 
 		foreach my $ksk (@kskpublist)
 		{
-			@args = ($MV, "$ksk.*", $kskdir);
+			@args = ($MV, <$ksk.*>, $kskdir);
 			System(@args);
 			if ($? != 0)
 			{
@@ -2244,7 +2244,7 @@
 
 		foreach my $zsk (@zskcurlist)
 		{
-			@args = ($MV, "$zsk.*", $zskdir);
+			@args = ($MV, <$zsk.*>, $zskdir);
 			System(@args);
 			if ($? != 0)
 			{
@@ -2255,7 +2255,7 @@
 
 		foreach my $zsk (@zskpublist)
 		{
-			@args = ($MV, "$zsk.*", $zskdir);
+			@args = ($MV, <$zsk.*>, $zskdir);
 			System(@args);
 			if ($? != 0)
 			{
@@ -2266,7 +2266,7 @@
 
 		foreach my $zsk (@zsknewlist)
 		{
-			@args = ($MV, "$zsk.*", $zskdir);
+			@args = ($MV, <$zsk.*>, $zskdir);
 			System(@args);
 			if ($? != 0)
 			{

Reply via email to