ChangeLog 118 KB
Newer Older
JINMEI Tatuya's avatar
JINMEI Tatuya committed
1 2 3 4 5 6 7 8 9 10 11 12 13
458.	[build]*	jinmei
	BIND 10 now relies on Boost offset_ptr, which caused some new
	portability issues.  Such issues are detected at ./configure time.
	If ./configure stops due to this, try the following workaround:
	- If it's about the use of mutable for a reference with clang++,
	  upgrade Boost version to 1.44 or higher, or try a different
	  compiler (e.g. g++ generally seems to be free from this issue)
	- If it's about the use of "variadic templates", specify
	  --without-werror so the warning won't be promoted to an error.
	  Specifying BOOST_NO_USER_CONFIG in CXXFLAGS may also work
	  (which would be the case if Boost is installed via pkgsrc)
	(Trac #2147, git 30061d1139aad8716e97d6b620c259752fd0a3cd)

Mukund Sivaraman's avatar
Mukund Sivaraman committed
14 15 16 17 18
457.	[build]*	muks
	BIND 10 library names now have a "b10-" prefix. This is to avoid
	clashes with other similarly named libraries on the system.
	(Trac #2071, git ac20a00c28069804edc0a36050995df52f601efb)

19
456.	[build]*	muks
Mukund Sivaraman's avatar
Mukund Sivaraman committed
20
	BIND 10 now compiles against log4cplus-1.1.0 (RC releases)
21 22 23
	also.  Note: some older versions of log4cplus don't work any more;
	known oldest workable version is 1.0.4.  Thanks to John Lumby for
	sending a patch.
Mukund Sivaraman's avatar
Mukund Sivaraman committed
24 25
	(Trac #2169, git 7d7e5269d57451191c0aef1b127d292d3615fe2c)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
26
455.	[func]*		vorner
27 28 29 30
	The server now uses newer API for data sources. This would be an
	internal change, however, the data sources are now configured
	differently. Please, migrate your configuration to the top-level
	"data_sources" module.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
31 32
	(Trac #1976, git 0d4685b3e7603585afde1b587cbfefdfaf6a1bb3)

33 34 35 36 37 38 39
454.	[bug]		jelte
	b10-cfgmgr now loads its configuration check plugins directly from
	the plugin search path, as opposed to importing them from the
	general python system module path list; this prevents naming
	conflicts with real python modules.
	(Trac #2119, git 2f68d7ac5c3c7cc88a3663191113eece32d46a3d)

40 41 42 43 44 45 46
453.	[bug]		jelte
	b10-auth no longer tries to send DDNS UPDATE messages to b10-ddns if
	b10-ddns is not running. Sending an UPDATE to BIND 10 that is not
	configured to run DDNS will now result in a response with rcode
	NOTIMP instead of SERVFAIL.
	(Trac #1986, git bd6b0a5ed3481f78fb4e5cb0b18c7b6e5920f9f8)

Mukund Sivaraman's avatar
Mukund Sivaraman committed
47
452.	[func]*		muks
48
	isc-sysinfo: An initial implementation of the isc-sysinfo tool
Mukund Sivaraman's avatar
Mukund Sivaraman committed
49 50 51 52
	is now available. It gathers and outputs system information which
	can be used by future tech support staff.
	(Trac #2062, git 144e80212746f8d55e6a59edcf689fec9f32ae95)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
53 54 55 56 57 58 59 60
451.	[bug]		muks, jinmei
	libdatasrc: the database-based data source now correctly returns
	glue records on (not under) a zone cut, such as in the case where
	the NS name of an NS record is identical to its owner name. (Note:
	libdatasrc itself doesn't judge what kind of record type can be a
	"glue"; it's the caller's responsibility.)
	(Trac #1771, git 483f1075942965f0340291e7ff7dae7806df22af)

61
450.	[func]*		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
62 63 64 65
	b10-dhcp4: DHCPv4 server component is now integrated into
	BIND10 framework. It can be started from BIND10 (using bindctl)
	and can receive commands. The only supported command for now
	is 'Dhcp4 shutdown'.
66
	(Trac #1651, git 7e16a5a50d3311e63d10a224ec6ebcab5f25f62c)
Tomek Mrugalski's avatar
Tomek Mrugalski committed
67

68 69
bind10-devel-20120621 released on June 21. 2012

70 71 72
449.	[bug]		muks
	b10-xfin: fixed a bug where xfrin sent the wrong notification
	message to zonemgr on successful zone transfer. This also
Jeremy C. Reed's avatar
Jeremy C. Reed committed
73
	solves other reported problems such as too frequent attempts
74 75 76
	of zone refreshing (see Trac #1786 and #1834).
	(Trac #2023, git b5fbf8a408a047a2552e89ef435a609f5df58d8c)

77 78 79 80 81 82
448.	[func]		team
	b10-ddns is now functional and handles dynamic update requests
	per RFC 2136.  See BIND 10 guide for configuration and operation
	details.
	(Multiple Trac tickets)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
83 84 85 86
447.	[bug]		jinmei
	Fixed a bug in b10-xfrout where a helper thread could fall into
	an infinite loop if b10-auth stops while the thread is waiting for
	forwarded requests from b10-auth.
87
	(Trac #988 and #1833, git 95a03bbefb559615f3f6e529d408b749964d390a)
JINMEI Tatuya's avatar
JINMEI Tatuya committed
88

Mukund Sivaraman's avatar
Mukund Sivaraman committed
89 90 91 92 93
446.	[bug]		muks
	A number of warnings reported by Python about unclosed file and
	socket objects were fixed. Some related code was also made safer.
	(Trac #1828, git 464682a2180c672f1ed12d8a56fd0a5ab3eb96ed)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
94 95 96 97 98 99 100
445.	[bug]*		jinmei
	The pre-install check for older SQLite3 DB now refers to the DB
	file with the prefix of DESTDIR.  This ensures that 'make install'
	with specific DESTDIR works regardless of the version of the DB
	file installed in the default path.
	(Trac #1982, git 380b3e8ec02ef45555c0113ee19329fe80539f71)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
101 102 103 104 105 106
444.	[bug]		jinmei
	libdatasrc: fixed ZoneFinder for database-based data sources so
	that it handles type DS query correctly, i.e., treating it as
	authoritative data even on a delegation point.
	(Trac #1912, git 7130da883f823ce837c10cbf6e216a15e1996e5d)

107
443.	[func]*		muks
Mukund Sivaraman's avatar
Mukund Sivaraman committed
108 109 110 111 112 113 114 115 116 117
	The logger now uses a lockfile named `logger_lockfile' that is
	created in the local state directory to mutually separate
	individual logging operations from various processes. This is
	done so that log messages from different processes don't mix
	together in the middle of lines. The `logger_lockfile` is created
	with file permission mode 0660. BIND 10's local state directory
	should be writable and perhaps have g+s mode bit so that the
	`logger_lockfile` can be opened by a group of processes.
	(Trac #1704, git ad8d445dd0ba208107eb239405166c5c2070bd8b)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
118
442.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
119 120 121
	b10-dhcp4, b10-dhcp6: Both DHCP servers now accept -p parameter
	that can be used to specify listening port number. This capability
	is useful only for testing purposes.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
122 123
	(Trac #1503, git e60af9fa16a6094d2204f27c40a648fae313bdae)

124
441.	[func]		tomek
125 126
	libdhcp++: Stub interface detection (support for interfaces.txt
	file) was removed.
127
	(Trac #1281, git 900fc8b420789a8c636bcf20fdaffc60bc1041e0)
128

129 130
bind10-devel-20120517 released on May 17. 2012

Jeremy C. Reed's avatar
Jeremy C. Reed committed
131 132 133 134 135 136
440.	[func]		muks
	bindctl: improved some error messages so they will be more
	helpful.  Those include the one when the zone name is unspecified
	or the name is invalid in the b10-auth configuration.
	(Trac #1627, git 1a4d0ae65b2c1012611f4c15c5e7a29d65339104)

137
439.	[func]		team
138 139 140 141 142 143
	The in-memory data source can now load zones from the
	sqlite3 data source, so that zones stored in the database
	(and updated for example by xfrin) can be served from memory.
	(Trac #1789,#1790,#1792,#1793,#1911,
	git 93f11d2a96ce4dba9308889bdb9be6be4a765b27)

144
438.	[bug]		naokikambe
145 146 147 148 149 150 151 152 153 154 155 156 157
	b10-stats-httpd now sends the system a notification that
	it is shutting down if it encounters a fatal error during
	startup.
	(Trac #1852, git a475ef271d4606f791e5ed88d9b8eb8ed8c90ce6)

437.	[build]		jinmei
	Building BIND 10 may fail on MacOS if Python has been
	installed via Homebrew unless --without-werror is specified.
	The configure script now includes a URL that explains this
	issue when it detects failure that is possibly because of
	this problem.
	(Trac #1907, git 0d03b06138e080cc0391fb912a5a5e75f0f97cec)

158 159 160 161 162
436.	[bug]		jelte
	The --config-file option now works correctly with relative paths if
	--data-path is not given.
	(Trac #1889, git ce7d1aef2ca88084e4dacef97132337dd3e50d6c)

163 164 165 166
435.	[func]		team
	The in-memory datasource now supports NSEC-signed zones.
	(Trac #1802-#1810, git 2f9aa4a553a05aa1d9eac06f1140d78f0c99408b)

167
434.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
168 169
	libdhcp++: Linux interface detection refactored. The code is
	now cleaner. Tests better support certain versions of ifconfig.
170
	(Trac #1528, git 221f5649496821d19a40863e53e72685524b9ab2)
Tomek Mrugalski's avatar
Tomek Mrugalski committed
171

172
433.	[func]		tomek
173 174 175
	libdhcp++: Option6 and Pkt6 now follow the same design as
	options and packet for DHCPv4. General code refactoring after
	end of 2011 year release.
176
	(Trac #1540, git a40b6c665617125eeb8716b12d92d806f0342396)
177

Mukund Sivaraman's avatar
Mukund Sivaraman committed
178 179 180 181 182
432.	[bug]*		muks
	BIND 10 now installs its header files in a BIND 10 specific
	sub-directory in the install prefix.
	(Trac #1930, git fcf2f08db9ebc2198236bfa25cf73286821cba6b)

183
431.	[func]*		muks
Mukund Sivaraman's avatar
Mukund Sivaraman committed
184 185 186
	BIND 10 no longer starts b10-stats-httpd by default.
	(Trac #1885, git 5c8bbd7ab648b6b7c48e366e7510dedca5386f6c)

187 188 189 190 191
430.	[bug]		jelte
	When displaying configuration data, bindctl no longer treats
	optional list items as an error, but shows them as an empty list.
	(Trac #1520, git 0f18039bc751a8f498c1f832196e2ecc7b997b2a)

192 193 194 195 196 197 198
429.	[func]		jelte
	Added an 'execute' component to bindctl, which executes either a set
	of commands from a file or a built-in set of commands. Currently,
	only 'init_authoritative_server' is provided as a built-in set, but
	it is expected that more will be added later.
	(Trac #1843, git 551657702a4197ef302c567b5c0eaf2fded3e121)

199
428.	[bug]		marcin
Jeremy C. Reed's avatar
Jeremy C. Reed committed
200 201
	perfdhcp: bind to local address to allow reception of
	replies from IPv6 DHCP servers.
202 203
	(Trac #1908, git 597e059afaa4a89e767f8f10d2a4d78223af3940)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
204 205 206 207 208 209 210
427.	[bug]		jinmei
	libdatasrc, b10-xfrin: the zone updater for database-based data
	sources now correctly distinguishes NSEC3-related RRs (NSEC3 and
	NSEC3-covering RRSIG) from others, and the SQLite3 implementation
	now manipulates them in the separate table for the NSEC3 namespace.
	As a result b10-xfrin now correctly updates NSEC3-signed zones by
	inbound zone transfers.
211
	(Trac #1781,#1788,#1891, git 672f129700dae33b701bb02069cf276238d66be3)
JINMEI Tatuya's avatar
JINMEI Tatuya committed
212

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
213
426.	[bug]		vorner
Jeremy C. Reed's avatar
Jeremy C. Reed committed
214 215
	The NSEC3 records are now included when transferring a
	signed zone out.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
216 217 218
	(Trac #1782, git 36efa7d10ecc4efd39d2ce4dfffa0cbdeffa74b0)

425.	[func]*		muks
Mukund Sivaraman's avatar
Mukund Sivaraman committed
219 220 221 222
	Don't autostart b10-auth, b10-xfrin, b10-xfrout and b10-zonemgr in
	the default configuration.
	(Trac #1818, git 31de885ba0409f54d9a1615eff5a4b03ed420393)

223 224 225 226 227
424.	[bug]		jelte
	Fixed a bug in bindctl where in some cases, configuration settings
	in a named set could disappear, if a child element is modified.
	(Trac #1491, git 00a36e752802df3cc683023d256687bf222e256a)

228 229 230 231 232 233 234 235 236 237 238 239
423.	[bug]		jinmei
	The database based zone iterator now correctly resets mixed TTLs
	of the same RRset (when that happens) to the lowest one.  The
	previous implementation could miss lower ones if it appears in a
	later part of the RRset.
	(part of Trac #1791, git f1f0bc00441057e7050241415ee0367a09c35032)

422.	[bug]		jinmei
	The database based zone iterator now separates RRSIGs of the same
	name and type but for different covered types.
	(part of Trac #1791, git b4466188150a50872bc3c426242bc7bba4c5f38d)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
240 241 242 243 244 245
421.	[build]		jinmei
	Made sure BIND 10 can be built with clang++ 3.1.  (It failed on
	MacOS 10.7 using Xcode 4.3, but it's more likely to be a matter of
	clang version.)
	(Trac #1773, git ceaa247d89ac7d97594572bc17f005144c5efb8d)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
246 247 248 249 250 251 252 253 254 255 256
420.	[bug]*		jinmei, stephen
	Updated the DB schema used in the SQLite3 data source so it can
	use SQL indices more effectively.  The previous schema had several
	issues in this sense and could be very slow for some queries on a
	very large zone (especially for negative answers).  This change
	requires a major version up of the schema; use b10-dbutil to
	upgrade existing database files.  Note: 'make install' will fail
	unless old DB files installed in the standard location have been
	upgraded.
	(Trac #324, git 8644866497053f91ada4e99abe444d7876ed00ff)

257 258 259 260 261 262
419.	[bug]		jelte
	JSON handler has been improved; escaping now works correctly
	(including quotes in strings), and it now rejects more types of
	malformed input.
	(Trac #1626, git 3b09268518e4e90032218083bcfebf7821be7bd5)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
263 264
418.	[bug]		vorner
	Fixed crash in bindctl when config unset was called.
265
	(Trac #1715, git 098da24dddad497810aa2787f54126488bb1095c)
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
266

267 268 269 270 271 272 273 274 275 276 277
417.	[bug]		jelte
	The notify-out code now looks up notify targets in their correct
	zones (and no longer just in the zone that the notify is about).
	(Trac #1535, git 66300a3c4769a48b765f70e2d0dbf8bbb714435b)

416.	[func]*		jelte
	The implementations of ZoneFinder::find() now throw an OutOfZone
	exception when the name argument is not in or below the zone this
	zonefinder contains.
	(Trac #1535, git 66300a3c4769a48b765f70e2d0dbf8bbb714435b)

278 279
bind10-devel-20120329 released on March 29, 2012

280 281
415.	[doc]		jinmei, jreed
	BIND 10 Guide updated to now describe the in-memory data source
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
282
	configurations for b10-auth.
283
	(Trac #1732, git 434d8db8dfcd23a87b8e798e5702e91f0bbbdcf6)
284

JINMEI Tatuya's avatar
JINMEI Tatuya committed
285 286 287 288 289 290
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)

291 292 293 294
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.
295 296 297 298
	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.
299 300
	(Trac #963, git 49ba2cf8ac63246f389ab5e8ea3b3d081dba9adf)

301 302 303 304 305 306 307 308 309 310
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
311
	Add a -i/--no-kill command-line argument to bind10, which stops
312 313 314 315
	it from sending SIGTERM and SIGKILL to other b10 processes when
	they're shutting down.
	(Trac #1819, git 774554f46b20ca5ec2ef6c6d5e608114f14e2102)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
316 317 318 319 320 321 322 323 324
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)

325 326 327 328 329 330
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)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
331 332 333 334 335 336 337
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)

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

Mukund Sivaraman's avatar
Mukund Sivaraman committed
344 345 346 347 348
406.	[bug]		muks
	On platforms such as OpenBSD where pselect() is not available,
	make a wrapper around select() in perfdhcp.
	(Trac #1639, git 6ea0b1d62e7b8b6596209291aa6c8b34b8e73191)

349
405.	[bug]		jinmei
350 351 352 353 354 355 356 357
	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.
358
	(Trac #1727, git 23f9c3670b544c5f8105958ff148aeba050bc1b4)
359

360
404.	[bug]		naokikambe
361 362 363
	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.
364
	(Trac #1751, git 3285353a660e881ec2b645e1bc10d94e5020f357)
365

Jeremy C. Reed's avatar
Jeremy C. Reed committed
366
403.	[build]*		jelte
367 368 369 370 371 372 373
	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)

374 375 376 377 378
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)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
379 380 381 382 383 384 385 386 387 388 389
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)

390 391 392 393 394
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)

Mukund Sivaraman's avatar
Mukund Sivaraman committed
395 396 397 398
399.	[func]		muks
	Add support for the SSHFP RR type (RFC 4255).
	(Trac #1136, git ea5ac57d508a17611cfae9d9ea1c238f59d52c51)

Jelte Jansen's avatar
Jelte Jansen committed
399 400 401 402 403 404 405 406 407
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)

Mukund Sivaraman's avatar
Mukund Sivaraman committed
408 409 410 411 412
397.	[func]		muks
	The boss process now gives more helpful description when a
	sub-process exits due to a signal.
	(Trac #1673, git 1cd0d0e4fc9324bbe7f8593478e2396d06337b1e)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
413 414 415 416 417 418 419 420 421
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)

422 423 424 425 426 427 428 429
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)

430
394.	[bug]		jelte
431 432 433 434 435 436
	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)

437 438 439 440 441 442
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)

443
392.	[func]*		jinmei
444 445 446 447 448 449
	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)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
450 451 452
391.	[bug]*		vorner
	The long time unused configuration options of Xfrout "log_name",
	"log_file", "log_severity", "log_version" and "log_max_bytes" were
453 454 455 456
	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.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
457 458
	(Trac #1090, git ef1eba02e4cf550e48e7318702cff6d67c1ec82e)

459 460
bind10-devel-20120301 released on March 1, 2012

Jeremy C. Reed's avatar
Jeremy C. Reed committed
461 462 463 464
390.	[bug]		vorner
	The UDP IPv6 packets are now correctly fragmented for maximum
	guaranteed MTU, so they won't get lost because being too large
	for some hop.
465
	(Trac #1534, git ff013364643f9bfa736b2d23fec39ac35872d6ad)
466

Jeremy C. Reed's avatar
Jeremy C. Reed committed
467 468 469 470 471
389.	[func]*		vorner
	Xfrout now uses the global TSIG keyring, instead of its own. This
	means the keys need to be set only once (in tsig_keys/keys).
	However, the old configuration of Xfrout/tsig_keys need to be
	removed for Xfrout to work.
472
	(Trac #1643, git 5a7953933a49a0ddd4ee1feaddc908cd2285522d)
473

474 475 476
388.	[func]		jreed
	Use prefix "sockcreator-" for the private temporary directory
	used for b10-sockcreator communication.
Jeremy C. Reed's avatar
Jeremy C. Reed committed
477
	(git b98523c1260637cb33436964dc18e9763622a242)
478

Mukund Sivaraman's avatar
Mukund Sivaraman committed
479 480 481 482 483
387.	[build]		muks
	Accept a --without-werror configure switch so that some builders can
	disable the use of -Werror in CFLAGS when building.
	(Trac #1671, git 8684a411d7718a71ad9fb616f56b26436c4f03e5)

484 485 486 487 488 489 490
386.	[bug]		jelte
	Upon initial sqlite3 database creation, the 'diffs' table is now
	always created. This already happened most of the time, but there
	are a few cases where it was skipped, resulting in potential errors
	in xfrout later.
	(Trac #1717, git 30d7686cb6e2fa64866c983e0cfb7b8fabedc7a2)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
491 492 493 494 495 496 497 498 499 500 501
385.	[bug]		jinmei
	libdns++: masterLoad() didn't accept comments placed at the end of
	an RR.  Due to this the in-memory data source cannot load a master
	file for a signed zone even if it's preprocessed with BIND 9's
	named-compilezone.
	Note: this fix is considered temporary and still only accepts some
	limited form of such comments.  The main purpose is to allow the
	in-memory data source to load any signed or unsigned zone files as
	long as they are at least normalized with named-compilezone.
	(Trac #1667, git 6f771b28eea25c693fe93a0e2379af924464a562)

502 503 504
384.	[func]		jinmei, jelte, vorner, haikuo, kevin
	b10-auth now supports NSEC3-signed zones in the in-memory data
	source.
505 506
	(Trac #1580, #1581, #1582, #1583, #1584, #1585, #1587, and
	other related changes to the in-memory data source)
507

JINMEI Tatuya's avatar
JINMEI Tatuya committed
508
383.	[build]		jinmei
509 510 511
	Fixed build failure on MacOS 10.7 (Lion) due to the use of
	IPV6_PKTINFO; the OS requires a special definition to make it
	visible to the compiler.
JINMEI Tatuya's avatar
JINMEI Tatuya committed
512 513 514
	(Trac #1633, git 19ba70c7cc3da462c70e8c4f74b321b8daad0100)

382.	[func]		jelte
Jelte Jansen's avatar
Jelte Jansen committed
515
	b10-auth now also experimentally supports statistics counters of
Jeremy C. Reed's avatar
Jeremy C. Reed committed
516
	the rcode responses it sends. The counters can be shown as
Jelte Jansen's avatar
Jelte Jansen committed
517 518 519 520 521
	rcode.<code name>, where code name is the lowercase textual
	representation of the rcode (e.g. "noerror", "formerr", etc.).
	Same note applies as for opcodes, see changelog entry 364.
	(Trac #1613, git e98da500d7b02e11347431a74f2efce5a7d622aa)

Jelte Jansen's avatar
Jelte Jansen committed
522
381.	[bug]		jinmei
Jelte Jansen's avatar
Jelte Jansen committed
523
	b10-auth: honor the DNSSEC DO bit in the new query handler.
Jelte Jansen's avatar
Jelte Jansen committed
524 525
	(Trac #1695, git 61f4da5053c6a79fbc162fb16f195cdf8f94df64)

526 527 528 529 530 531
380.	[bug]		jinmei
	libdns++: miscellaneous bug fixes for the NSECPARAM RDATA
	implementation, including incorrect handling for empty salt and
	incorrect comparison logic.
	(Trac #1638, git 966c129cc3c538841421f1e554167d33ef9bdf25)

Jelte Jansen's avatar
Jelte Jansen committed
532 533 534 535 536 537 538 539 540 541 542
379.	[bug]		jelte
	Configuration commands in bindctl now check for list indices if
	the 'identifier' argument points to a child element of a list
	item. Previously, it was possible to 'get' non-existent values
	by leaving out the index, e.g. "config show Auth/listen_on/port,
	which should be config show Auth/listen_on[<index>]/port, since
	Auth/listen_on is a list. The command without an index will now
	show an error. It is still possible to show/set the entire list
	("config show Auth/listen_on").
	(Trac #1649, git 003ca8597c8d0eb558b1819dbee203fda346ba77)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
543
378.	[func]		vorner
544
	It is possible to start authoritative server or resolver in multiple
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
545 546 547 548
	instances, to use more than one core. Configuration is described in
	the guide.
	(Trac #1596, git 17f7af0d8a42a0a67a2aade5bc269533efeb840a)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
549 550 551 552 553 554 555
377.	[bug]		jinmei
	libdns++: miscellaneous bug fixes for the NSEC and NSEC3 RDATA
	implementation, including a crash in NSEC3::toText() for some RR
	types, incorrect handling of empty NSEC3 salt, and incorrect
	comparison logic in NSEC3::compare().
	(Trac #1641, git 28ba8bd71ae4d100cb250fd8d99d80a17a6323a2)

556
376.	[bug]		jinmei, vorner
JINMEI Tatuya's avatar
JINMEI Tatuya committed
557 558 559 560 561 562 563 564
	The new query handling module of b10-auth did not handle type DS
	query correctly: It didn't look for it in the parent zone, and
	it incorrectly returned a DS from the child zone if it
	happened to exist there.  Both were corrected, and it now also
	handles the case of having authority for the child and a grand
	ancestor.
	(Trac #1570, git 2858b2098a10a8cc2d34bf87463ace0629d3670e)

565
375.	[func]		jelte
Jeremy C. Reed's avatar
Jeremy C. Reed committed
566 567 568 569 570
	Modules now inform the system when they are stopping. As a result,
	they are removed from the 'active modules' list in bindctl, which
	can then inform the user directly when it tries to send them a
	command or configuration update.  Previously this would result
	in a 'not responding' error instead of 'not running'.
Jelte Jansen's avatar
Jelte Jansen committed
571 572
	(Trac #640, git 17e78fa1bb1227340aa9815e91ed5c50d174425d)

573
374.	[func]*		stephen
574 575 576 577 578
	Alter RRsetPtr and ConstRRsetPtr to point to AbstractRRset (instead
	of RRset) to allow for specialised implementations of RRsets in
	data sources.
	(Trac #1604, git 3071211d2c537150a691120b0a5ce2b18d010239)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
579 580 581 582 583
373.	[bug]		jinmei
	libdatasrc: the in-memory data source incorrectly rejected loading
	a zone containing a CNAME RR with RRSIG and/or NSEC.
	(Trac #1551, git 76f823d42af55ce3f30a0d741fc9297c211d8b38)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
584 585
372.	[func]		vorner
	When the allocation of a socket fails for a different reason than the
JINMEI Tatuya's avatar
JINMEI Tatuya committed
586 587
	socket not being provided by the OS, the b10-auth and b10-resolver
	abort, as the system might be in inconsistent state after such error.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
588 589
	(Trac #1543, git 49ac4659f15c443e483922bf9c4f2de982bae25d)

Jelte Jansen's avatar
Jelte Jansen committed
590 591 592 593 594
371.	[bug]		jelte
	The new query handling module of b10-auth (currently only used with
	the in-memory data source) now correctly includes the DS record (or
	the denial of its existence if NSEC is used) when returning a
	delegation from a signed zone.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
595
	(Trac #1573, git bd7a3ac98177573263950303d4b2ea7400781d0f)
Jelte Jansen's avatar
Jelte Jansen committed
596

JINMEI Tatuya's avatar
JINMEI Tatuya committed
597 598 599 600 601 602 603 604
370.	[func]		jinmei
	libdns++: a new class NSEC3Hash was introduced as a utility for
	calculating NSEC3 hashes for various purposes.  Python binding was
	provided, too.  Also fixed a small bug in the NSEC3PARAM RDATA
	implementation that empty salt in text representation was
	rejected.
	(Trac #1575, git 2c421b58e810028b303d328e4e2f5b74ea124839)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
605
369.	[func]		vorner
Jeremy C. Reed's avatar
Jeremy C. Reed committed
606 607 608 609 610
	The SocketRequestor provides more information about what error
	happened when it throws, by using subclasses of the original
	exception. This way a user not interested in the difference can
	still use the original exception, while it can be recognized if
	necessary.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
611 612
	(Trac #1542, git 2080e0316a339fa3cadea00e10b1ec4bc322ada0)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
613 614 615 616 617 618 619 620 621
368.	[func]*		jinmei
	libdatasrc: the interface of ZoneFinder() was changed: WILDCARD
	related result codes were deprecated and removed, and the
	corresponding information is now provided via a separate accessor
	method on FindResult.  Other separate FindResult methods will
	also tell the caller whether the zone is signed with NSEC or NSEC3
	(when necessary and applicable).
	(Trac #1611, git c175c9c06034b4118e0dfdbccd532c2ebd4ba7e8)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
622 623 624 625 626 627 628
367.	[bug]		jinmei
	libdatasrc: in-memory data source could incorrectly reject to load
	zones containing RRSIG records.  For example, it didn't allow
	RRSIG that covers a CNAME RR.  This fix also makes sure find()
	will return RRsets with RRSIGs if they are signed.
	(Trac #1614, git e8241ea5a4adea1b42a60ee7f2c5cfb87301734c)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
629 630
366.	[bug]		vorner
	Fixed problem where a directory named "io" conflicted with the python3
JINMEI Tatuya's avatar
JINMEI Tatuya committed
631 632
	standard module "io" and caused the installation to fail.  The
	offending directory has been renamed to "cio".
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
633 634
	(Trac #1561, git d81cf24b9e37773ba9a0d5061c779834ff7d62b9)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
635 636 637 638 639
365.	[bug]		jinmei
	libdatasrc: in-memory datasource incorrectly returned delegation
	for DS lookups.
	(Trac #1571, git d22e90b5ef94880183cd652e112399b3efb9bd67)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
640 641 642 643 644 645 646 647 648 649 650
364.	[func]		jinmei
	b10-auth experimentally supports statistics counters of incoming
	requests per opcode.  The counters can be (e.g.) shown as
	opcode.<code name> in the output of the bindctl "Stats show"
	command, where <code name> is lower-cased textual representation
	of opcodes ("query", "notify", etc).
	Note: This is an experimental attempt of supporting more
	statistics counters for b10-auth, and the interface and output may
	change in future versions.
	(Trac #1399, git 07206ec76e2834de35f2e1304a274865f8f8c1a5)

Jeremy C. Reed's avatar
Jeremy C. Reed committed
651 652
bind10-devel-20120119 released on January 19, 2012

653
363.	[func]		jelte
Jeremy C. Reed's avatar
Jeremy C. Reed committed
654 655 656
	Added dummy DDNS module b10-ddns. Currently it does not
	provide any functionality, but it is a skeleton implementation
	that will be expanded later.
657 658
	(Trac #1451, git b0d0bf39fbdc29a7879315f9b8e6d602ef3afb1b)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
659
362.	[func]*		vorner
Jeremy C. Reed's avatar
Jeremy C. Reed committed
660 661 662 663
	Due to the socket creator changes, b10-auth and b10-resolver
	are no longer needed to start as root. They are started as
	the user they should be running, so they no longer have
	the -u flag for switching the user after initialization.
664 665 666 667
	Note: this change broke backward compatibility to boss component
	configuration.  If your b10-config.db contains "setuid" for
	Boss.components, you'll need to remove that entry by hand before
	starting BIND 10.
668 669
	(Trac #1508, #1509, #1510,
	git edc5b3c12eb45437361484c843794416ad86bb00)
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
670 671

361.	[func]		vorner,jelte,jinmei
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
672
	The socket creator is now used to provide sockets. It means you can
673 674
	reconfigure the ports and addresses at runtime even when the rest
	of the bind10 runs as non root user.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
675 676
	(Trac #805,#1522, git 1830215f884e3b5efda52bd4dbb120bdca863a6a)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
677 678 679 680 681
360.	[bug]		vorner
	Fixed problem where bindctl crashed when a duplicate non-string
	item was added  to a list.  This error is now properly reported.
	(Trac #1515, git a3cf5322a73e8a97b388c6f8025b92957e5d8986)

682 683 684 685 686 687 688 689
359.	[bug]		kevin
	Corrected SOA serial check in xfrout.  It now compares the SOA
	serial of an IXFR query with that of the server based serial
	number arithmetic, and replies with a single SOA record of the
	server's current version if the former is equal to or newer
	than the latter.
	(Trac #1462, git ceeb87f6d539c413ebdc66e4cf718e7eb8559c45)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
690 691 692 693 694 695 696 697 698
358.	[bug]		jinmei
	b10-resolver ignored default configuration parameters if listen_on
	failed (this can easily happen especially for a test environment
	where the run time user doesn't have root privilege), and even if
	listen_on was updated later the resolver wouldn't work correctly
	unless it's fully restarted (for example, all queries would be
	rejected due to an empty ACL).
	(Trac #1424, git 2cba8cb83cde4f34842898a848c0b1182bc20597)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
699 700 701 702 703
357.	[bug]		jinmei
	ZoneFinder::find() for database based data sources didn't
	correctly identify out-of-zone query name and could return a
	confusing result such as NXRRSET.  It now returns NXDOMAIN with an
	empty RRset.  Note: we should rather throw an exception in such a
704
	case, which should be revisited later (see Trac #1536).
JINMEI Tatuya's avatar
JINMEI Tatuya committed
705 706
	(Trac #1430, git b35797ba1a49c78246abc8f2387901f9690b328d)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
707
356.	[doc]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
708 709 710
	BIND10 Guide updated. It now describes DHCPv4 and DHCPv6
	components, including their overview, usage, supported standard
	and limitations. libdhcp++ is also described.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
711
	(Trac #1367, git 3758ab360efe1cdf616636b76f2e0fb41f2a62a0)
Tomek Mrugalski's avatar
Tomek Mrugalski committed
712

713 714 715 716 717 718 719 720
355.	[bug]		jinmei
	Python xfrin.diff module incorrectly combined RRSIGs of different
	type covered, possibly merging different TTLs.  As a result a
	secondary server could store different RRSIGs than those at the
	primary server if it gets these records via IXFR.
	(Trac #1502, git 57b06f8cb6681f591fa63f25a053eb6f422896ef)

354.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
721 722 723
	dhcp4: Support for DISCOVER and OFFER implemented. b10-dhcp4 is
	now able to offer hardcoded leases to DHCPv4 clients.
	dhcp6: Code refactored to use the same approach as dhcp4.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
724
	(Trac #1230, git aac05f566c49daad4d3de35550cfaff31c124513)
Tomek Mrugalski's avatar
Tomek Mrugalski committed
725

726
353.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
727
	libdhcp++: Interface detection in Linux implemented. libdhcp++
728 729 730 731
	is now able (on Linux systems) to detect available network
	interfaces, its link-layer addresses, flags and configured
	IPv4 and IPv6 addresses. Interface detection on other
	systems is planned.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
732 733
	(Trac #1237, git 8a040737426aece7cc92a795f2b712d7c3407513)

734
352.	[func]		tomek
735 736 737 738 739
	libdhcp++: Transmission and reception of DHCPv4 packets is now
	implemented. Low-level hacks are not implemented for transmission
	to hosts that don't have IPv4 address yet, so currently the code
	is usable for communication with relays only, not hosts on the
	same link.
740
	(Trac #1239, #1240, git f382050248b5b7ed1881b086d89be2d9dd8fe385)
Tomek Mrugalski's avatar
Tomek Mrugalski committed
741

Jeremy C. Reed's avatar
Jeremy C. Reed committed
742
351.	[func]		fdupont
743 744
	Alpha version of DHCP benchmarking tool added.  "perfdhcp" is able to
	test both IPv4 and IPv6 servers: it can time the four-packet exchange
Jeremy C. Reed's avatar
Jeremy C. Reed committed
745 746 747
	(DORA and SARR) as well as time the initial two-packet exchange (DO
	and SA).  More information can be obtained by invoking the utility
	(in tests/tools/perfdhcp) with the "-h" flag.
748 749
	(Trac #1450, git 85083a76107ba2236732b45524ce7018eefbaf90)

750
350.	[func]*		vorner
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
751 752 753 754 755 756
	The target parameter of ZoneFinder::find is no longer present, as the
	interface was awkward. To get all the RRsets of a single domain, use
	the new findAll method (the same applies to python version, the method
	is named find_all).
	(Trac #1483,#1484, git 0020456f8d118c9f3fd6fc585757c822b79a96f6)

Dima Volodin's avatar
Dima Volodin committed
757
349.	[bug]		dvv
Jeremy C. Reed's avatar
Jeremy C. Reed committed
758 759
	resolver: If an upstream server responds with FORMERR to an EDNS
	query, try querying it without EDNS.
Dima Volodin's avatar
Dima Volodin committed
760
	(Trac #1386, git 99ad0292af284a246fff20b3702fbd7902c45418)
Dima Volodin's avatar
Dima Volodin committed
761

762 763 764
348.	[bug]		stephen
	By default the logging output stream is now flushed after each write.
	This fixes a problem seen on some systems where the log output from
Jeremy C. Reed's avatar
Jeremy C. Reed committed
765 766
	different processes was jumbled up.  Flushing can be disabled by
	setting the appropriate option in the logging configuration.
767 768
	(Trac #1405, git 2f0aa20b44604b671e6bde78815db39381e563bf)

Jelte Jansen's avatar
Jelte Jansen committed
769
347.	[bug]		jelte
Jeremy C. Reed's avatar
Jeremy C. Reed committed
770
	Fixed a bug where adding Zonemgr/secondary_zones without explicitly
Jelte Jansen's avatar
Jelte Jansen committed
771 772 773 774 775 776
	setting the class value of the added zone resulted in a cryptic
	error in bindctl ("Error: class"). It will now correctly default to
	IN if not set. This also adds better checks on the name and class
	values, and better errors if they are bad.
	(Trac #1414, git 7b122af8489acf0f28f935a19eca2c5509a3677f)

Jeremy C. Reed's avatar
Jeremy C. Reed committed
777
346.	[build]*		jreed
778 779 780
	Renamed libdhcp to libdhcp++.
	(Trac #1446, git d394e64f4c44f16027b1e62b4ac34e054b49221d)

781
345.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
782 783 784
	dhcp4: Dummy DHCPv4 component implemented. Currently it does
	nothing useful, except providing skeleton implementation that can
	be expanded in the future.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
785
	(Trac #992, git d6e33479365c8f8f62ef2b9aa5548efe6b194601)
Tomek Mrugalski's avatar
Tomek Mrugalski committed
786

787
344.	[func]		y-aharen
788 789 790
	src/lib/statistics: Added statistics counter library for entire server
	items and per zone items. Also, modified b10-auth to use it. It is
	also intended to use in the other modules such as b10-resolver.
Yoshitaka Aharen's avatar
Yoshitaka Aharen committed
791
	(Trac #510, git afddaf4c5718c2a0cc31f2eee79c4e0cc625499f)
792

Jelte Jansen's avatar
Jelte Jansen committed
793 794 795 796 797
343.	[func]		jelte
	Added IXFR-out system tests, based on the first two test sets of
	http://bind10.isc.org/wiki/IxfrSystemTests.
	(Trac #1314, git 1655bed624866a766311a01214597db01b4c7cec)

798 799
342.	[bug]		stephen
	In the resolver, a FORMERR received from an upstream nameserver
Jeremy C. Reed's avatar
Jeremy C. Reed committed
800
	now results in a SERVFAIL being returned as a response to the original
801 802 803 804
	query.  Additional debug messages added to distinguish between
	different errors in packets received from upstream nameservers.
	(Trac #1383, git 9b2b249d23576c999a65d8c338e008cabe45f0c9)

805
341.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
806 807
	libdhcp++: Support for handling both IPv4 and IPv6 added.
	Also added support for binding IPv4 sockets.
808 809
	(Trac #1238, git 86a4ce45115dab4d3978c36dd2dbe07edcac02ac)

Jelte Jansen's avatar
Jelte Jansen committed
810 811 812 813 814
340.	[build]		jelte
	Fixed several linker issues related to recent gcc versions, botan
	and gtest.
	(Trac #1442, git 91fb141bfb3aadfdf96f13e157a26636f6e9f9e3)

815 816 817 818 819 820 821
339.	[bug]		jinmei
	libxfr, used by b10-auth to share TCP sockets with b10-xfrout,
	incorrectly propagated ASIO specific exceptions to the application
	if the given file name was too long.  This could lead to
	unexpected shut down of b10-auth.
	(Trac #1387, git a5e9d9176e9c60ef20c0f5ef59eeb6838ed47ab2)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
822 823 824 825 826
338.	[bug]		jinmei
	b10-xfrin didn't check SOA serials of SOA and IXFR responses,
	which resulted in unnecessary transfer or unexpected IXFR
	timeouts (these issues were not overlooked but deferred to be
	fixed until #1278 was completed).  Validation on responses to SOA
827
	queries were tightened, too.
JINMEI Tatuya's avatar
JINMEI Tatuya committed
828 829
	(Trac #1299, git 6ff03bb9d631023175df99248e8cc0cda586c30a)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
830
337.	[func]		tomek
831 832 833
	libdhcp++: Support for DHCPv4 option that can store a single
	address or a list of IPv4 addresses added. Support for END option
	added.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
834 835
	(Trac #1350, git cc20ff993da1ddb1c6e8a98370438b45a2be9e0a)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
836
336.	[func]		jelte
837 838 839 840
	libdns++ (and its python wrapper) now includes a class Serial, for
	SOA SERIAL comparison and addition. Operations on instances of this
	class follow the specification from RFC 1982.
	Rdata::SOA::getSerial() now returns values of this type (and not
Jelte Jansen's avatar
Jelte Jansen committed
841 842 843
	uint32_t).
	(Trac #1278, git 2ae72d76c74f61a67590722c73ebbf631388acbd)

Jelte Jansen's avatar
Jelte Jansen committed
844
335.	[bug]*		jelte
845 846 847 848 849 850
	The DataSourceClientContainer class that dynamically loads
	datasource backend libraries no longer provides just a .so file name
	to its call to dlopen(), but passes it an absolute path. This means
	that it is no longer an system implementation detail that depends on
	[DY]LD_LIBRARY_PATH which file is chosen, should there be multiple
	options (for instance, when test-running a new build while a
Jelte Jansen's avatar
Jelte Jansen committed
851
	different version is installed).
852 853
	These loadable libraries are also no longer installed in the default
	library path, but in a subdirectory of the libexec directory of the
Jelte Jansen's avatar
Jelte Jansen committed
854
	target ($prefix/libexec/[version]/backends).
855 856
	This also removes the need to handle b10-xfin and b10-xfrout as
	'special' hardcoded components, and they are now started as regular
Jelte Jansen's avatar
Jelte Jansen committed
857 858 859
	components as dictated by the configuration of the boss process.
	(Trac #1292, git 83ce13c2d85068a1bec015361e4ef8c35590a5d0)

860 861 862 863 864 865 866 867 868
334.	[bug]		jinmei
	b10-xfrout could potentially create an overflow response message
	(exceeding the 64KB max) or could create unnecessarily small
	messages.  The former was actually unlikely to happen due to the
	effect of name compression, and the latter was marginal and at least
	shouldn't cause an interoperability problem, but these were still
	potential problems and were fixed.
	(Trac #1389, git 3fdce88046bdad392bd89ea656ec4ac3c858ca2f)

Jeremy C. Reed's avatar
Jeremy C. Reed committed
869 870 871
333.	[bug]		dvv
	Solaris needs "-z now" to force non-lazy binding and prevent
	g++ static initialization code from deadlocking.
Dima Volodin's avatar
Dima Volodin committed
872 873
	(Trac #1439, git c789138250b33b6b08262425a08a2a0469d90433)

Jeremy C. Reed's avatar
Jeremy C. Reed committed
874
332.	[bug]		vorner
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
875
	C++ exceptions in the isc.dns.Rdata wrapper are now converted
Jeremy C. Reed's avatar
Jeremy C. Reed committed
876
	to python ones instead of just aborting the interpreter.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
877 878
	(Trac #1407, git 5b64e839be2906b8950f5b1e42a3fadd72fca033)

879 880
bind10-devel-20111128 released on November 28, 2011

881 882 883 884
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
	be raised.
885
	(Trac #1430, git 81f62344db074bc5eea3aaf3682122fdec6451ad)
886

Jelte Jansen's avatar
Jelte Jansen committed
887 888 889
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
890 891
	fully running.
	(git c35d0dde3e835fc5f0a78fcfcc8b76c74bc727ca)
Jelte Jansen's avatar
Jelte Jansen committed
892

Jeremy C. Reed's avatar
Jeremy C. Reed committed
893
329.	[doc]		vorner, jreed
894 895
	Document the bind10 run control configuration in guide and
	manual page.
Jeremy C. Reed's avatar
Jeremy C. Reed committed
896 897
	(Trac #1341, git c1171699a2b501321ab54207ad26e5da2b092d63)

Jelte Jansen's avatar
Jelte Jansen committed
898 899 900 901 902
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)

903 904 905 906 907 908
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)

Jeremy C. Reed's avatar
Jeremy C. Reed committed
909
326.	[build]*		jinmei
910 911 912 913 914 915
	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)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
916 917 918 919 920 921 922 923 924
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,
	git 39def1d39c9543fc485eceaa5d390062edb97676)

925 926 927 928 929 930
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)

931 932 933 934 935 936 937 938 939
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)

940 941 942 943 944 945 946
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
	DataSourceClient.
	(Trac #1332, git c1138d13b2692fa3a4f2ae1454052c866d24e654)

947 948 949 950 951 952 953 954
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)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
955
320.	[func]*		vorner
956 957 958
	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.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
959 960
	(Trac #1340, git f9224368908dd7ba16875b0d36329cf1161193f0)

961
319.	[func]		naokikambe
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
962
	b10-stats-httpd was updated. In addition of the access to all
Jeremy C. Reed's avatar
Jeremy C. Reed committed
963 964 965 966
	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" or
967
	"/bind10/statistics/xml/Auth/queries.tcp". The list of all possible
Jeremy C. Reed's avatar
Jeremy C. Reed committed
968 969 970 971
	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
	XSL documents.
972
	(Trac #917, git b34bf286c064d44746ec0b79e38a6177d01e6956)
973

Jeremy C. Reed's avatar
Jeremy C. Reed committed
974 975 976
318.	[func]		stephen
	Add C++ API for accessing zone difference information in
	database-based data sources.
977 978
	(Trac #1330, git 78770f52c7f1e7268d99e8bfa8c61e889813bb33)

Jeremy C. Reed's avatar
Jeremy C. Reed committed
979 980 981 982 983
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
	extension.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
984 985
	(Trac #1331, git 713160c9bed3d991a00b2ea5e7e3e7714d79625d)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
986
316.	[func]*		vorner
Jeremy C. Reed's avatar
Jeremy C. Reed committed
987 988 989
	The configuration of what parts of the system run is more
	flexible now.  Everything that should run must have an
	entry in Boss/components.
990
	(Trac #213, git 08e1873a3593b4fa06754654d22d99771aa388a6)
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
991

992
315.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
993 994 995 996 997
	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.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
998 999
	(Trac #1228, git 31d5a4f66b18cca838ca1182b9f13034066427a7)

Jelte Jansen's avatar
Jelte Jansen committed
1000
314.	[bug]		jelte
1001 1002 1003 1004 1005 1006
	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
Jelte Jansen's avatar
Jelte Jansen committed
1007 1008 1009
	were some deferred cleanups to add.
	(Trac #1298, git 1177bfe30e17a76bea6b6447e14ae9be9e1ca8c2)

1010 1011 1012 1013 1014 1015 1016 1017 1018
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
	was provided.
	(Trac #1329, git 1aa233fab1d74dc776899df61181806679d14013)

Jelte Jansen's avatar
Jelte Jansen committed
1019
312.	[func]		jelte
1020
	Added an initial framework for doing system tests using the
1021 1022 1023 1024
	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.
Jelte Jansen's avatar
Jelte Jansen committed
1025 1026
	(Trac #1290, git 6b75c128bcdcefd85c18ccb6def59e9acedd4437)

Jelte Jansen's avatar
Jelte Jansen committed
1027 1028 1029 1030 1031 1032
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)

Jelte Jansen's avatar
Jelte Jansen committed
1033 1034 1035 1036 1037 1038 1039
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)

Jelte Jansen's avatar
Jelte Jansen committed
1040 1041 1042 1043 1044 1045
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)

1046 1047 1048 1049 1050 1051 1052 1053
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)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
1054
307.	[func]		vorner
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
1055 1056 1057 1058
	When zone transfer in fails with IXFR, it is retried with AXFR
	automatically.
	(Trac #1279, git cd3588c9020d0310f949bfd053c4d3a4bd84ef88)

1059
306.	[bug]		stephen
1060 1061 1062 1063 1064 1065 1066
	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
	fully initialized.
	(Trac #1271, git 607cbae949553adac7e2a684fa25bda804658f61)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
1067 1068 1069 1070 1071 1072 1073 1074 1075 1076
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
1077 1078 1079 1080 1081
	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)

1082 1083 1084 1085 1086 1087 1088 1089 1090
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)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
1091
302.	[bug]		jelte
Jelte Jansen's avatar
Jelte Jansen committed
1092 1093 1094 1095 1096
	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)

1097
301.	[func]		stephen
1098 1099 1100
	Add system test for IXFR over TCP.
	(Trac #1213, git 68ee3818bcbecebf3e6789e81ea79d551a4ff3e8)

Tomek Mrugalski's avatar
Tomek Mrugalski committed
1101
300.	[func]*		tomek
1102 1103 1104 1105 1106 1107 1108
	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
1109 1110 1111 1112
	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)
1113

1114 1115 1116 1117 1118 1119 1120 1121 1122
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
	check".)
	(Trac #1286, git cee641fd3d12341d6bfce5a6fbd913e3aebc1e8e)

1123 1124
bind10-devel-20111014 released on October 14, 2011

1125 1126 1127 1128
298.	[doc]		jreed
	Shorten README. Include plain text format of the Guide.
	(git d1897d3, git 337198f)

Dima Volodin's avatar
Dima Volodin committed
1129
297.	[func]		dvv
1130
	Implement the SPF rrtype according to RFC4408.
Dima Volodin's avatar
Dima Volodin committed
1131 1132
	(Trac #1140, git 146934075349f94ee27f23bf9ff01711b94e369e)

1133
296.	[build]		jreed
1134 1135 1136 1137
	Do not install the unittest libraries. At this time, they
	are not useful without source tree (and they may or may
	not have googletest support). Also, convert several makefiles
	to build tests at "check" time and not build time.
Jeremy C. Reed's avatar
Jeremy C. Reed committed
1138
	(Trac #1091, git 2adf4a90ad79754d52126e7988769580d20501c3)
1139

1140
295.	[bug]		jinmei
JINMEI Tatuya's avatar
JINMEI Tatuya committed
1141 1142 1143 1144 1145 1146 1147 1148
	__init__.py for isc.dns was installed in the wrong directory,
	which would now make xfrin fail to start.  It was also bad
	in that it replaced any existing __init__.py in th public
	site-packages directory.  After applying this fix You may want to
	check if the wrong init file is in the wrong place, in which
	case it should be removed.
	(Trac #1285, git af3b17472694f58b3d6a56d0baf64601b0f6a6a1)

1149 1150 1151 1152 1153
294.	[func]		jelte, jinmei, vorner
	b10-xfrin now supports incoming IXFR.  See BIND 10 Guide for
	how to configure it and operational notes.
	(Trac #1212, multiple git merges)

Jeremy C. Reed's avatar
Jeremy C. Reed committed
1154
293.	[func]*		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
1155 1156 1157 1158 1159 1160 1161 1162 1163
	b10-dhcp6: Implemented DHCPv6 echo server. It joins DHCPv6
	multicast groups and listens to incoming DHCPv6 client messages.
	Received messages are then echoed back to clients. This
	functionality is limited, but it can be used to test out client
	resiliency to unexpected messages. Note that network interface
	detection routines are not implemented yet, so interface name
	and its address must be specified in interfaces.txt.
	(Trac #878, git 3b1a604abf5709bfda7271fa94213f7d823de69d)

Dima Volodin's avatar
Dima Volodin committed
1164
292.	[func]		dvv
1165
	Implement the DLV rrtype according to RFC4431.
Dima Volodin's avatar
Dima Volodin committed
1166
	(Trac #1144, git d267c0511a07c41cd92e3b0b9ee9bf693743a7cf)
1167

Jeremy C. Reed's avatar
Jeremy C. Reed committed
1168
291.	[func]		naokikambe
Naoki Kambe's avatar
Naoki Kambe committed
1169 1170 1171 1172
	Statistics items are specified by each module's spec file.
	Stats module can read these through the config manager. Stats
	module and stats httpd report statistics data and statistics
	schema by each module via both bindctl and HTTP/XML.
Jeremy C. Reed's avatar
Jeremy C. Reed committed
1173 1174
	(Trac #928,#929,#930,#1175,
	git 054699635affd9c9ecbe7a108d880829f3ba229e)
Naoki Kambe's avatar
Naoki Kambe committed
1175

1176 1177 1178 1179 1180 1181 1182 1183
290.	[func]		jinmei
	libdns++/pydnspp: added an option parameter to the "from wire"
	methods of the Message class.  One option is defined,
	PRESERVE_ORDER, which specifies the parser to handle each RR
	separately, preserving the order, and constructs RRsets in the
	message sections so that each RRset contains only one RR.
	(Trac #1258, git c874cb056e2a5e656165f3c160e1b34ccfe8b302)