Development release of BIND 10: bind10-devel-20120329

Jeremy C. Reed jreed at isc.org
Thu Mar 29 18:06:25 UTC 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


	Development release of BIND 10: bind10-devel-20120329

Welcome to the 18th development release of BIND 10. This is the final
development release of our third project year. Its key enhancements
include:

 * Able to manually send out NOTIFY messages for a given zone.

 * Support for the SSHFP resource record type (RFC 4255).

 * Additional logging about AXFR and IXFR transfers for administrators.

 * Significant DNS query performance improvements.

One of BIND 10's goals is to be at least as fast as BIND 9.  At
our face-to-face meeting in January we identified some bottlenecks
in the code using gprof, valgrind, and oprofile.  Over the past
two months, we dedicated some development time to research various
optimization and performance tasks. As a result, for various common
authoritative DNS server use cases, BIND 10 is now faster than BIND
9.9.0. (We will publish a Blog article about this soon.)

BIND 10 provides a C++ library for DNS (with python wrappers) and
several cooperating daemons for providing authoritative DNS service
(with SQLite3 and in-memory backends and DNSSEC support), DNS
forwarding, and recursive name service.  It also includes experimental
DHCPv4 and DHCPv6 servers and a C++ library for DHCP. BIND 10 offers
statistics collection, remote configurations and operations, and
documented logging messages.  While it contains prototype code and
experimental interfaces, both the authoritative and resolver servers
are being used in production.

Documentation is included and also available via the BIND 10
website at http://bind10.isc.org/

The bind10-devel-20120329 source may be downloaded from:

	ftp://ftp.isc.org/isc/bind10/devel-20120329/bind10-devel-20120329.tar.gz

A PGP signature of the distribution is at

	ftp://ftp.isc.org/isc/bind10/devel-20120329/bind10-devel-20120329.tar.gz.sha512.asc

The signature was generated with the ISC public key, which is
available at https://www.isc.org/about/openpgp

Users and developers are encouraged to participate on the BIND 10
mailing lists. Please provide your feedback:

	https://lists.isc.org/mailman/listinfo/bind10-users
	https://lists.isc.org/mailman/listinfo/bind10-dev

Bugs may be reported as tickets via the developers website
(after logging into Trac):

	http://bind10.isc.org/

A summary of the significant changes since the previous release
include the following from the ChangeLog. (See the git history for
more changes.)

