![]() | Note |
---|---|
If you are coming from 2.9.x, please also read Section 1, “From PowerDNS Authoritative Server 2.9.x to 3.0” and Section 2, “From PowerDNS Authoritative Server 3.0 to 3.1”. |
Previously, on Linux, if the PowerDNS Authoritative Server was configured to bind to the IPv6 address ::, the server would answer questions that came in via IPv6 *and* IPv4.
As of 3.2, binding to :: on Linux now does the same thing as binding to :: on other operating systems: perform IPv6 service. To continue the old behaviour, use 'local-address=0.0.0.0' and 'local-ipv6=::'.
3.2 again involves some SQL schema changes, to make sure 'ordername' is ordered correctly for NSEC generation. For MySQL:
alter table records modify ordername VARCHAR(255) BINARY; drop index orderindex on records; create index recordorder on records (domain_id, ordername);
You can test the BINARY change with the new and experimental 'pdnssec test-schema' command. For PostgreSQL, there are no real schema changes, but our indexes turned out to be inefficient, especially given the changed ordername queries in 3.2. Changes:
drop index orderindex; create index recordorder on records (domain_id, ordername text_pattern_ops);
Additionally, with 3.2 supporting empty non-terminals (see Section 8.5, “Rules for filling out fields in database backends”), your frontend may need some changes.
Due to a bug, in 3.1 and earlier releases, the pipebackend would default to a 1000 second timeout for responses from scripts, instead of the intended and documented 1000 milliseconds (1 second). In 3.2, pipe-timeout is in fact in milliseconds. To avoid some surprise, the default is now 2000 (2 seconds). If you have slow pipebackend scripts, make sure to increase pipe-timeout.
Some configuration settings (that did not do anything, anyway) have been removed. You need to remove them from your configuration to start pdns_server. They are: lazy-recursion, use-logfile, logfile.