]> granicus.if.org Git - pdns/commitdiff
Remove useless/old BIND backend options
authorPieter Lexis <pieter.lexis@powerdns.com>
Thu, 7 Jan 2016 15:53:52 +0000 (16:53 +0100)
committerPieter Lexis <pieter.lexis@powerdns.com>
Wed, 10 Feb 2016 12:45:27 +0000 (13:45 +0100)
docs/markdown/appendix/backend-writers-guide.md
docs/markdown/authoritative/backend-bind.md
docs/markdown/authoritative/howtos.md

index 381026dc0e9f4f795d32da70b20c88f962c3edb2..21d8b5c23e666c1002e34feed7425c9340c34e64 100644 (file)
@@ -266,20 +266,15 @@ Returns the exact value of a parameter.
 ### `int getArgAsNum(const string &key)`
 Returns the numerical value of a parameter. Uses `atoi()` internally
 
-Sample usage from the BindBackend, using the [`bind-example-zones`](../authoritative/backend-bind.md#bind-example-zones) and [`bind-config`](../authoritative/backend-bind.md#bind-config) parameters.
+Sample usage from the BindBackend: getting the 'check-interval' setting:
 
 ```
-  if(mustDo("example-zones")) {
-    insert(0,"www.example.com","A","192.0.2.4");
-    /* ... */
-  }
-
-  if(!getArg("config").empty()) {
-    BindParser BP;
-
-    BP.parse(getArg("config"));
-  }
-
+if(!safeGetBBDomainInfo(i->name, &bbd)) {
+  bbd.d_id=domain_id++;
+  bbd.setCheckInterval(getArgAsNum("check-interval"));
+  bbd.d_lastnotified=0;
+  bbd.d_loaded=false;
+}
 ```
 
 ## Read/write slave-capable backends
index 3316e7671333be373c054d944be22bc24ece9045..31f90e8b389618b3a87c342afdff0b82082a5860 100644 (file)
@@ -18,17 +18,11 @@ The BindBackend started life as a demonstration of the versatility of PDNS but q
 The BindBackend parses a Bind-style `named.conf` and extracts information about zones from it. It makes no attempt to honour other configuration flags, which you should configure (when available) using the PDNS native configuration.
 
 ## Configuration Parameters
-### `--help=bind`
-Outputs all known parameters related to the bindbackend
-
-### `bind-example-zones`
-Loads the 'example.com' zone which can be queried to determine if PowerDNS is functioning without configuring database backends. This feature is no longer supported from 2.9.21 onwards.
-
 ### `bind-config`
 Location of the Bind configuration file to parse.
 
 ### `bind-check-interval`
-How often to check for zone changes. See 'Operation' section.
+How often to check for zone changes. See ['Operation'](#operation) section.
 
 ### `bind-dnssec-db`
 Filename to store and access our DNSSEC metadatabase, empty for none.
@@ -45,18 +39,31 @@ Setting this option to `yes` makes PowerDNS ignore out of zone records when
 loading zone files.
 
 ## Operation
-On launch, the BindBackend first parses the `named.conf` to determine which zones need to be loaded. These will then be parsed and made available for serving, as they are parsed. So a `named.conf` with 100.000 zones may take 20 seconds to load, but after 10 seconds, 50.000 zones will already be available. While a domain is being loaded, it is not yet available, to prevent incomplete answers.
-
-Reloading is currently done only when a request for a zone comes in, and then only after [`bind-check-interval`](#bind-check-interval) seconds have passed after the last check. If a change occurred, access to the zone is disabled, the file is reloaded, access is restored, and the question is answered. For regular zones, reloading is fast enough to answer the question which lead to the reload within the DNS timeout.
-
-If [`bind-check-interval`](#bind-check-interval) is specified as zero, no checks will be performed until the `pdns_control reload` is given.
+On launch, the BindBackend first parses the `named.conf` to determine which zones
+need to be loaded. These will then be parsed and made available for serving, as
+they are parsed. So a `named.conf` with 100.000 zones may take 20 seconds to load,
+but after 10 seconds, 50.000 zones will already be available. While a domain is
+being loaded, it is not yet available, to prevent incomplete answers.
+
+Reloading is currently done only when a request for a zone comes in, and then
+only after [`bind-check-interval`](#bind-check-interval) seconds have passed after
+the last check. If a change occurred, access to the zone is disabled, the file
+is reloaded, access is restored, and the question is answered. For regular zones,
+reloading is fast enough to answer the question which lead to the reload within
+the DNS timeout.
+
+If [`bind-check-interval`](#bind-check-interval) is specified as zero, no checks
+will be performed until the `pdns_control reload` is given.
 
 ## pdns\_control commands
 ### `bind-add-zone <domain> <filename>`
-Add zone `domain` from `filename` to PDNS's bind backend. Zone will be loaded at first request.
+Add zone `domain` from `filename` to PDNS's bind backend. Zone will be loaded at
+first request. **Note**: this does not add the zone to the [`bind-config`](#bind-config)
+file.
 
 ### `bind-domain-status <domain> [domain]`
-Output status of domain or domains. Can be one of `seen in named.conf, not parsed`, `parsed successfully at <time>` or `error parsing at line ... at <time>`.
+Output status of domain or domains. Can be one of `seen in named.conf, not parsed`,
+`parsed successfully at <time>` or `error parsing at line ... at <time>`.
 
 ### `bind-list-rejects`
 Lists all zones that have problems, and what those problems are.
@@ -65,24 +72,34 @@ Lists all zones that have problems, and what those problems are.
 Reloads a zone from disk NOW, reporting back results.
 
 ### `rediscover`
-Reread the bind configuration file (`named.conf`). If parsing fails, the old configuration remains in force and `pdns_control` reports the error. Any newly discovered domains are read, discarded domains are removed from memory.
-
-**Note**: Except that with 2.9.3, they are not removed from memory.
+Reread the bind configuration file (`named.conf`). If parsing fails, the old
+configuration remains in force and `pdns_control` reports the error. Any newly
+discovered domains are read, discarded domains are removed from memory.
 
 ### `reload`
 All zones with a changed timestamp are reloaded at the next incoming query for them.
 
 ## Performance
-The BindBackend does not benefit from the packet cache as it is fast enough on its own. Furthermore, on most systems, there will be no benefit in using multiple CPUs for the packetcache, so a noticeable speedup can be attained by specifying [`distributor-threads`](settings.md#distributor-threads)`=1` in `pdns.conf`.
+The BindBackend does not benefit from the packet cache as it is fast enough on
+its own. Furthermore, on most systems, there will be no benefit in using multiple
+CPUs for the packetcache, so a noticeable speedup can be attained by specifying
+[`distributor-threads`](settings.md#distributor-threads)`=1` in `pdns.conf`.
 
 ## Master/slave configuration
 
 ### Master
-Works as expected. At startup, no notification storm is performed as this is generally not useful. Perhaps in the future the Bind Backend will attempt to store zone metadata in the zone, allowing it to determine if a zone has changed its serial since the last time notifications were sent out.
+Works as expected. At startup, no notification storm is performed as this is
+generally not useful. Perhaps in the future the Bind Backend will attempt to
+store zone metadata in the zone, allowing it to determine if a zone has changed
+its serial since the last time notifications were sent out.
 
 Changes which are discovered when reloading zones do lead to notifications however.
 
 ### Slave
-Also works as expected. The Bind backend expects to be able to write to a directory where a slave domain lives. The incoming zone is stored as 'zonename.RANDOM' and atomically renamed if it is retrieved successfully, and parsed only then.
+Also works as expected. The Bind backend expects to be able to write to a
+directory where a slave domain lives. The incoming zone is stored as
+'zonename.RANDOM' and atomically renamed if it is retrieved successfully, and
+parsed only then.
 
-In the future, this may be improved so the old zone remains available should parsing fail.
+In the future, this may be improved so the old zone remains available should
+parsing fail.
index 70e7ba80b21149ac6e49a610d67de59fadcfc9e7..7b4d98f8b8fe7ef60597a122527caf9428eee92b 100644 (file)
@@ -12,7 +12,8 @@ gmysql-dbname=pdns
 gmysql-password=mysecretpassword
 ```
 
-Remove any earlier [`launch`](settings.md#launch) statements. Also remove the **bind-example-zones** statement as the **bind** module is no longer launched.
+Remove any earlier [`launch`](settings.md#launch) statements and other configuration
+statements for backends.
 
 **Warning**: Make sure that you can actually resolve the hostname of your database without accessing the database! It is advised to supply an IP address here to prevent chicken/egg problems!