]> granicus.if.org Git - pdns/commitdiff
Allow comments in the forward-zones-file
authorPieter Lexis <pieter.lexis@powerdns.com>
Wed, 15 Apr 2015 20:57:05 +0000 (22:57 +0200)
committerPieter Lexis <pieter.lexis@powerdns.com>
Tue, 15 Dec 2015 13:28:03 +0000 (14:28 +0100)
  * Closes #2430
  * Lines starting with a '#' get skipped.
  * Everything after a '#' symbol on a line is ignored
  * Document this change

docs/markdown/recursor/settings.md
pdns/reczones.cc

index f63f5d9d3e3ef3f50ff3516d0bf3b1c675f514b4..cb0e015641eb6246dcaf1a25336eb3839a946b2e 100644 (file)
@@ -268,12 +268,13 @@ setting is intended to forward queries to authoritative servers.
 
 Same as [`forward-zones`](#forward-zones), parsed from a file. Only 1 zone is
 allowed per line, specified as follows: `example.org=203.0.113.210, 192.0.2.4:5300`.
-No comments are allowed.
 
 Since version 3.2, zones prefixed with a '+' are forwarded with the
 recursion-desired bit set to one, for which see ['forward-zones-recurse'](#forward-zones-recurse).
 Default behaviour without '+' is as with [`forward-zones`](#forward-zones).
 
+Comments are allowed since version 4.0.0. Everything behind '#' is ignored.
+
 ## `forward-zones-recurse`
 * 'zonename=IP' pairs, comma separated
 * Available since: 3.2
index e665c569acb60ac05448fa2b759f089b849ba1a9..17c9e202db1e83c0de246ae6c819ee9853cb1fac 100644 (file)
@@ -449,8 +449,12 @@ SyncRes::domainmap_t* parseAuthAndForwards()
     int linenum=0;
     uint64_t before = newMap->size();
     while(linenum++, stringfgets(fp.get(), line)) {
+      trim(line);
+      if (line[0] == '#') // Comment line, skip to the next line
+        continue;
       string domain, instructions;
       tie(domain, instructions)=splitField(line, '=');
+      instructions = splitField(instructions, '#').first; // Remove EOL comments
       trim(domain);
       trim(instructions);
       if(domain.empty() && instructions.empty()) { // empty line