]> CyberLeo.Net >> Repos - FreeBSD/releng/9.0.git/blob - contrib/bind9/RELEASE-NOTES-BIND-9.8.1.html
Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
[FreeBSD/releng/9.0.git] / contrib / bind9 / RELEASE-NOTES-BIND-9.8.1.html
1 <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title></title><link rel="stylesheet" href="release-notes.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.71.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><hr></div>
2
3   <div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3359008"></a>Introduction</h2></div></div></div>
4     
5     <p>
6                         BIND 9.8.1 is the current production release of BIND 9.8.
7                 </p>
8     <p>
9                         This document summarizes changes from BIND 9.8.0 to BIND 9.8.1.
10                         Please see the CHANGES file in the source code release for a
11                         complete list of all changes.
12                 </p>
13   </div>
14
15   <div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3359050"></a>Download</h2></div></div></div>
16     
17     <p>
18                         The latest versions of BIND 9 software can always be found
19                         on our web site at
20  <a href="http://www.isc.org/downloads/all" target="_top">http://www.isc.org/downloads/all</a>.
21                 There you will find additional information about each
22                 release, source code, and some pre-compiled versions for certain operating systems.
23                 </p>
24   </div>
25
26   <div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2545549"></a>Support</h2></div></div></div>
27     
28     <p>Product support information is available on
29       <a href="http://www.isc.org/services/support" target="_top">http://www.isc.org/services/support</a>
30       for paid support options.  Free support is provided by our user
31                         community via a mailing list.  Information on all public email
32                         lists is available at
33       <a href="https://lists.isc.org/mailman/listinfo" target="_top">https://lists.isc.org/mailman/listinfo</a>.
34     </p>
35   </div>
36
37   <div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3358108"></a>New Features</h2></div></div></div>
38     
39                 <div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id3358149"></a>9.8.1</h3></div></div></div>
40                         
41             <div class="itemizedlist"><ul type="disc"><li>
42 Added a new include file with function typedefs
43 for the DLZ "dlopen" driver. [RT #23629]
44 </li><li>
45 Added a tool able to generate malformed packets to allow testing
46 of how named handles them.
47 [RT #24096]
48 </li><li>
49 The root key is now provided in the file bind.keys allowing DNSSEC validation to be switched on at start up by adding "dnssec-validation auto;" to named.conf. If the root key provided has expired, named will log the expiration and validation will not work.  More information and the most current copy of bind.keys can be found at http://www.isc.org/bind-keys. *Please note this feature was actually added in 9.8.0 but was not included in the 9.8.0 release notes. [RT #21727]
50 </li></ul></div>
51                 </div>
52   </div>
53
54   <div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3358206"></a>Security Fixes</h2></div></div></div>
55     
56                 <div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id3358226"></a>9.8.1</h3></div></div></div>
57                         
58             <div class="itemizedlist"><ul type="disc"><li>
59 If named is configured with a response policy zone (RPZ) and a query
60 of type RRSIG is received for a name configured for RRset replacement
61 in that RPZ, it will trigger an INSIST and crash the server.
62 RRSIG. [RT #24280]
63 </li><li>
64 named, set up to be a caching resolver, is vulnerable to a
65 user querying a domain with very large resource record sets (RRSets)
66 when trying to negatively cache the response. Due to an off-by-one
67 error, caching the response could cause named to crash. [RT #24650]
68 [CVE-2011-1910]
69 </li><li>
70 Using Response Policy Zone (RPZ) to query a wildcard CNAME label with
71 QUERY type SIG/RRSIG, it can cause named to crash. Fix is query type
72 independant.
73 [RT #24715]
74 </li><li>
75 Using Response Policy Zone (RPZ) with DNAME records and querying the
76 subdomain of that label can cause named to crash. Now logs that DNAME
77 is not supported.
78 [RT #24766]
79 </li><li>
80 Change #2912 populated the message section in replies to UPDATE requests,
81 which some Windows clients wanted. This exposed a latent bug that allowed
82 the response message to crash named. With this fix, change 2912 has been
83 reduced to copy only the zone section to the reply. A more complete fix
84 for the latent bug will be released later.
85 [RT #24777]
86 </li></ul></div>
87                 </div>
88   </div>
89
90
91   <div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3358283"></a>Feature Changes</h2></div></div></div>
92     
93                 <div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id3358291"></a>9.8.1</h3></div></div></div>
94                         
95             <div class="itemizedlist"><ul type="disc"><li>
96 Merged in the NetBSD ATF test framework (currently
97 version 0.12) for development of future unit tests.
98 Use configure --with-atf to build ATF internally
99 or configure --with-atf=prefix to use an external
100 copy. [RT #23209]
101 </li><li>
102 Added more verbose error reporting from DLZ LDAP. [RT #23402]
103 </li><li>
104 The DLZ "dlopen" driver is now built by default,
105 no longer requiring a configure option. To
106 disable it, use "configure --without-dlopen".
107 (Note: driver not supported on win32.) [RT #23467]
108 </li><li>
109 Replaced compile time constant with STDTIME_ON_32BITS.
110 [RT #23587]
111 </li><li>
112 Make --with-gssapi default for ./configure. [RT #23738]
113 </li><li>
114 Improved the startup time for an authoritative server with a large 
115 number of zones by making the zone task table of variable size
116 rather than fixed size.  This means that authoritative servers with
117 lots of zones will be serving that zone data much sooner. [RT #24406]
118 </li><li>
119 Per RFC 6303, RFC 1918 reverse zones are now part of the built-in list of empty zones. [RT #24990]
120 </li></ul></div>
121                 </div>
122   </div>
123   <div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3358460"></a>Bug Fixes</h2></div></div></div>
124     
125                 <div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id3358468"></a>9.8.1</h3></div></div></div>
126                         
127             <div class="itemizedlist"><ul type="disc"><li>
128 During RFC5011 processing some journal write errors were not detected.
129 This could lead to managed-keys changes being committed but not 
130 recorded in the journal files, causing potential inconsistencies  
131 during later processing.  [RT #20256]
132 </li><li>
133 A potential NULL pointer deference in the DNS64 code could cause 
134 named to terminate unexpectedly. [RT #20256]
135 </li><li>
136 A state variable relating to DNSSEC could fail to be set during 
137 some infrequently-executed code paths, allowing it to be used whilst
138 in an unitialized state during cache updates, with unpredictable results.
139 [RT #20256]
140 </li><li>
141 A potential NULL pointer deference in DNSSEC signing code could 
142 cause named to terminate unexpectedly  [RT #20256]
143 </li><li>
144 Several cosmetic code changes were made to silence warnings
145 generated by a static code analysis tool. [RT #20256]
146 </li><li>
147 When using the -x (sign with only KSK) option on dnssec-signzone,
148 it could incorrectly count the number of ZSKs in the zone. (And in 9.9.0,
149 some code cleanup and improved warning messages). [RT #20852]
150 </li><li>
151 When using _builtin in named.conf, named.conf changes were not found
152 when reloading the config file. Now checks _builtin zone arguments
153 to see if the zone is re-usable or not. [RT #21914]
154 </li><li>
155 Running dnssec-settime -f on an old-style key will
156 now force the key to be rewritten to the new key format even if no
157 other change has been specified, using "-P now -A now"
158 as default values. [RT #22474]
159 </li><li>
160 After an external code review, a code cleanup was done. [RT #22521]
161 </li><li>
162 Cause named to terminate at startup or rndc reconfig
163 reload to fail, if a log file specified in the
164 conf file isn't a plain file. (RT #22771]
165 </li><li>
166 named now forces the ADB cache time for glue related data to zero  
167 instead of relying on TTL.  This corrects problematic behavior in cases  
168 where a server was authoritative for the A record of a nameserver for a  
169 delegated zone and was queried to recursively resolve records within  
170 that zone.  [RT #22842]
171 </li><li>
172 When a validating resolver got a NODATA response for DNSKEY, it was
173 not caching the NODATA. Fixed and test added. [RT #22908]
174 </li><li>
175 Fixed a bug in which zone keys that were published
176 and but not immediately activated, automatic signing could fail to trigger.
177 [RT #22911]
178 </li><li>
179 Fixed precedence order bug with NS and DNAME records if both are present.
180 (Also fixed timing of autosign test in 9.7+) [RT #23035]
181 </li><li>
182 When a DNSSEC signed dynamic zone's signatures need to be refreshed,
183 named would first delete the old signatures in the zone. If a private
184 key of the same algorithm isn't available to named, the signing would
185 fail but the old signatures would already be deleted. named now checks
186 if it can access the private key before deleting the old signatures and 
187 leaves the old signature if no private key is found. [RT #23136]
188 </li><li>
189 When using "auto-dnssec maintain" and rolling to a new key, a
190 private-type record (only used internally by named) could be created
191 and not marked as complete. [RT #23253]
192 </li><li>
193 Fixed last autosign test report. [RT #23256]
194 </li><li>
195 named didn't save gid at startup and later assumed gid 0.
196 named now saves/restores the gid when creating creating
197 named.pid at startup. [RT #23290]
198 </li><li>
199 If the server has an IPv6 address but does not have IPv6 connectivity
200 to the internet, dig +trace could fail attempting to use IPv6
201 addresses. [RT #23297]
202 </li><li>
203 If named is configured with managed zones, the managed key maint timer
204 can exercise a race condition that can crash the server.
205 [RT #23303]
206 </li><li>
207 Changing TTL did not cause dnssec-signzone to generate new signatures.
208 [RT #23330]
209 </li><li>
210 Have the validating resolver use RRSIG original TTL to compute
211 validated RRset and RRSIG TTL. [RT #23332]
212 </li><li>
213 In "make test" bin/tests/resolver, hold the socket manager lock
214 while freeing the socket.
215 [RT #23333]
216 </li><li>
217 If named encountered a CNAME instead of a DS record when walking
218 the chain of trust down from the trust anchor, it incorrectly stopped
219 validating. [RT #23338]
220 </li><li>
221 dns/view.h needed dns/rpz.h but it wasn't in the Makfile.in
222 HEADERS variable. [RT #23342]
223 </li><li>
224 RRSIG records could have time stamps too far in the future.
225 [RT #23356]
226 </li><li>
227 named stores cached data in an in-memory database and keeps track of
228 how recently the data is used with a heap. The heap is stored within the
229 cache's memory space. Under a sustained high query load and with a small
230 cache size, this could lead to the heap exhausting the cache space. This
231 would result in cache misses and SERVFAILs, with named never releasing
232 the cache memory the heap used up and never recovering.
233
234 This fix removes the heap into its own memory space, preventing the heap
235 from exhausting the cache space and allowing named to recover gracefully
236 when the high query load abates. [RT #23371]
237 </li><li>
238 Fully separated key management on a per view basis. [RT #23419]
239 </li><li>
240 If running on a powerpc CPU and with atomic operations enabled,
241 named could lock up. Added sync instructions to the end of atomic
242 operations. [RT #23469]
243 </li><li>
244 If OpenSSL was built without engine support, named would have
245 compile errors and fail to build.
246 [RT #23473]
247 </li><li>
248 If ./configure finds GOST but not elliptic curve, named fails to
249 build. Added elliptic curve support check in GOST OpenSSL engine
250 detection. [RT #23485]
251 </li><li>
252 "rndc secroots" would abort on the first error
253 and so could miss remaining views. [RT #23488]
254 </li><li>
255 Handle isc_event_allocate failures in t_tasks test.
256 [RT #23572]
257 </li><li>
258 ixfr-from-differences {master|slave};
259 failed to select the master/slave zones, resulting in on diff/journal
260 file being created.
261 [RT #23580]
262 </li><li>
263 If a DNAME substitution failed, named returned NOERROR. The correct
264 response should be YXDOMAIN.
265 [RT #23591]
266 </li><li>
267 dns_dnssec_findzonekeys{2} used a inconsistant
268 timestamp when determining which keys are active. This could result in
269 some RRsets not being signed/re-signed.
270 [RT #23642]
271 </li><li>
272 Remove bin/tests/system/logfileconfig/ns1/named.conf and
273 add setup.sh in order to resolve changing named.conf issue. [RT #23687]
274 </li><li>
275 NOTIFY messages were not being sent when generating
276 a NSEC3 chain incrementally. [RT #23702]
277 </li><li>
278 DDNS updates using SIG(0) with update-policy match
279 type "external" could cause a crash. Also fixed nsupdate core
280 dump on shutdown when using a SIG(0) key, due to the key
281 not being freed. [RT #23735]
282 </li><li>
283 Zones using automatic key maintenance could fail to check the key
284 repository for updates. named now checks once per hour and the
285 automatic check bug has been fixed. [RT #23744]
286 </li><li>
287 named now uses the correct strtok/strtok_r/strtok_s based on OS.
288 [RT #23747]
289 </li><li>
290 Signatures for records at the zone apex could go
291 stale due to an incorrect timer setting. [RT #23769]
292 </li><li>
293 The autosign tests attempted to open ports within reserved ranges. Test
294 now avoids those ports.
295 [RT #23957]
296 </li><li>
297 GSS TGIS test was failing, since log_cred() caused KRB5_KTNAME to
298 be cached. Now sets KRB5_KTNAME before calling log_cred() in
299 dst_gssapi_acceptctx(). [RT #24004]
300 </li><li>
301 named, acting as authoritative server for DLZ zones, was not correctly
302 setting the authoritative (AA) bit.
303 [RT #24146]
304 </li><li>
305 Clean up some cross-compiling issues and added two undocumented
306 configure options, --with-gost and --with-rlimtype, to allow over-riding
307 default settings (gost=no and rlimtype="long int") when cross-compiling.
308 [RT #24367]
309 </li><li>
310 When trying sign with NSEC3, if dnssec-signzone couldn't find the
311 KSK, it would give an incorrect error "NSEC3 iterations too big for
312 weakest DNSKEY strength" rather than the correct "failed to find
313 keys at the zone apex: not found" [RT #24369]
314 </li><li>
315 Configuring 'dnssec-validation auto' in a view instead of in the
316 options statement could trigger an assertion failure in named-checkconf.
317 [RT #24382]
318 </li><li>
319 Improved consistency checks for dnssec-enable and
320 dnssec-validation, added test cases to the
321 checkconf system test. [RT #24398]
322 </li><li>
323 If named is configured to be both authoritative and recursive and receives
324 a recursive query for a CNAME in a zone that it is authoritative for, if that
325 CNAME also points to a zone the server is authoritative for, the recursive part of name will not follow the CNAME change and the response will not be a
326 complete CNAME chain. [RT #24455]
327 </li><li>
328 nsupdate could dump core on shutdown when using SIG(0) keys. [RT #24604]
329 </li><li>
330 Named could fail to validate zones list in a DLV that validated insecure
331 without using DLV and had DS records in the parent zone. [RT #24631]
332 </li><li>
333 dnssec-signzone now records timestamps just before and just after signing, improving the accuracy of signing statistics. [RT #16030]
334 </li><li>
335 If allow-new-zones was set to yes and name-based ACLs were used, named could crash when "rndc reconfig" was issued. [RT #22739]
336 </li><li>
337 RT #23136 fixed a problem where named would delete old signatures even
338 when the private key wasn't available to re-sign the zone, resulting in
339 a zone with missing signatures. This fix (CHANGES 3114) did not
340 completely fix all issues. [RT #24577]
341 </li><li>
342 A bug in FreeBSD kernels causes IPv6 UDP responses greater than
343 1280 bytes to not fragment as they should. Until there is a kernel
344 fix, named will work around this by setting IPV6_USE_MIN_MTU on a
345 per packet basis. [RT #24950]
346 </li></ul></div>
347                 </div>
348   </div>
349
350   <div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3359134"></a>Known issues in this release</h2></div></div></div>
351     
352     <div class="itemizedlist"><ul type="disc"><li>
353         <p>
354           None.
355         </p>
356       </li></ul></div>
357   </div>
358
359   <div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id3359152"></a>Thank You</h2></div></div></div>
360     
361     <p>
362       Thank you to everyone who assisted us in making this release possible.
363       If you would like to contribute to ISC to assist us in continuing to make
364       quality open source software, please visit our donations page at
365       <a href="http://www.isc.org/supportisc" target="_top">http://www.isc.org/supportisc</a>.
366     </p>
367   </div>
368 </div></body></html>