Home | History | Annotate | Line # | Download | only in notes
      1  1.1  christos .. Copyright (C) Internet Systems Consortium, Inc. ("ISC")
      2  1.1  christos ..
      3  1.1  christos .. SPDX-License-Identifier: MPL-2.0
      4  1.1  christos ..
      5  1.1  christos .. This Source Code Form is subject to the terms of the Mozilla Public
      6  1.1  christos .. License, v. 2.0.  If a copy of the MPL was not distributed with this
      7  1.1  christos .. file, you can obtain one at https://mozilla.org/MPL/2.0/.
      8  1.1  christos ..
      9  1.1  christos .. See the COPYRIGHT file distributed with this work for additional
     10  1.1  christos .. information regarding copyright ownership.
     11  1.1  christos 
     12  1.1  christos Notes for BIND 9.20.24
     13  1.1  christos ----------------------
     14  1.1  christos 
     15  1.1  christos Removed Features
     16  1.1  christos ~~~~~~~~~~~~~~~~
     17  1.1  christos 
     18  1.1  christos - Remove ineffective TCP fallback after repeated UDP timeouts.
     19  1.1  christos 
     20  1.1  christos   When an authoritative server failed to respond to two consecutive UDP
     21  1.1  christos   queries, :iscman:`named` marked the next retry as TCP but still sent
     22  1.1  christos   it over UDP, producing misleading dnstap records. The ineffective
     23  1.1  christos   retry path has been removed; a corrected TCP fallback will be restored
     24  1.1  christos   in future BIND 9 versions. :gl:`#5529`
     25  1.1  christos 
     26  1.1  christos Feature Changes
     27  1.1  christos ~~~~~~~~~~~~~~~
     28  1.1  christos 
     29  1.1  christos - Fall back to TCP on receipt of a UDP response with a mismatched query ID.
     30  1.1  christos 
     31  1.1  christos   BIND used to wait silently for the correct DNS message ID on a UDP
     32  1.1  christos   fetch, even after receiving a response from the expected server with
     33  1.1  christos   the wrong ID, leaving room for off-path spoofing attempts to keep
     34  1.1  christos   guessing within that window.  The resolver now retries the fetch over
     35  1.1  christos   TCP on the first such response, and a new ``MismatchTCP`` statistics
     36  1.1  christos   counter tracks how often the fallback fires. :gl:`#5449`
     37  1.1  christos 
     38  1.1  christos - Limit the number of glue records cached from a referral.
     39  1.1  christos 
     40  1.1  christos   When a delegation response contained many glue addresses per listed
     41  1.1  christos   nameserver, all of them were cached without a per-nameserver bound,
     42  1.1  christos   inflating resolver cache memory beyond what resolution could ever use.
     43  1.1  christos   The cache now keeps at most 20 IPv4 and 20 IPv6 glue addresses per
     44  1.1  christos   nameserver from a delegation. :gl:`#5701`
     45  1.1  christos 
     46  1.1  christos - Fix a resolver stall on a CNAME response to a DS query.
     47  1.1  christos 
     48  1.1  christos   A validating resolver could stall for about twelve seconds and then
     49  1.1  christos   return SERVFAIL when an authoritative server answered a DS query with
     50  1.1  christos   a CNAME. Such responses are now rejected promptly, so the query fails
     51  1.1  christos   quickly instead of hanging. :gl:`#5878`
     52  1.1  christos 
     53  1.1  christos Bug Fixes
     54  1.1  christos ~~~~~~~~~
     55  1.1  christos 
     56  1.1  christos - The resolver now removes other RRsets at the same name when caching a
     57  1.1  christos   CNAME.
     58  1.1  christos 
     59  1.1  christos   When an RRset is in stale cache and the authoritative server changes
     60  1.1  christos   the record type to CNAME, the resolver fails to refresh the stale
     61  1.1  christos   cache. This has been fixed. :gl:`#5302`
     62  1.1  christos 
     63  1.1  christos - Fix :any:`nxdomain-redirect` combined with :any:`dns64`.
     64  1.1  christos 
     65  1.1  christos   When a resolver was configured with both :any:`nxdomain-redirect` and
     66  1.1  christos   :any:`dns64` in the same view, an AAAA query for a nonexistent name
     67  1.1  christos   could abort :iscman:`named`. The combination failed whenever the
     68  1.1  christos   redirect zone held A records but no AAAA records.  The server now
     69  1.1  christos   serves the empty AAAA response from the redirect zone as-is, instead
     70  1.1  christos   of attempting DNS64 synthesis on top of it. :gl:`#5789`
     71  1.1  christos 
     72  1.1  christos - Fix DNS64 owner case after DNAME restart.
     73  1.1  christos 
     74  1.1  christos   When BIND 9 was configured to use DNS64 and encountered a DNAME
     75  1.1  christos   redirect, it could end up using freed memory for the DNS response
     76  1.1  christos   owner name. This caused the response to contain corrupted data. This
     77  1.1  christos   fix ensures the correct owner name is used when constructing the
     78  1.1  christos   synthesized response after a DNAME redirect. :gl:`#5934`
     79  1.1  christos 
     80  1.1  christos - Clear REDIRECT flag when it isn't needed.
     81  1.1  christos 
     82  1.1  christos   When :any:`nxdomain-redirect` is in use, and a recursive query is used
     83  1.1  christos   to get the redirected answer, a flag is set to distinguish it from a
     84  1.1  christos   normal recursive response. Previously, that flag was left set
     85  1.1  christos   afterward, which could trigger an assertion if a normal recursive
     86  1.1  christos   query was sent later on behalf of the same client: for example,
     87  1.1  christos   because the :any:`filter-aaaa` plugin was in use.  This has been
     88  1.1  christos   fixed. :gl:`#5936`
     89  1.1  christos 
     90  1.1  christos - Disable output escaping in ``bind9.xsl``.
     91  1.1  christos 
     92  1.1  christos   The statistics charts were not displaying on some browsers. This has
     93  1.1  christos   been fixed. :gl:`#5990`
     94  1.1  christos 
     95  1.1  christos - Fix crash on badly configured secondary signer.
     96  1.1  christos 
     97  1.1  christos   A badly configured secondary signer that was missing the ``file``
     98  1.1  christos   entry caused the server to crash, rather than to reject the
     99  1.1  christos   configuration. This has been fixed. :gl:`#5993`
    100  1.1  christos 
    101  1.1  christos - Fix a possible crash on concurrent TKEY DELETE for the same key.
    102  1.1  christos 
    103  1.1  christos   On a server configured with :any:`tkey-gssapi-keytab`, an
    104  1.1  christos   authenticated peer could crash :iscman:`named` by sending two TKEY
    105  1.1  christos   DELETE requests for the same dynamic key in rapid succession.  This
    106  1.1  christos   has been fixed. :gl:`#6001`
    107  1.1  christos 
    108  1.1  christos - Reject RRSIG records covering meta-types.
    109  1.1  christos 
    110  1.1  christos   A recursive resolver could accept and cache an RRSIG record whose
    111  1.1  christos   Type-Covered field named a meta-type (ANY, AXFR, IXFR, MAILA, MAILB),
    112  1.1  christos   even though no real RRset of those types ever exists. Such records are
    113  1.1  christos   now rejected by the DNS message parser. :gl:`#6002`
    114