|Subject:||Type bit map in NSEC3 with empty non-terminal|
When you have a NSEC3 signed zone with a empty non-terminal RR, the corresponding NSEC3 hashed name have an empty type bit map. In these cases, the Net::DNS::Zone::Parser->read call fails with this message: Can't use an undefined value as an ARRAY reference at /usr/local/lib/perl5/site_perl/5.10.0/Net/DNS/RR/NSEC.pm line 186, <DUMP> line 59. The problem is with the "bm" array which is empty, and so cannot be referenced inside the for condition in the line 187. In my proof-of-concept patch, I added a line return '' unless @typelist; after line 163, and then the parser finish with the full zone. My perl version is 5.10.0, module Net/DNS/RR/NSEC.pm is 728. Attached is the example signed zone from the RFC5155, which fails.
Message body not shown because it is not plain text.