Report information
The Basics
Id:
45641
Status:
resolved
Priority:
Medium/Medium
Queue:

People
Owner:
Nobody in particular
Cc:
AdminCc:

BugTracker
Version Fixed:
9.11.3, 9.12.0
Version Found:
9.11.1-P3
Versions Affected:
(no value)
Versions Planned:
(no value)
Priority:
P2 Normal
Severity:
S2 Normal
CVSS Score:
(no value)
CVE ID:
(no value)
Component:
BIND Utilities
Area:
bug

Dates
Created:Fri, 28 Jul 2017 10:51:35 -0400
Updated:Mon, 18 Sep 2017 09:47:20 -0400
Closed:Mon, 18 Sep 2017 09:47:20 -0400



This bug tracker is no longer active.

Please go to our Gitlab to submit issues (both feature requests and bug reports) for active projects maintained by Internet Systems Consortium (ISC).

Due to security and confidentiality requirements, full access is limited to the primary maintainers.

To: bind9-confidential@isc.org
Date: Fri, 28 Jul 2017 14:51:35 +0000
From: cathya@isc.org
Subject: dnssec-keymgr reports syntax error when dnssec-policy.conf contains zones beginning with a digit, does not exit correctly
For example, with this dnssec-policy.conf: ################################################################################ ## Do not edit this file, it is autogenerated, edit dnssec-policy.conf.proto ## ################################################################################ policy default-dnssec { directory "/etc/namedb/keys"; algorithm rsasha512; key-size zsk 1024; key-size ksk 2048; pre-publish zsk 2w; post-publish zsk 2w; roll-period zsk 2mo; roll-period ksk 0; coverage 6mo; }; algorithm-policy RSASHA1 { post-publish zsk 2w; pre-publish zsk 2w; roll-period zsk 2mo; roll-period ksk 0; coverage 6mo; }; zone 99example.com { policy default-dnssec; }; Output when run: # dnssec-keymgr /usr/local/etc/namedb/dnssec-policy.conf:23:syntax error near '99' ... never exits. Domains beginning with numbers do exist, hence the script should be able to work with them.
Please review rt45641. The python lex/yacc module won't allow names to begin with digits because it's ambiguous whether it's parsing a number or a name. However, if the name is quoted, then digits are okay, so I've added QSTRING to the allowable tokens when parsing a domain name. zone "99example.com" { ... };
Looks fine as a workaround. We should see if we can remove the restriction in the future.
4666. [bug] dnssec-keymgr: Domain names beginning with digits (0-9) could cause a parser error when reading the policy file. This now works correctly so long as the domain name is quoted. [RT #45641] 9.12.0, 9.11.3
This fixes the issues with zones starting with a number. The issue about dnssec-keymgr not exiting is a different issue: it depends on the operation system and/or version of Python. A separate ticket has been created to cover it (#46027). Resolving.