Skip Menu |

This queue is for tickets about the Net-DNS-SEC CPAN distribution.

Report information
The Basics
Id: 90270
Status: resolved
Priority: 0/
Queue: Net-DNS-SEC

People
Owner: Nobody in particular
Requestors: 1fea [...] packet-pushers.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.16
Fixed in: (no value)



Subject: NSEC3->covered() should use case-insensitive comparisons
The covered() method of Net::DNS::RR::NSEC3 should be using case-insensitive string comparison on the hashes-as-strings: Index: NSEC3.pm =================================================================== --- NSEC3.pm (revision 1068) +++ NSEC3.pm (working copy) @@ -318,18 +318,18 @@ $self->saltbin, ); - if ( ($self->ownername() cmp $self->hnxtname() )== 1 ) { + if ( (lc($self->ownername()) cmp lc($self->hnxtname()) )== 1 ) { # last name in the zone. - return 1 if ( ( $hashedname cmp $self->hnxtname() ) == 1 ); - return 1 if ( ( $hashedname cmp $self->ownername() ) == -1 ); + return 1 if ( ( lc($hashedname) cmp lc($self->hnxtname()) ) == 1 ); + return 1 if ( ( lc($hashedname) cmp lc($self->ownername()) ) == -1 ); } - elsif ( ($self->ownername() cmp $self->hnxtname() )== 0 ) { + elsif ( (lc($self->ownername()) cmp lc($self->hnxtname()) )== 0 ) { # One entry in the zone. return 1; }else{ - return 1 if ( ($self->ownername() cmp $hashedname) == -1 ) + return 1 if ( (lc($self->ownername()) cmp lc($hashedname)) == -1 ) && - ( ( $hashedname cmp $self->hnxtname() ) == -1 ); + ( ( lc($hashedname) cmp lc($self->hnxtname()) ) == -1 ); } return 0;
From: rwfranks [...] acm.org
NSEC3.pm rewritten, now on SVN trunk (at www.net-dns.org). The module architecture is radically different from 0.17, so may not work as a drop-in replacement. 0.18 should be along soon. Dick
Fixed in 0.18 release. But please try out our pre-release: http://www.net-dns.org/download/Net-DNS-SEC-0.17_5.tar.gz