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)
{