Bug#633640: opendnssec-signer-tools: quicksorter doesn't work with relative domains for $INCLUDE directives

2011-07-12 Thread Hugh Davenport
Package: opendnssec-signer-tools
Severity: normal
Tags: patch


RFC 1035 states that an $INCLUDE directive is as follows (page 33)
$INCLUDE file-name [domain-name] [comment]
where domain-name is stated as follows (bottom of page 33)
. Domain names which do not end in a dot are called relative; the
actual domain is the concatenation of the relative part with an origin
specified in a $ORIGIN, $INCLUDE, or as an argument to the master file
loading routine.

opendnssec quicksorter util doesn't use the domain-name attached to
an $INCLUDE directive as a possible relative domain, and assumes it
is absolute. The patch attached checks whether a dot (.) is present,
and appends the origin if nessessary.

This won't be able to be applied upstream, as they no longer use the
quicksorter, but I would believe a similar problem exists.

-- System Information:
Debian Release: 6.0
  APT prefers stable
  APT policy: (950, 'stable'), (850, 'stable-updates'), (50, 'testing'), (25, 
'unstable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=en_NZ.UTF-8, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
---BeginMessage---
---
 signer/tools/quicksorter.c |7 +++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/signer/tools/quicksorter.c b/signer/tools/quicksorter.c
index 36855e7..a622d6d 100644
--- a/signer/tools/quicksorter.c
+++ b/signer/tools/quicksorter.c
@@ -407,6 +407,12 @@ int read_file(char* filename,
 while (*p  !isspace(*p))
 p++;
 *p = 0; /* terminate domain name */
+if (*(p - 1) != '.') {
+char tmp[MAX_NAME_LEN];
+strcpy(tmp, domain);
+strcat(strcat(tmp, .), origin);
+domain = tmp;
+}
 }
 else {
 domain = origin;
-- 
---End Message---


Bug#633640: opendnssec-signer-tools: quicksorter doesn't work with relative domains for $INCLUDE directives

2011-07-12 Thread Ondřej Surý
Hi Hugh,

there's a backported version 1.2.x in backports.debian.org, you can try that.

O.

On Tue, Jul 12, 2011 at 13:57, Hugh Davenport h...@davenport.net.nz wrote:
 Package: opendnssec-signer-tools
 Severity: normal
 Tags: patch


 RFC 1035 states that an $INCLUDE directive is as follows (page 33)
 $INCLUDE file-name [domain-name] [comment]
 where domain-name is stated as follows (bottom of page 33)
 . Domain names which do not end in a dot are called relative; the
 actual domain is the concatenation of the relative part with an origin
 specified in a $ORIGIN, $INCLUDE, or as an argument to the master file
 loading routine.

 opendnssec quicksorter util doesn't use the domain-name attached to
 an $INCLUDE directive as a possible relative domain, and assumes it
 is absolute. The patch attached checks whether a dot (.) is present,
 and appends the origin if nessessary.

 This won't be able to be applied upstream, as they no longer use the
 quicksorter, but I would believe a similar problem exists.

 -- System Information:
 Debian Release: 6.0
  APT prefers stable
  APT policy: (950, 'stable'), (850, 'stable-updates'), (50, 'testing'), (25, 
 'unstable')
 Architecture: i386 (i686)

 Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
 Locale: LANG=en_NZ.UTF-8, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8)
 Shell: /bin/sh linked to /bin/dash




-- 
Ondřej Surý ond...@sury.org



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org