| | 84 | <sect2 id="changelog-recursor-3-1-2"><title>Recursor version 3.1.2 (unreleased)</title> |
| | 85 | <para> |
| | 86 | Compared to 3.1.1, this release consists almost exclusively of bug-fixes and speedups. A quick update is recommended, as some of the bugs |
| | 87 | impact operators of authoritative zones on the internet. This version has been tested by some of the largest internet providers on the planet, |
| | 88 | and is expected to perform well for everybody. |
| | 89 | </para> |
| | 90 | <para> |
| | 91 | Many thanks are due to Darren Gamble, Stefan Schmidt and Bryan Seitz who all provided excellent feedback based on their large-scale |
| | 92 | tests of the recursor. |
| | 93 | </para> |
| | 94 | <para> |
| | 95 | Bug-fixes: |
| | 96 | <itemizedlist> |
| | 97 | <listitem> |
| | 98 | <para> |
| | 99 | Internal authoritative server did not differentiate between 'NXDOMAIN' and 'NXRRSET', in other words, it would answer |
| | 100 | 'no such host' when an AAAA query came in for a domain that did exist, but did not have an AAAA record. This only affects |
| | 101 | users with <command>auth-zones</command> configured. Discovered by Bryan Seitz, fixed in c848. |
| | 102 | </para> |
| | 103 | </listitem> |
| | 104 | <listitem> |
| | 105 | <para> |
| | 106 | ANY queries for hosts where nothing was present in the cache would not work. This did not cause real problems as ANY queries are |
| | 107 | not reliable (by design) for anything other than debugging, but did slow down the nameserver and cause unnecessary load on remote |
| | 108 | nameservers. Fixed in c854. |
| | 109 | </para> |
| | 110 | </listitem> |
| | 111 | <listitem> |
| | 112 | <para> |
| | 113 | When exceeding the configured maximum amount of TCP sessions, TCP support would break and the nameserver would waste CPU trying to accept TCP |
| | 114 | connections on UDP ports. Noted by Bryan Seitz, fixed in c849. |
| | 115 | </para> |
| | 116 | </listitem> |
| | 117 | <listitem> |
| | 118 | <para> |
| | 119 | DNS queries come in two flavours: recursion desired and non-recursion desired. The latter is not very useful for a recursor, but is |
| | 120 | sometimes (erroneously) used by monitoring software or loadbalancers to detect nameserver availability. A non-rd query would not only not recurse, |
| | 121 | but also not query authoritative zones, which is confusing. Fixed in c847. |
| | 122 | </para> |
| | 123 | </listitem> |
| | 124 | <listitem> |
| | 125 | <para> |
| | 126 | Non-standard DNS TCP queries, that did occur however, could drive the recursor to 100% CPU usage for extended periods of time. This did not disrupt service |
| | 127 | immediately, but does waste a lot of CPU, possibly exhausting resources. Discovered by Bryan Seitz, fixed in c858, which is post-3.1.2-rc1. |
| | 128 | </para> |
| | 129 | </listitem> |
| | 130 | <listitem> |
| | 131 | <para> |
| | 132 | The PowerDNS recursor did not honour the rare but standardised 'ANY' query class (normally 'ANY' refers to the query type, not class), upsetting the Wildfire |
| | 133 | Jabber server. Discovered and debugged by Daniel Nauck, fixed in c859, which is post-3.1.2-rc1. |
| | 134 | </para> |
| | 135 | </listitem> |
| | 136 | <listitem> |
| | 137 | <para> |
| | 138 | Everybody's favorite, when starting up under high load, a bogus line of statistics was sometimes logged. Fixed in c851. |
| | 139 | </para> |
| | 140 | </listitem> |
| | 141 | <listitem> |
| | 142 | <para> |
| | 143 | Remove some spurious debugging output on dropping a packet by an unauthorized host. Discovered by Kai. Fixed in c854. |
| | 144 | </para> |
| | 145 | </listitem> |
| | 146 | </itemizedlist> |
| | 147 | </para> |
| | 148 | <para> |
| | 149 | Improvements: |
| | 150 | <itemizedlist> |
| | 151 | <listitem> |
| | 152 | <para> |
| | 153 | Misconfigured domains, with a broken nameserver in the parent zone, should now work better. Changes motivated and suggested by |
| | 154 | Darren Gamble. This makes PowerDNS more compliant with RFC 2181 by making it prefer authoritative data over non-authoritative data. |
| | 155 | Implemented in c856. |
| | 156 | </para> |
| | 157 | </listitem> |
| | 158 | <listitem> |
| | 159 | <para> |
| | 160 | PowerDNS can now listen on multiple ports, using the <command>local-address</command> setting. Added in c845. |
| | 161 | </para> |
| | 162 | </listitem> |
| | 163 | <listitem> |
| | 164 | <para> |
| | 165 | A number of speedups which should have a noticeable impact, implemented in commits C850, C852, C853, C855 |
| | 166 | </para> |
| | 167 | </listitem> |
| | 168 | <listitem> |
| | 169 | <para> |
| | 170 | The recursor now works around an issue with the Linux kernel 2.6.8, as shipped by Debian. Fixed by Christof Meerwald in c860, which is post 3.1.2-rc1. |
| | 171 | </para> |
| | 172 | </listitem> |
| | 173 | </itemizedlist> |
| | 174 | </para> |
| | 175 | </sect2> |