415.	[doc]		jinmei, jreed
	BIND 10 Guide updated to now describe the in-memory data source
        configurations for b10-auth.
	(Trac #1732, git 434d8db8dfcd23a87b8e798e5702e91f0bbbdcf6)

414.	[bug]		jinmei
	b10-auth now correctly handles delegation from an unsigned zone
	(defined in the in-memory data source) when the query has DNSSEC
	DO bit on.  It previously returned SERVFAIL.
	(Trac #1836, git 78bb8f4b9676d6345f3fdd1e5cc89039806a9aba)

413.	[func]		stephen, jelte
	Created a new tool b10-dbutil, that can check and upgrade database
	schemas, to be used when incompatible changes are introduced in the
	backend database schema. Currently it only supports sqlite3 databases.
	Note: there's no schema change that requires this utility as of
	the March 29th release.  While running it shouldn't break
	an existing database file, it should be even more advisable not to
	run it at the moment.
	(Trac #963, git 49ba2cf8ac63246f389ab5e8ea3b3d081dba9adf)

412.	[func]		jelte
	Added a command-line option '--clear-config' to bind10, which causes
	the system to create a backup of the existing configuration database
	file, and start out with a clean default configuration. This can be
	used if the configuration file is corrupted to the point where it
	cannot be read anymore, and BIND 10 refuses to start. The name of
	the backup file can be found in the logs (CFGMGR_RENAMED_CONFIG_FILE).
	(Trac #1443, git 52b36c921ee59ec69deefb6123cbdb1b91dc3bc7)

411.	[func]		muks
	Add a -i/--no-kill command-line argument to bind10, which stops
	it from sending SIGTERM and SIGKILL to other b10 processes when
	they're shutting down.
	(Trac #1819, git 774554f46b20ca5ec2ef6c6d5e608114f14e2102)

410.	[bug]		jinmei
	Python CC library now ensures write operations transmit all given
	data (unless an error happens).  Previously it didn't check the
	size of transmitted data, which could result in partial write on
	some systems (notably on OpenBSD) and subsequently cause system
	hang up or other broken state.  This fix specifically solves start
	up failure on OpenBSD.
	(Trac #1829, git 5e5a33213b60d89e146cd5e47d65f3f9833a9297)

409.	[bug]		jelte
	Fixed a parser bug in bindctl that could make bindctl crash. Also
	improved 'command help' output; argument order is now shown
	correctly, and parameter descriptions are shown as well.
	(Trac #1172, git bec26c6137c9b0a59a3a8ca0f55a17cfcb8a23de)

408.	[bug]		stephen, jinmei
	b10-auth now filters out duplicate RRsets when building a
	response message using the new query handling logic.  It's
	currently only used with the in-memory data source, but will
	also be used for others soon.
	(Trac #1688, git b77baca56ffb1b9016698c00ae0a1496d603d197)

407.	[build]		haikuo
	Remove "--enable-boost-threads" switch in configure command. This
	thread lock mechanism is useless for bind10 and causes performance 
	hits. 
	(Trac #1680, git 9c4d0cadf4adc802cc41a2610dc2c30b25aad728)

406.	[bug]		muks
	On platforms such as OpenBSD where pselect() is not available,
	make a wrapper around select() in perfdhcp.
	(Trac #1639, git 6ea0b1d62e7b8b6596209291aa6c8b34b8e73191)

405.	[bug]		jinmei
	Make sure disabling Boost threads if the default configuration is
	to disable it for the system.  This fixes a crash and hang up
	problem on OpenBSD, where the use of Boost thread could be
	different in different program files depending on the order of
	including various header files, and could introduce inconsistent
	states between a library and a program.  Explicitly forcing the
	original default throughout the BIND 10 build environment will
	prevent this from happening.
	(Trac #1727, git 23f9c3670b544c5f8105958ff148aeba050bc1b4)

404.	[bug]		naokikambe
	The statistic counters are now properly accumulated across multiple
	instances of b10-auth (if there are multiple instances), instead of
	providing result for random instance.
	(Trac #1751, git 3285353a660e881ec2b645e1bc10d94e5020f357)

403.	[build]*		jelte
	The configure option for botan (--with-botan=PATH) is replaced by
	--with-botan-config=PATH, which takes a full path to a botan-config
	script, instead of the botan 'install' directory. Also, if not
	provided, configure will try out config scripts and pkg-config
	options until it finds one that works.
	(Trac #1640, git 582bcd66dbd8d39f48aef952902f797260280637)

402.	[func]		jelte
	b10-xfrout now has a visible command to send out notifies for
	a given zone, callable from bindctl. Xfrout notify <zone> [class]
	(Trac #1321, git 0bb258f8610620191d75cfd5d2308b6fc558c280)

401.	[func]*		jinmei
	libdns++: updated the internal implementation of the
	MessageRenderer class.  This is mostly a transparent change, but
	the new version now doesn't allow changing compression mode in the
	middle of rendering (which shouldn't be an issue in practice).
	On the other hand, name compression performance was significantly
	improved: depending on the number of names, micro benchmark tests
	showed the new version is several times faster than the previous
	version .
	(Trac #1603, git 9a2a86f3f47b60ff017ce1a040941d0c145cfe16)

400.	[bug]		stephen
	Fix crash on Max OS X 10.7 by altering logging so as not to allocate
	heap storage in the static initialization of logging objects.
	(Trac #1698, git a8e53be7039ad50d8587c0972244029ff3533b6e)

399.	[func]		muks
	Add support for the SSHFP RR type (RFC 4255).
	(Trac #1136, git ea5ac57d508a17611cfae9d9ea1c238f59d52c51)

398.	[func]		jelte
	The b10-xfrin module now logs more information on successful
	incoming transfers. In the case of IXFR, it logs the number of
	changesets, and the total number of added and deleted resource
	records. For AXFR (or AXFR-style IXFR), it logs the number of
	resource records. In both cases, the number of overhead DNS
	messages, runtime, amount of wire data, and transfer speed are logged.
	(Trac #1280, git 2b01d944b6a137f95d47673ea8367315289c205d)

397.	[func]		muks
	The boss process now gives more helpful description when a
	sub-process exits due to a signal.
	(Trac #1673, git 1cd0d0e4fc9324bbe7f8593478e2396d06337b1e)

396.	[func]*		jinmei
	libdatasrc: change the return type of ZoneFinder::find() so it can
	contain more context of the search, which can be used for
	optimizing post find() processing.  A new method getAdditional()
	is added to it for finding additional RRsets based on the result
	of find().  External behavior shouldn't change.  The query
	handling code of b10-auth now uses the new interface.
	(Trac #1607, git 2e940ea65d5b9f371c26352afd9e66719c38a6b9)

395.	[bug]		jelte
	The log message compiler now errors (resulting in build failures) if
	duplicate log message identifiers are found in a single message file.
	Renamed one duplicate that was found (RESOLVER_SHUTDOWN, renamed to
	RESOLVER_SHUTDOWN_RECEIVED).
	(Trac #1093, git f537c7e12fb7b25801408f93132ed33410edae76)
	(Trac #1741, git b8960ab85c717fe70ad282e0052ac0858c5b57f7)

394.	[bug]		jelte
	b10-auth now catches any exceptions during response building; if any
	datasource either throws an exception or causes an exception to be
	thrown, the message processing code will now catch it, log a debug
	message, and return a SERVFAIL response.
	(Trac #1612, git b5740c6b3962a55e46325b3c8b14c9d64cf0d845)

393.	[func]		jelte
	Introduced a new class LabelSequence in libdns++, which provides
	lightweight accessor functionality to the Name class, for more
	efficient comparison of parts of names.
	(Trac #1602, git b33929ed5df7c8f482d095e96e667d4a03180c78)

392.	[func]*		jinmei
	libdns++: revised the (Abstract)MessageRenderer class so that it
	has a default internal buffer and the buffer can be temporarily
	switched.  The constructor interface was modified, and a new
	method setBuffer() was added.
	(Trac #1697, git 9cabc799f2bf9a3579dae7f1f5d5467c8bb1aa40)

391.	[bug]*		vorner
	The long time unused configuration options of Xfrout "log_name",
	"log_file", "log_severity", "log_version" and "log_max_bytes" were
	removed, as they had no effect (Xfrout uses the global logging
	framework).  However, if you have them set, you need to remove
	them from the configuration file or the configuration will be
	rejected.
	(Trac #1090, git ef1eba02e4cf550e48e7318702cff6d67c1ec82e)

Please let us know about your experiences with using BIND 10.

Jeremy C. Reed
ISC Release Engineer

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (NetBSD)

iEYEARECAAYFAk90o/0ACgkQs9Bv5D4YwC08AwCffetbuQrqWmdV00L03/f3aiWk
5HkAoKPuEc3MlOLKY0inB52cyXChG1Ib
=+gjn
-----END PGP SIGNATURE-----


More information about the bind-announce mailing list