BIND 10 20111128 released
Jeremy C. Reed
jreed at isc.org
Mon Nov 28 22:20:15 UTC 2011
-----BEGIN PGP SIGNED MESSAGE-----
Welcome to the 15th development release of BIND 10. This software
suite provides an authoritative DNS server with DNSSEC, IXFR, and
AXFR support, an iterative caching resolver, C++ DNS library with
Python wrappers, statistics collection, an experimental DHCPv6
server, a C++ DHCP packet library, remote run-time configuration
and control, and a lot more.
Interesting changes since the last snapshot release include:
- - Introduction of libdhcp++, a new C++ based library that handles
DHCPv6 packets and options, and a simple skeleton DHCPv6 server
that uses that library and is able to assign a single, hardcoded
lease to a client (SOLICIT-ADVERTISE-REQUEST-REPLY exchange is
- - Introduction of system tests using Behavior-Driven Development
tool, Lettuce. (Please let us you if you'd like to participate
in providing system-agnostic behavior and RFC protocol tests.)
- - Outbound IXFR (over TCP) is now supported and journaling of zone
differences was added.
NOTE: The SQLite3 schema changed and for IXFR support the database
needs to be upgraded by running in the build directory:
"compatcheck/sqlite3-difftbl-check.py --upgrade /path/to/zone.sqlite3".
- - Statistics retrieval for specific counters or resource items,
for example: http://localhost:8000/bind10/statistics/xml/Stats/boot_time
- - Run-time configuration (for choosing components to run) is more
flexible now. Note that the Boss start_auth and start_resolver
configurations have been removed; see the BIND 10 Guide for
This latest snapshot tarball and its PGP signature can be downloaded at:
Users and developers are encouraged to participate on the BIND 10
Please let us know about your experiences with using BIND 10.
Jeremy C. Reed
BIND 10 Release Engineer
p.s. A summary of the significant changes since the previous release
include (from the ChangeLog):
331. [bug] shane
Fixed a bug in data source library where a zone with more labels
than an out-of-bailiwick name server would cause an exception to
(Trac #1430, git 81f62344db074bc5eea3aaf3682122fdec6451ad)
330. [bug] jelte
Fixed a bug in b10-auth where it would sometimes fail because it
tried to check for queued msgq messages before the session was
329. [doc] vorner, jreed
Document the bind10 run control configuration in guide and
(Trac #1341, git c1171699a2b501321ab54207ad26e5da2b092d63)
328. [func] jelte
b10-auth now passes IXFR requests on to b10-xfrout, and no longer
responds to them with NOTIMPL.
(Trac #1390, git ab3f90da16d31fc6833d869686e07729d9b8c135)
327. [func] jinmei
b10-xfrout now supports IXFR. (Right now there is no user
configurable parameter about this feature; b10-xfrout will
always respond to IXFR requests according to RFC1995).
(Trac #1371 and #1372, git 80c131f5b0763753d199b0fb9b51f10990bcd92b)
326. [build]* jinmei
Added a check script for the SQLite3 schema version. It will be
run at the beginning of 'make install', and if it detects an old
version of schema, installation will stop. You'll then need to
upgrade the database file by following the error message.
(Trac #1404, git a435f3ac50667bcb76dca44b7b5d152f45432b57)
325. [func] jinmei
Python isc.datasrc: added interfaces for difference management:
DataSourceClient.get_updater() now has the 'journaling' parameter
to enable storing diffs to the data source, and a new class
ZoneJournalReader was introduced to retrieve them, which can be
created by the new DataSourceClient.get_journal_reader() method.
(Trac #1333, git 3e19362bc1ba7dc67a87768e2b172c48b32417f5,
324. [bug] jinmei
Fixed reference leak in the isc.log Python module. Most of all
BIND 10 Python programs had memory leak (even though the pace of
leak may be slow) due to this bug.
(Trac #1359, git 164d651a0e4c1059c71f56b52ea87ac72b7f6c77)
323. [bug] jinmei
b10-xfrout incorrectly skipped adding TSIG RRs to some
intermediate responses (when TSIG is to be used for the
responses). While RFC2845 optionally allows to skip intermediate
TSIGs (as long as the digest for the skipped part was included
in a later TSIG), the underlying TSIG API doesn't support this
mode of signing.
(Trac #1370, git 76fb414ea5257b639ba58ee336fae9a68998b30d)
322. [func] jinmei
datasrc: Added C++ API for retrieving difference of two versions
of a zone. A new ZoneJournalReader class was introduced for this
purpose, and a corresponding factory method was added to
(Trac #1332, git c1138d13b2692fa3a4f2ae1454052c866d24e654)
321. [func]* jinmei
b10-xfrin now installs IXFR differences into the underlying data
source (if it supports journaling) so that the stored differences
can be used for subsequent IXFR-out transactions.
Note: this is a backward incompatibility change for older sqlite3
database files. They need to be upgraded to have a "diffs" table.
(Trac #1376, git 1219d81b49e51adece77dc57b5902fa1c6be1407)
320. [func]* vorner
The --brittle switch was removed from the bind10 executable.
It didn't work after change #316 (Trac #213) and the same
effect can be accomplished by declaring all components as core.
(Trac #1340, git f9224368908dd7ba16875b0d36329cf1161193f0)
319. [func] naokikambe
b10-stats-httpd was updated. In addition of the access to all
statistics items of all modules, the specified item or the items
of the specified module name can be accessed. For example, the
URI requested by using the feature is showed as
"/bind10/statistics/xml/Auth/queries.tcp". The list of all possible
module names and all possible item names can be showed in the
root document, whose URI is "/bind10/statistics/xml". This change
is not only for the XML documents but also is for the XSD and
(Trac #917, git b34bf286c064d44746ec0b79e38a6177d01e6956)
318. [func] stephen
Add C++ API for accessing zone difference information in
database-based data sources.
(Trac #1330, git 78770f52c7f1e7268d99e8bfa8c61e889813bb33)
317. [func] vorner
datasrc: the getUpdater method of DataSourceClient supports an
optional 'journaling' parameter to indicate the generated updater
to store diffs. The database based derived class implements this
(Trac #1331, git 713160c9bed3d991a00b2ea5e7e3e7714d79625d)
316. [func]* vorner
The configuration of what parts of the system run is more
flexible now. Everything that should run must have an
entry in Boss/components.
(Trac #213, git 08e1873a3593b4fa06754654d22d99771aa388a6)
315. [func] tomek
libdhcp: Support for DHCPv4 packet manipulation is now implemented.
All fixed fields are now supported. Generic support for DHCPv4
options is available (both parsing and assembly). There is no code
that uses this new functionality yet, so it is not usable directly
at this time. This code will be used by upcoming b10-dhcp4 daemon.
(Trac #1228, git 31d5a4f66b18cca838ca1182b9f13034066427a7)
314. [bug] jelte
b10-xfrin would previously initiate incoming transfers upon
receiving NOTIFY messages from any address (if the zone was
known to b10-xfrin, and using the configured address). It now
only starts a transfer if the source address from the NOTIFY
packet matches the configured master address and port. This was
really already fixed in release bind10-devel-20111014, but there
were some deferred cleanups to add.
(Trac #1298, git 1177bfe30e17a76bea6b6447e14ae9be9e1ca8c2)
313. [func] jinmei
datasrc: Added C++ API for adding zone differences to database
based data sources. It's intended to be used for the support for
IXFR-in and dynamic update (so they can subsequently be retrieved
for IXFR-out). The addRecordDiff method of the DatabaseAccessor
defines the interface, and a concrete implementation for SQLite3
(Trac #1329, git 1aa233fab1d74dc776899df61181806679d14013)
312. [func] jelte
Added an initial framework for doing system tests using the
cucumber-based BDD tool Lettuce. A number of general steps are
included, for instance running bind10 with specific
configurations, sending queries, and inspecting query answers. A
few very basic tests are included as well.
(Trac #1290, git 6b75c128bcdcefd85c18ccb6def59e9acedd4437)
311. [bug] jelte
Fixed a bug in bindctl where tab-completion for names that
contain a hyphen resulted in unexpected behaviour, such as
appending the already-typed part again.
(Trac #1345, git f80ab7879cc29f875c40dde6b44e3796ac98d6da)
310. [bug] jelte
Fixed a bug where bindctl could not set a value that is optional
and has no default, resulting in the error that the setting
itself was unknown. bindctl now correctly sees the setting and
is able to set it.
(Trac #1344, git 0e776c32330aee466073771600390ce74b959b38)
309. [bug] jelte
Fixed a bug in bindctl where the removal of elements from a set
with default values was not stored, unless the set had been
modified in another way already.
(Trac #1343, git 25c802dd1c30580b94345e83eeb6a168ab329a33)
308. [build] jelte
The configure script will now use pkg-config for finding
information about the Botan library. If pkg-config is unavailable,
or unaware of Botan, it will fall back to botan-config. It will
also use botan-config when a specific botan library directory is
given using the '--with-botan=' flag
(Trac #1194, git dc491833cf75ac1481ba1475795b0f266545013d)
307. [func] vorner
When zone transfer in fails with IXFR, it is retried with AXFR
(Trac #1279, git cd3588c9020d0310f949bfd053c4d3a4bd84ef88)
306. [bug] stephen
Boss process now waits for the configuration manager to initialize
itself before continuing with startup. This fixes a race condition
whereby the Boss could start the configuration manager and then
immediately start components that depended on that component being
(Trac #1271, git 607cbae949553adac7e2a684fa25bda804658f61)
305. [bug] jinmei
Python isc.dns, isc.datasrc, xfrin, xfrout: fixed reference leak
in Message.get_question(), Message.get_section(),
RRset.get_rdata(), and DataSourceClient.get_updater().
The leak caused severe memory leak in b10-xfrin, and (although no
one reported it) should have caused less visible leak in
b10-xfrout. b10-xfrin had its own leak, which was also fixed.
(Trac #1028, git a72886e643864bb6f86ab47b115a55e0c7f7fcad)
304. [bug] jelte
The run_bind10.sh test script now no longer runs processes from
an installed version of BIND 10, but will correctly use the
build tree paths.
(Trac #1246, git 1d43b46ab58077daaaf5cae3c6aa3e0eb76eb5d8)
303. [bug] jinmei
Changed the installation path for the UNIX domain file used
for the communication between b10-auth and b10-xfrout to a
"@PACKAGE@" subdirectory (e.g. from /usr/local/var to
/usr/local/var/bind10-devel). This should be transparent change
because this file is automatically created and cleaned up, but
if the old file somehow remains, it can now be safely removed.
(Trac #869, git 96e22f4284307b1d5f15e03837559711bb4f580c)
302. [bug] jelte
msgq no longer crashes if the remote end is closed while msgq
tries to send data. It will now simply drop the message and close
the connection itself.
(Trac #1180, git 6e68b97b050e40e073f736d84b62b3e193dd870a)
301. [func] stephen
Add system test for IXFR over TCP.
(Trac #1213, git 68ee3818bcbecebf3e6789e81ea79d551a4ff3e8)
300. [func]* tomek
libdhcp: DHCP packet library was implemented. Currently it handles
packet reception, option parsing, option generation and output
packet building. Generic and specialized classes for several
DHCPv6 options (IA_NA, IAADDR, address-list) are available. A
simple code was added that leverages libdhcp. It is a skeleton
DHCPv6 server. It receives incoming SOLICIT and REQUEST messages
and responds with proper ADVERTISE and REPLY. Note that since
LeaseManager is not implemented, server assigns the same
hardcoded lease for every client. This change removes existing
DHCPv6 echo server as it was only a proof of concept code.
(Trac #1186, git 67ea6de047d4dbd63c25fe7f03f5d5cc2452ad7d)
299. [build] jreed
Do not install the libfake_session, libtestutils, or libbench
libraries. They are used by tests within the source tree.
Convert all test-related makefiles to build test code at
regular make time to better work with test-driven development.
This reverts some of #1901. (The tests are ran using "make
(Trac #1286, git cee641fd3d12341d6bfce5a6fbd913e3aebc1e8e)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (NetBSD)
-----END PGP SIGNATURE-----
More information about the bind-announce