ChangeLog 158 KB
Newer Older
1 2 3 4 5 6 7
578.	[bug]		jinmei
	b10-auth now returns closest encloser NSEC3 proof to queries for
	an empty non terminal derived from an Opt-Out NSEC RR, as clarified
	in errata 3441 for RFC5155.  Previously it regarded such case as
	broken zone and returned SERVFAIL.
	(Trac #2659, git 24c235cb1b379c6472772d340e21577c3460b742)

8 9 10 11 12 13 14
577.	[func]		muks
	Added an SQLite3 index on records(rname, rdtype). This decreases
	insert performance by ~28% and adds about ~20% to the file size,
	but increases zone iteration performance. As it introduces a new
	index, a database upgrade would be required.
	(Trac #1756, git 9b3c959af13111af1fa248c5010aa33ee7e307ee)

15 16 17 18 19
576.	[bug]		tmark, tomek
	b10-dhcp6: Fixed bug when the server aborts operation when
	receiving renew and there are no IPv6 subnets configured.
	(Trac 2719, git 3132b8b19495470bbfd0f2ba0fe7da443926034b)

20 21 22 23 24 25 26 27
575.	[bug]		marcin
	b10-dhcp6: Fixed the bug whereby the subnet for the incoming
	packet was selected using only its source address. The subnet
	is now selected using either source address or the name of the
	server's interface on which the packet has been received.
	(Trac #2704, git 1cbacf19a28bdae50bb9bd3767bca0147fde37ed)

574.	[func]		tmark
28 29 30 31 32 33
	b10-dhcp4, b10-dhcp6: Composite key indexes were added to the lease
	tables to reduce lease search time. The lease4 table now has two
	additional indexes: a) hwaddr/subnet_id and b) client_id/subnet_id.
	The lease6 now has the one additional index: iaid/subnet_id/duid.
	Adding these indexes significantly improves lease acquisition
	performance.
34
	(Trac #2699,#2703, git 54bbed5fcbe237c5a49b515ae4c55148723406ce)
35

Stephen Morris's avatar
Stephen Morris committed
36 37 38 39 40 41
573.	[bug]		stephen
	Fixed problem whereby the DHCP server crashed if it ran out of
	addresses.  Such a condition now causes a packet to be returned
	to the client refusing the allocation of an address.
	(Trac #2681, git 87ce14cdb121b37afb5b1931af51bed7f6323dd6)

42 43 44 45 46
572.	[bug]		marcin
	perfdhcp: Fixed bug where the command line switches used to
	run the perfdhcp where printed as ASCII codes.
	(Trac #2700, git b8d6b949eb7f4705e32fbdfd7694ca2e6a6a5cdc)

47 48 49 50 51 52
571.	[build]		jinmei
	The ./configure script can now handle output from python-config
	--ldflags that contains a space after -L switches.  This fixes
	failure reported on some Solaris environments.
	(Trac #2661, git e6f86f2f5eec8e6003c13d36804a767a840d96d6)

53
570.	[bug]		tmark, marcin, tomek
54
	b10-dhcp4: Address renewal now works properly for DHCPv4 clients
Tomek Mrugalski's avatar
Tomek Mrugalski committed
55 56
	that do not send client ID.
	(Trac #2702, git daf2abe68ce9c111334a15c14e440730f3a085e2)
57

58
569.	[bug]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
59 60 61 62
	b10-dhcp4: Fix bug whereby a DHCP packet without a client ID
	could crash the MySQL lease database backend.
	(Trac #2697, git b5e2be95d21ed750ad7cf5e15de2058aa8bc45f4)

63 64 65 66 67
568.	[func]          muks
	Various message IDs have been renamed to remove the word 'ERROR'
	from them when they are not logged at ERROR severity level.
	(Trac #2672, git 660a0d164feaf055677f375977f7ed327ead893e)

68 69 70 71
567.	[doc]		marcin, stephen, tomek
	Update DHCP sections of the BIND 10 guide.
	(Trac #2657, git 1d0c2004865d1bf322bf78d13630d992e39179fd)

72 73 74 75 76 77 78 79 80 81 82 83
566.	[func]*		jinmei
	libdns++/Python isc.dns: In Python isc.dns, function style
	constants for RRType, RRClass, Rcode and Opcode were deprecated
	and replaced with straightforward object constants, e.g., from
	RRType.AAAA() to RRType.AAAA.  This is a backward incompatible
	change (see the Trac ticket for a conversion script if needed).
	Also, these constants are now more consistent between C++
	and Python, and RRType constants for all currently standardized
	types are now supported (even if Rdata for these are not yet
	available).
	(Trac #1866 and #2409, git e5005185351cf73d4a611407c2cfcd163f80e428)

84 85 86 87 88 89 90 91 92 93 94
565.	[func]*		jelte
	The main initializer script (formerly known as either 'bind10',
	'boss', or 'bob'), has been renamed to b10-init (and Init in
	configuration). Configuring which components are run is henceforth
	done through '/Init/components', and the sbin/bind10 script is now
	simply a shellscript that runs b10-init. Existing configuration is
	automatically updated. NOTE: once configuration with this update
	has been saved (by committing any new change with bindctl), you
	cannot run older versions of BIND 10 anymore with this configuration.
	(Trac #1901, git bae3798603affdb276f370c1ac6b33b011a5ed4f)

95 96 97 98 99 100 101 102 103 104 105 106
564.	[func]		muks
	libdns++: the CNAME, DNAME, MX, NS, PTR and SRV Rdata classes now
	use the generic lexer in constructors from text.  This means that
	the name fields in such RRs in a zone file can now be non-absolute
	(the origin name in that context will be used), e.g., when loaded
	by b10-loadzone. One additional change to the libdns++ API is that
	the existing string constructors for these Rdata classes also use
	the generic lexer, and they now expect an absolute name (with the
	trailing '.') in the name fields.
	(Trac #2390, git a01569277cda3f78b1171bbf79f15ecf502e81e2)
	(Trac #2656, git 5a0d055137287f81e23fbeedd35236fee274596d)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
107 108 109 110 111
563.	[build]		jinmei
	Added --disable-rpath configure option to avoid embedding library
	paths to binaries.  Patch from Adam Tkac.
	(Trac #2667, git 1c50c5a6ee7e9675e3ab154f2c7f975ef519fca2)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
112 113 114 115 116 117
562.	[func]*		vorner
	The b10-xfrin now performs basic sanity check on just received
	zone. It'll reject severely broken zones (such as missng NS
	records).
	(Trac #2439, git 44699b4b18162581cd1dd39be5fb76ca536012e6)

118 119 120 121 122 123
561.	[bug]		kambe, jelte
	b10-stats-httpd no longer dumps request information to the console,
	but uses the bind10 logging system. Additionally, the logging
	identifiers have been changed from STATHTTPD_* to STATSHTTPD_*
	(Trac #1897, git 93716b025a4755a8a2cbf250a9e4187741dbc9bb)

124 125 126 127 128 129 130 131
560.	[bug]		jinmei
	b10-auth now sets the TTL of SOA RR for negative responses to
	the minimum of the RR TTL and the minimum TTL of the SOA RDATA
	as specified in RFC2308; previously the RR TTL was always used.
	The ZoneFinder class was extended partly for implementing this
	and partly for allowing further optimization.
	(Trac #2309 and #2635, git ee17e979fcde48b59d91c74ac368244169065f3b)

132 133 134 135 136 137 138 139 140
559.	[bug]		jelte
	b10-cmdctl no longer aborts on basic file issues with its https
	certificate or private key file. It performs additional checks, and
	provides better error logs if these fail. Additionally, bindctl
	provides a better error report if it is unable to connect over
	https connection. This issue could occur if BIND 10 was installed
	with root privileges but then started as a normal user.
	(Trac #2595, git 09b1a2f927483b407d70e98f5982f424cc872149)

141 142 143 144 145 146 147 148
558.	[func]		marcin
	b10-dhcp4: server now adds configured options to its
	responses to a client when client requests them.
	A few basic options: Routers, Domain Name, Domain
	Name Servers and Subnet Mask are added regardless
	if client requested them or not.
	(Trac #2591, git aeec2dc1b9c511d17971ac63138576c37e7c5164)

149
557.	[doc]		stephen
150 151 152
	Update DHCP sections of the BIND 10 guide.
	(Trac #2642, git e5faeb5fa84b7218fde486347359504cf692510e)

153 154 155 156 157 158 159 160 161
556.	[bug]		marcin
	Fixed DHCP servers configuration whereby the servers did not
	receive a configuration stored in the database on their startup.
	Also, the configuration handler function now uses full configuration
	instead of partial to configure the server. This guarantees that
	dependencies between various configuration parameters are
	fulfilled.
	(Trac #2637, git 91aa998226f1f91a232f2be59a53c9568c4ece77)

162 163 164 165 166 167
555.	[func]		marcin
	The encapsulated option space name can be specified for
	a DHCP option. It comprises sub-options being sent within
	an option that encapsulates this option space.
	(Trac #2314, git 27e6119093723a1e46a239ec245a8b4b10677635)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
168 169 170 171 172 173 174 175
554.	[func]		jinmei
	b10-loadzone: improved completion log message and intermediate
	reports: It now logs the precise number of loaded RRs on
	completion, and intermediate reports show additional information
	such as the estimated progress in percentage and estimated time
	to complete.
	(Trac #2574, git 5b8a824054313bdecb8988b46e55cb2e94cb2d6c)

Jeremy C. Reed's avatar
Jeremy C. Reed committed
176
553.	[func]		stephen
177 178 179 180
	Values of the parameters to access the DHCP server lease database
	can now be set through the BIND 10 configuration mechanism.
	(Trac #2559, git 6c6f405188cc02d2358e114c33daff58edabd52a)

Jeremy C. Reed's avatar
Jeremy C. Reed committed
181 182
552.	[bug]		shane
	Build on Raspberry PI.
183 184 185 186 187 188
	The main issue was use of char for reading from input streams,
	which is incorrect, as EOF is returned as an int -1, which would
	then get cast into a char -1.
	A number of other minor issues were also fixed.
	(Trac #2571, git 525333e187cc4bbbbde288105c9582c1024caa4a)

Jeremy C. Reed's avatar
Jeremy C. Reed committed
189
551.	[bug]		shane
190 191 192 193
	Kill msgq if we cannot connect to it on startup.
	When the boss process was unable to connect to the msgq, it would
	exit. However, it would leave the msgq process running. This has
	been fixed, and the msgq is now stopped in this case.
194
	(Trac #2608, git 016925ef2437e0396127e135c937d3a55539d224)
195 196

550.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
197 198 199 200 201
	b10-dhcp4: The DHCPv4 server now generates a server identifier
	the first time it is run. The identifier is preserved in a file
	across server restarts.
	b10-dhcp6: The server identifier is now preserved in a file across
	server restarts.
202 203
	(Trac #2597, git fa342a994de5dbefe32996be7eebe58f6304cff7)

204
549.	[func]		tomek
205 206 207
	b10-dhcp6: It is now possible to specify that a configured subnet
	is reachable locally over specified interface (see "interface"
	parameter in Subnet6 configuration).
208 209 210
	(Trac #2596, git a70f6172194a976b514cd7d67ce097bbca3c2798)

548.	[func]		vorner
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
211 212 213 214 215 216 217
	The message queue daemon now appears on the bus. This has two
	effects, one is it obeys logging configuration and logs to the
	correct place like the rest of the modules. The other is it
	appears in bindctl as module (but it doesn't have any commands or
	configuration yet).
	(Trac #2582, git ced31d8c5a0f2ca930b976d3caecfc24fc04634e)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
218 219 220 221
547.	[func]*		vorner
	The b10-loadzone now performs more thorough sanity check on the
	loaded data.  Some of the checks are now fatal and zone failing
	them will be rejected.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
222
	(Trac #2436, git 48d999f1cb59f308f9f30ba2639521d2a5a85baa)
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
223

224 225 226 227 228 229 230 231 232
546.	[func]		marcin
	DHCP option definitions can be now created using the
	Configuration Manager. The option definition specifies
	the option code, name and the types of the data being
	carried by the option.  The Configuration Manager
	reports an error on attempt to override standard DHCP
	option definition.
	(Trac #2317, git 71e25eb81e58a695cf3bad465c4254b13a50696e)

233 234 235 236 237 238 239
545.	[func]		jinmei
	libdns++: the SOA Rdata class now uses the generic lexer in
	constructors from text.  This means that the MNAME and RNAME of an
	SOA RR in a zone file can now be non absolute (the origin name
	in that context will be used), e.g., when loaded by b10-loadzone.
	(Trac #2500, git 019ca218027a218921519f205139b96025df2bb5)

240
544.	[func]		tomek
241 242 243 244 245 246 247
	b10-dhcp4: Allocation engine support for IPv4 added. Currently
	supported operations are server selection (Discover/Offer),
	address assignment (Request/Ack), address renewal (Request/Ack),
	and address release (Release). Expired leases can be reused.
	Some options (e.g. Router Option) are still hardcoded, so the
	DHCPv4 server is not yet usable, although its address allocation
	is operational.
248 249
	(Trac #2320, git 60606cabb1c9584700b1f642bf2af21a35c64573)

250 251 252
543.	[func]*		jelte
	When calling getFullConfig() as a module, , the configuration is now
	returned as properly-structured JSON.  Previously, the structure had
Jeremy C. Reed's avatar
Jeremy C. Reed committed
253 254
	been flattened, with all data being labelled by fully-qualified
	element names.
255 256
	(Trac #2619, git bed3c88c25ea8f7e951317775e99ebce3340ca22)

257 258 259 260 261 262 263 264 265 266 267
542.	[func]		marcin
	Created OptionSpace and OptionSpace6 classes to represent DHCP
	option spaces. The option spaces are used to group instances
	and definitions of options having uniqe codes. A special type
	of option space is the so-called "vendor specific option space"
	which groups sub-options sent within Vendor Encapsulated Options.
	The new classes are not used yet but they will be used once
	the creation of option spaces by configuration manager is
	implemented.
	(Trac #2313, git 37a27e19be874725ea3d560065e5591a845daa89)

268
541.	[func]		marcin
269
	Added routines to search for configured DHCP options and their
270
	definitions using name of the option space they belong to.
271 272
	New routines are called internally from the DHCPv4 and DHCPv6
	servers code.
273 274
	(Trac #2315, git 741fe7bc96c70df35d9a79016b0aa1488e9b3ac8)

275 276 277 278 279 280 281 282 283
540.	[func]		marcin
	DHCP Option values can be now specified using a string of
	tokens separated with comma sign. Subsequent tokens are used
	to set values for corresponding data fields in a particular
	DHCP option. The format of the token matches the data type
	of the corresponding option field: e.g. "192.168.2.1" for IPv4
	address, "5" for integer value etc.
	(Trac #2545, git 792c129a0785c73dd28fd96a8f1439fe6534a3f1)

Stephen Morris's avatar
Stephen Morris committed
284 285 286 287
539.	[func]		stephen
	Add logging to the DHCP server library.
	(Trac #2524, git b55b8b6686cc80eed41793c53d1779f4de3e9e3c)

Mukund Sivaraman's avatar
Mukund Sivaraman committed
288 289 290 291 292 293 294
538.	[bug]		muks
	Added escaping of special characters (double-quotes, semicolon,
	backslash, etc.) in text-like RRType's toText() implementation.
	Without this change, some TXT and SPF RDATA were incorrectly
	stored in SQLite3 datasource as they were not escaped.
	(Trac #2535, git f516fc484544b7e08475947d6945bc87636d4115)

295
537.	[func]		tomek
296 297
	b10-dhcp6: Support for RELEASE message has been added. Clients
	are now able to release their non-temporary IPv6 addresses.
298 299
	(Trac #2326, git 0974318566abe08d0702ddd185156842c6642424)

300 301 302 303 304 305 306 307 308 309 310
536.	[build]		jinmei
	Detect a build issue on FreeBSD with g++ 4.2 and Boost installed via
	FreeBSD ports at ./configure time.  This seems to be a bug of
	FreeBSD	ports setup and has been reported to the maintainer:
	http://www.freebsd.org/cgi/query-pr.cgi?pr=174753
	Until it's fixed, you need to build BIND 10 for FreeBSD that has
	this problem with specifying --without-werror, with clang++
	(development version), or with manually extracted Boost header
	files (no compiled Boost library is necessary).
	(Trac #1991, git 6b045bcd1f9613e3835551cdebd2616ea8319a36)

311 312 313 314 315
535.	[bug]		jelte
	The log4cplus internal logging mechanism has been disabled, and no
	output from the log4cplus library itself should be printed to
	stderr anymore. This output can be enabled by using the
	compile-time option --enable-debug.
316
	(Trac #1081, git db55f102b30e76b72b134cbd77bd183cd01f95c0)
317

Jeremy C. Reed's avatar
Jeremy C. Reed committed
318
534.	[func]*		vorner
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
319 320 321 322 323 324
	The b10-msgq now uses the same logging format as the rest
	of the system. However, it still doesn't obey the common
	configuration, as due to technical issues it is not able
	to read it yet.
	(git 9e6e821c0a33aab0cd0e70e51059d9a2761f76bb)

325 326
bind10-1.0.0-beta released on December 20, 2012

327 328 329 330 331 332 333 334 335
533.	[build]*		jreed
	Changed the package name in configure.ac from bind10-devel
	to bind10. This means the default sub-directories for
	etc, include, libexec, share, share/doc, and var are changed.
	If upgrading from a previous version, you may need to move
	and update your configurations or change references for the
	old locations.
	(git bf53fbd4e92ae835280d49fbfdeeebd33e0ce3f2)

336 337 338 339 340 341 342 343 344
532.	[func]		marcin
	Implemented configuration of DHCPv4 option values using
	the configuration manager. In order to set values for the
	data fields carried by a particular option, the user
	specifies a string of hexadecimal digits that is converted
	to binary data and stored in the option buffer. A more
	user-friendly way of specifying option content is planned.
	(Trac #2544, git fed1aab5a0f813c41637807f8c0c5f8830d71942)

345
531.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
346 347 348
	b10-dhcp6: Added support for expired leases. Leases for IPv6
	addresses that are past their valid lifetime may be recycled, i.e.
	rellocated to other clients if needed.
349 350
	(Trac #2327, git 62a23854f619349d319d02c3a385d9bc55442d5e)

351 352 353 354 355 356 357 358 359 360 361 362 363 364
530.	[func]*		team
	b10-loadzone was fully overhauled.  It now uses C++-based zone
	parser and loader library, performing stricter checks, having
	more complete support for master file formats, producing more
	helpful logs, is more extendable for various types of data
	sources, and yet much faster than the old version.  In
	functionality the new version should be generally backwards
	compatible to the old version, but there are some
	incompatibilities: name fields of RDATA (in NS, SOA, etc) must
	be absolute for now; due to the stricter checks some input that was
	(incorrectly) accepted by the old version may now be rejected;
	command line options and arguments are not compatible.
	(Trac #2380, git 689b015753a9e219bc90af0a0b818ada26cc5968)

365
529.	[func]*		team
366 367 368 369 370 371 372 373 374 375 376
	The in-memory data source now uses a more complete master
	file parser to load textual zone files.  As of this change
	it supports multi-line RR representation and more complete
	support for escaped and quoted strings.  It also produces
	more helpful log messages when there is an error in the zone
	file.  It will be enhanced as more specific tasks in the
	#2368 meta ticket are completed.  The new parser is generally
	backward compatible to the previous one, but due to the
	tighter checks some input that has been accepted so far
	could now be rejected, so it's advisable to check if you
	use textual zone files directly loaded to memory.
377 378
	(Trac #2470, git c4cf36691115c15440b65cac16f1c7fcccc69521)

379 380 381 382 383 384 385
528.	[func]		marcin
	Implemented definitions for DHCPv4 option definitions identified
	by option codes: 1 to 63, 77, 81-82, 90-92, 118-119, 124-125.
	These definitions are now used by the DHCPv4 server to parse
	options received from a client.
	(Trac #2526, git 50a73567e8067fdbe4405b7ece5b08948ef87f98)

386 387 388 389 390 391 392 393
527.	[bug]		jelte
	Fixed a bug in the synchronous UDP server code where unexpected
	errors from ASIO or the system libraries could cause b10-auth to
	stop. In asynchronous mode these errors would be ignored
	completely. Both types have been updated to report the problem with
	an ERROR log message, drop the packet, and continue service.
	(Trac #2494, git db92f30af10e6688a7dc117b254cb821e54a6d95)

394
526.	[bug]		stephen
395 396 397 398 399
	Miscellaneous fixes to DHCP code including rationalisation of
	some methods in LeaseMgr and resolving some Doxygen/cppcheck
	issues.
	(Trac #2546, git 0140368ed066c722e5d11d7f9cf1c01462cf7e13)

400
525.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
401 402 403 404
	b10-dhcp4: DHCPv4 server is now able to parse configuration. It
	is possible to specify IPv4 subnets with dynamic pools within
	them. Although configuration is accepted, it is not used yet. This
	will be implemented shortly.
405 406
	(Trac #2270, git de29c07129d41c96ee0d5eebdd30a1ea7fb9ac8a)

407
524.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
408 409
	b10-dhcp6 is now able to handle RENEW messages. Leases are
	renewed and REPLY responses are sent back to clients.
410 411
	(Trac #2325, git 7f6c9d057cc0a7a10f41ce7da9c8565b9ee85246)

412 413 414 415 416 417
523.	[bug]		muks
	Fixed a problem in inmem NSEC3 lookup (for, instance when using a
	zone with no non-apex names) which caused exceptions when the zone
	origin was not added as an explicit NSEC3 record.
	(Trac #2503, git 6fe86386be0e7598633fe35999112c1a6e3b0370)

418
522.	[func]*		jelte
419 420 421 422 423 424 425 426
	Configuration of TSIG keys for b10-xfrin has changed; instead of
	specifying the full TSIG key (<name>:<base64>:<algo>) it now expects
	just the name, and uses the global TSIG Key Ring like all the other
	components (configuration list /tsig_keys/keys).
	Note: this is not automatically updated, so if you use TSIG in
	xfrin, you need to update your configuration.
	(Trac #1351, git e65b7b36f60f14b7abe083da411e6934cdfbae7a)

427 428 429 430 431 432
521.	[func]		marcin
	Implemented definitions for DHCPv6 standard options identified
	by codes up to 48. These definitions are now used by the DHCPv6
	server to create instances of options being sent to a client.
	(Trac #2491, git 0a4faa07777189ed9c25211987a1a9b574015a95)

433 434 435 436 437 438 439 440 441 442 443 444 445 446
520.	[func]		jelte
	The system no longer prints initial log messages to stdout
	regardless of what logging configuration is present, but it
	temporarily stores any log messages until the configuration is
	processed. If there is no specific configuration, or if the
	configuration cannot be accessed, it will still fall back to stdout.
	Note that there are still a few instances where output is printed,
	these shall be addressed separately.
	Note also that, currently, in case it falls back to stdout (such as
	when it cannot connect to b10-cfgmgr), all log messages are always
	printed (including debug messages), regardless of whether -v was
	used. This shall also be addressed in a future change.
	(Trac #2445, git 74a0abe5a6d10b28e4a3e360e87b129c232dea68)

Mukund Sivaraman's avatar
Mukund Sivaraman committed
447
519.	[bug]		muks
448 449
	Fixed a problem in inmem NSEC lookup which caused returning an
	incorrect NSEC record or (in rare cases) assert failures
450 451
	when a non-existent domain was queried, which was a sub-domain of
	a domain that existed.
Mukund Sivaraman's avatar
Mukund Sivaraman committed
452 453
	(Trac #2504, git 835553eb309d100b062051f7ef18422d2e8e3ae4)

454 455 456 457
518.	[func]		stephen
	Extend DHCP MySQL backend to handle IPv4 addresses.
	(Trac #2404, git ce7db48d3ff5d5aad12b1da5e67ae60073cb2607)

458 459 460 461 462
517.	[func]		stephen
	Added IOAddress::toBytes() to get byte representation of address.
	Also added convenience methods for V4/V6 address determination.
	(Trac #2396, git c23f87e8ac3ea781b38d688f8f7b58539f85e35a)

463 464 465 466 467 468 469
516.	[bug]		marcin
	Fixed 'make distcheck' failure when running perfdhcp unit tests.
	The unit tests used to read files from the folder specified
	with the path relative to current folder, thus when the test was
	run from a different folder the files could not be found.
	(Trac #2479, git 4e8325e1b309f1d388a3055ec1e1df98c377f383)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
470 471 472 473 474 475 476 477
515.	[bug]		jinmei
	The in-memory data source now accepts an RRSIG provided without
	a covered RRset in loading.  A subsequent query for its owner name
	of the covered type would generally result in NXRRSET; if the
	covered RRset is of type NSEC3, the corresponding NSEC3 processing
	would result in SERVFAIL.
	(Trac #2420, git 6744c100953f6def5500bcb4bfc330b9ffba0f5f)

478 479 480 481 482 483
514.	[bug]		jelte
	b10-msgq now handles socket errors more gracefully when sending data
	to clients. It no longer exits with 'broken pipe' errors, and is
	also better at resending data on temporary error codes from send().
	(Trac #2398, git 9f6b45ee210a253dca608848a58c824ff5e0d234)

484 485 486 487 488 489 490 491
513.	[func]		marcin
	Implemented the OptionCustom class for DHCPv4 and DHCPv6.
	This class represents an option which has a defined
	structure: a set of data fields of specific types and order.
	It is used to represent those options that can't be
	represented by any other specialized class.
	(Trac #2312, git 28d885b457dda970d9aecc5de018ec1120143a10)

492 493 494 495 496 497 498 499
512.	[func]		jelte
	Added a new tool b10-certgen, to check and update the self-signed
	SSL certificate used by b10-cmdctl. The original certificate
	provided has been removed, and a fresh one is generated upon first
	build. See the b10-certgen manpage for information on how to update
	existing installed certificates.
	(Trac #1044, git 510773dd9057ccf6caa8241e74a7a0b34ca971ab)

500 501 502 503 504 505 506 507
511.	[bug]		stephen
	Fixed a race condition in the DHCP tests whereby the test program
	spawned a subprocess and attempted to read (without waiting) from
	the interconnecting pipe before the subprocess had written
	anything.  The lack of output was being interpreted as a test
	failure.
	(Trac #2410, git f53e65cdceeb8e6da4723730e4ed0a17e4646579)

508 509 510 511 512 513 514 515
510.	[func]		marcin
	DHCP option instances can be created using a collection of strings.
	Each string represents a value of a particular data field within
	an option. The data field values, given as strings, are validated
	against the actual types of option fields specified in the options
	definitions.
	(Trac #2490, git 56cfd6612fcaeae9acec4a94e1e5f1a88142c44d)

Mukund Sivaraman's avatar
Mukund Sivaraman committed
516 517 518 519 520
509.	[func]		muks
	Log messages now include the pid of the process that logged the
	message.
	(Trac #1745, git fc8bbf3d438e8154e7c2bdd322145a7f7854dc6a)

521 522 523 524 525 526 527
508.	[bug]		stephen
	Split the DHCP library into two directories, each with its own
	Makefile.  This properly solves the problem whereby a "make"
	operation with multiple threads could fail because of the
	dependencies between two libraries in the same directory.
	(Trac #2475, git 834fa9e8f5097c6fd06845620f68547a97da8ff8)

528 529
bind10-devel-20121115 released on November 15, 2012

530
507.	[doc]		jelte
531 532 533 534
	Added a chapter about the use of the bindctl command tool to
	to the BIND 10 guide.
	(Trac #2305, git c4b0294b5bf4a9d32fb18ab62ca572f492788d72)

535 536 537 538 539 540 541
506.	[security]		jinmei
	Fixed a use-after-free case in handling DNAME record with the
	in-memory data source.  This could lead to a crash of b10-auth
	if it serves a zone containing a DNAME RR from the in-memory
	data source.  This bug was introduced at bind10-devel-20120927.
	(Trac #2471, git 2b1793ac78f972ddb1ae2fd092a7f539902223ff)

542 543 544 545 546 547
505.	[bug]		jelte
	Fixed a bug in b10-xfrin where a wrong call was made during the
	final check of a TSIG-signed transfer, incorrectly rejecting the
	transfer.
	(Trac #2464, git eac81c0cbebee72f6478bdb5cda915f5470d08e1)

Naoki Kambe's avatar
Naoki Kambe committed
548 549
504.	[bug]*		naokikambe
	Fixed an XML format viewed from b10-stats-httpd. Regarding
550 551 552 553 554 555
	per-zone counters as zones of Xfrout, a part of the item
	values wasn't an exact XML format. A zone name can be
	specified in URI as
	/bind10/statistics/xml/Xfrout/zones/example.org/xfrreqdone.
	XSD and XSL formats are also changed to constant ones due
	to these changes.
Naoki Kambe's avatar
Naoki Kambe committed
556 557
	(Trac #2298, git 512d2d46f3cb431bcdbf8d90af27bff8874ba075)

558
503.	[func]		Stephen
559 560 561 562 563 564 565 566
	Add initial version of a MySQL backend for the DHCP code.  This
	implements the basic IPv6 lease access functions - add lease, delete
	lease and update lease.  The backend is enabled by specifying
	--with-dhcp-mysql on the "configure" command line: without this
	switch, the MySQL code is not compiled, so leaving BIND 10 able to
	be built on systems without MySQL installed.
	(Trac #2342, git c7defffb89bd0f3fdd7ad2437c78950bcb86ad37)

567
502.	[func]		vorner
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
568 569 570 571
	TTLs can be specified with units as well as number of seconds now.
	This allows specifications like "1D3H".
	(Trac #2384, git 44c321c37e17347f33ced9d0868af0c891ff422b)

572
501.	[func]		tomek
573 574 575 576
	Added DHCPv6 allocation engine, now used in the processing of DHCPv6
	messages.
	(Trac #2414, git b3526430f02aa3dc3273612524d23137b8f1fe87)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
577 578 579 580 581 582 583 584 585 586
500.	[bug]		jinmei
	Corrected the autoconf example in the examples directory so it can
	use the configured path to Boost to check availability of the BIND 10
	library.  Previously the sample configure script could fail if
	Boost is installed in an uncommon place.  Also, it now provides a
	helper m4 function and example usage for embedding the library
	path to executable (using linker options like -Wl,-R) to help
	minimize post-build hassles.
	(Trac #2356, git 36514ddc884c02a063e166d44319467ce6fb1d8f)

587 588 589 590 591 592
499.	[func]		team
	The b10-auth 'loadzone' command now uses the internal thread
	introduced in 495 to (re)load a zone in the background, so that
	query processing isn't blocked while loading a zone.
	(Trac #2213, git 686594e391c645279cc4a95e0e0020d1c01fba7e)

593 594 595 596
498.	[func]		marcin
	Implemented DHCPv6 option values configuration using configuration
	manager. In order to set values for data fields carried by the
	particular option, user specifies the string of hexadecimal digits
597 598 599
	that is in turn converted to binary data and stored into option
	buffer. More user friendly way of option content specification is
	planned.
600 601
	(Trac #2318, git e75c686cd9c14f4d6c2a242a0a0853314704fee9)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
602 603 604 605 606 607 608 609 610
497.	[bug]		jinmei
	Fixed several issues in isc-sysinfo:
	- make sure it doesn't report a negative value for free memory
	  size (this happened on FreeBSD, but can possibly occur on other
	  BSD variants)
	- correctly identifies the SMP support in kernel on FreeBSD
	- print more human readable uptime as well as the time in seconds
	(Trac #2297, git 59a449f506948e2371ffa87dcd19059388bd1657)

611
496.	[func]		tomek
612 613 614 615
	DHCPv6 Allocation Engine implemented. It allows address allocation
	from the configured subnets/pools. It currently features a single
	allocator: IterativeAllocator, which assigns addresses iteratively.
	Other allocators (hashed, random) are planned.
616 617
	(Trac #2324, git 8aa188a10298e3a55b725db36502a99d2a8d638a)

618 619 620 621 622 623 624 625
495.	[func]		team
	b10-auth now handles reconfiguration of data sources in
	background using a separate thread.  This means even if the new
	configuration includes a large amount of data to be loaded into
	memory (very large zones and/or a very large number of zones),
	the reconfiguration doesn't block query handling.
	(Multiple Trac tickets up to #2211)

626 627 628 629 630 631 632 633 634 635 636 637 638 639 640
494.	[bug]		jinmei
	Fixed a problem that shutting down BIND 10 kept some of the
	processes alive.  It was two-fold: when the main bind10 process
	started as a root, started b10-sockcreator with the privilege, and
	then dropped the privilege, the bind10 process cannot kill the
	sockcreator via signal any more (when it has to), but it kept
	sending the signal and didn't stop.  Also, when running on Python
	3.1 (or older), the sockcreator had some additional file
	descriptor open, which prevented it from exiting even after the
	bind10 process terminated.  Now the bind10 process simply gives up
	killing a subprocess if it fails due to lack of permission, and it
	makes sure the socket creator is spawned without any unnecessary
	FDs open.
	(Trac #1858, git 405d85c8a0042ba807a3a123611ff383c4081ee1)

641 642 643 644 645 646 647 648 649 650 651
493.	[build]		jinmei
	Fixed build failure with newer versions of clang++.  These
	versions are stricter regarding "unused variable" and "unused
	(driver) arguments" warnings, and cause fatal build error
	with -Werror.  The affected versions of clang++ include Apple's
	customized version 4.1 included in Xcode 4.5.1.  So this fix
	will solve build errors for Mac OS X that uses newer versions of
	Xcode.
	(Trac #2340, git 55be177fc4f7537143ab6ef5a728bd44bdf9d783,
	3e2a372012e633d017a97029d13894e743199741 and commits before it
	with [2340] in the commit log)
Tomek Mrugalski's avatar
Tomek Mrugalski committed
652

653
492.	[func]		tomek
654
	libdhcpsrv: The DHCP Configuration Manager is now able to store
Tomek Mrugalski's avatar
Tomek Mrugalski committed
655
	information about IPv4 subnets and pools. It is still not possible
656 657 658 659
	to configure that information. Such capability will be implemented
	in a near future.
	(Trac #2237, git a78e560343b41f0f692c7903c938b2b2b24bf56b)

660 661 662 663 664 665 666 667
491.	[func]		tomek
	b10-dhcp6: Configuration for DHCPv6 has been implemented.
	Currently it is possible to configure IPv6 subnets and pools
	within those subnets, global and per subnet values of renew,
	rebind, preferred and valid lifetimes. Configured parameters
	are accepted, but are not used yet by the allocation engine yet.
	(Trac #2269, git 028bed9014b15facf1a29d3d4a822c9d14fc6411)

668
490.	[func]		tomek
669
	libdhcpsrv: An abstract API for lease database has been
670 671
	implemented. It offers a common interface to all concrete
	database backends.
672 673
	(Trac #2140, git df196f7609757253c4f2f918cd91012bb3af1163)

Mukund Sivaraman's avatar
Mukund Sivaraman committed
674 675 676 677 678 679
489.	[func]		muks
	The isc::dns::RRsetList class has been removed. It was now unused
	inside the BIND 10 codebase, and the interface was considered
	prone to misuse.
	(Trac #2266, git 532ac3d0054f6a11b91ee369964f3a84dabc6040)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
680 681
488.	[build]		jinmei
	On configure, changed the search order for Python executable.
682
	It first tries more specific file names such as "python3.2" before
JINMEI Tatuya's avatar
JINMEI Tatuya committed
683 684 685 686
	more generic "python3".  This will prevent configure failure on
	Mac OS X that installs Python3 via recent versions of Homebrew.
	(Trac #2339, git 88db890d8d1c64de49be87f03c24a2021bcf63da)

687 688 689 690 691 692 693 694 695 696 697 698
487.	[bug]		jinmei
	The bind10 process now terminates a component (subprocess) by the
	"config remove Boss/components" bindctl command even if the
	process crashes immediately before the command is sent to bind10.
	Previously this led to an inconsistent state between the
	configuration and an internal component list of bind10, and bind10
	kept trying to restart the component.  A known specific case of
	this problem is that b10-ddns could keep failing (due to lack of
	dependency modules) and the administrator couldn't stop the
	restart via bindctl.
	(Trac #2244, git 7565788d06f216ab254008ffdfae16678bcd00e5)

699 700 701
486.	[bug]*		jinmei
	All public header files for libb10-dns++ are now installed.
	Template configure.ac and utility AC macros for external projects
702
	using the library are provided under the "examples" directory.
703 704 705 706
	The src/bin/host was moved as part of the examples (and not
	installed with other BIND 10 programs any more).
	(Trac #1870, git 4973e638d354d8b56dcadf71123ef23c15662021)

707 708 709 710 711 712 713 714 715
485.	[bug]		jelte
	Several bugs have been fixed in bindctl; tab-completion now works
	within configuration lists, the problem where sometimes the
	completion added a part twice has been solved, and it no longer
	suggests the confusing value 'argument' as a completion-hint for
	configuration items. Additionally, bindctl no longer crashes upon
	input like 'config remove Boss'.
	(Trac #2254, git 9047de5e8f973e12e536f7180738e6b515439448)

716
484.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
717 718 719 720
	A new library (libb10-dhcpsrv) has been created. At present, it
	only holds the code for the DHCP Configuration Manager. Currently
	this object only supports basic configuration storage for the DHCPv6
	server,	but that capability will be expanded.
721 722
	(Trac #2238, git 6f29861b92742da34be9ae76968e82222b5bfd7d)

Jeremy C. Reed's avatar
Jeremy C. Reed committed
723 724 725 726 727 728 729 730 731 732
bind10-devel-20120927 released on September 27, 2012

483.	[func]		marcin
	libdhcp++: Added new parameter to define sub-second timeout
	for DHCP packet reception. The total timeout is now specified
	by two parameters:  first specifies integral number of
	seconds, second (which defaults to 0) specifies fractional
	seconds with microsecond resolution.
	(Trac #2231, git 15560cac16e4c52129322e3cb1787e0f47cf7850)

733 734 735 736 737 738 739 740 741 742 743
482.	[func]		team
	Memory footprint of the in-memory data source has been
	substantially improved.  For example, b10-auth now requires much
	less memory than BIND 9 named for loading and serving the same
	zone in-memory.  This is a transparent change in terms of user
	operation; there's no need to update or change the configuration
	to enable this feature.
	Notes: multiple instances of b10-auth still make separate copies
	of the memory image.  Also, loading zones in memory still suspends
	query processing, so manual reloading or reloading after incoming
	transfer may cause service disruption for huge zones.
Jeremy C. Reed's avatar
Jeremy C. Reed committed
744
	(Multiple Trac tickets, Summarized in Trac #2101)
745

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
746 747
481.	[bug]		vorner
	The abbreviated form of IP addresses in ACLs is accepted
748
	(eg. "from": ["127.0.0.1", "::1"] now works).
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
749 750
	(Trac #2191, git 48b6e91386b46eed383126ad98dddfafc9f7e75e)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
751
480.	[doc]		vorner
Jeremy C. Reed's avatar
Jeremy C. Reed committed
752
	Added documentation about global TSIG key ring to the Guide.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
753
	(Trac #2189, git 52177bb31f5fb8e134aecb9fd039c368684ad2df)
Jeremy C. Reed's avatar
Jeremy C. Reed committed
754

755 756 757
479.	[func]		marcin
	Refactored perfdhcp tool to C++, added missing unit tests and removed
	the old code. The new code uses libdhcp++ (src/lib/dhcp) for DHCP
758 759
	packet management, network interface management and packet
	transmission.
760 761 762 763 764 765 766 767
	(Trac #1954, git 8d56105742f3043ed4b561f26241f3e4331f51dc)
	(Trac #1955, git 6f914bb2c388eb4dd3e5c55297f8988ab9529b3f)
	(Trac #1956, git 6f914bb2c388eb4dd3e5c55297f8988ab9529b3f)
	(Trac #1957, git 7fca81716ad3a755bf5744e88c3adeef15b04450)
	(Trac #1958, git 94e17184270cda58f55e6da62e845695117fede3)
	(Trac #1959, git a8cf043db8f44604c7773e047a9dc2861e58462a)
	(Trac #1960, git 6c192e5c0903f349b4d80cf2bb6cd964040ae7da)

Naoki Kambe's avatar
Naoki Kambe committed
768 769 770 771 772 773
478.	[func]		naokikambe
	New statistics items added into b10-xfrout: ixfr_running and
	axfr_running.  Their values can be obtained by invoking "Stats show
	Xfrout" via bindctl while b10-xfrout is running.
	(Trac #2222, git 91311bdbfea95f65c5e8bd8294ba08fac12405f1)

774 775 776 777 778
477.	[bug]		jelte
	Fixed a problem with b10-msgq on OSX when using a custom Python
	installation, that offers an unreliable select.poll() interface.
	(Trac #2190, git e0ffa11d49ab949ee5a4ffe7682b0e6906667baa)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
779
476.	[bug]		vorner
Jeremy C. Reed's avatar
Jeremy C. Reed committed
780
	The Xfrin now accepts transfers with some TSIG signatures omitted, as
781 782
	allowed per RFC2845, section 4.4. This solves a compatibility
	issues with Knot and NSD.
Jeremy C. Reed's avatar
Jeremy C. Reed committed
783
	(Trac #1357, git 7ca65cb9ec528118f370142d7e7b792fcc31c9cf)
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
784

Naoki Kambe's avatar
Naoki Kambe committed
785
475.	[func]		naokikambe
786 787 788 789
	Added Xfrout statistics counters: notifyoutv4, notifyoutv6,
	xfrrej, and xfrreqdone. These are per-zone type counters.
	The value of these counters can be seen with zone name by
	invoking "Stats show Xfrout" via bindctl.
790
	(Trac #2158, git e68c127fed52e6034ab5309ddd506da03c37a08a)
791

792
474.	[func]		stephen
793 794 795
	DHCP servers now use the BIND 10 logging system for messages.
	(Trac #1545, git de69a92613b36bd3944cb061e1b7c611c3c85506)

796 797 798 799 800 801
473.	[bug]		jelte
	TCP connections now time out in b10-auth if no (or not all) query
	data is sent by the client. The timeout value defaults to 5000
	milliseconds, but is configurable in Auth/tcp_recv_timeout.
	(Trac #357, git cdf3f04442f8f131542bd1d4a2228a9d0bed12ff)

Jeremy C. Reed's avatar
Jeremy C. Reed committed
802 803 804 805 806 807 808 809 810
472.	[build]		jreed
	All generated documentation is removed from the git repository.
	The ./configure --enable-man option is removed. A new option
	-enable-generate-docs is added; it checks for required
	documentation building dependencies. Dummy documentation is
	built and installed if not used. Distributed tarballs will
	contain the generated documentation.
	(Trac #1687, git 2d4063b1a354f5048ca9dfb195e8e169650f43d0)

811
471.	[bug]		vorner
812 813 814
	Fixed a problem when b10-loadzone tried to tread semicolon
	in string data as start of comment, which caused invalid
	data being loaded.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
815 816
	(Trac #2188, git 12efec3477feb62d7cbe36bdcfbfc7aa28a36f57)

Naoki Kambe's avatar
Naoki Kambe committed
817
470.	[func]		naokikambe
818 819 820 821 822
	The stats module now supports partial statistics updates. Each
	module can return only statistics data which have been updated since
	the last time it sent them to the stats module. The purpose of partial
	updates is to reduce the amount of statistics data sent through the
	message queue.
Naoki Kambe's avatar
Naoki Kambe committed
823
	(Trac #2179, git d659abdd9f3f369a29830831297f64484ac7b051)
824

825 826 827 828 829 830 831 832 833 834 835
469.	[bug]		jelte
	libdatasrc: the data source client list class now ignores zone
	content problems (such as out-of-zone data) in MasterFiles type
	zones, instead of aborting the entire configuration.  It only logs
	an error, and all other zones and datasources are still loaded. The
	error log message has been improved to include the zone origin and
	source file name.  As a result of this change, b10-auth no longer
	exits upon encountering such errors during startup.
	(Trac #2178, git a75ed413e8a1c8e3702beea4811a46a1bf519bbd)

468.	[func]*		naokikambe, fujiwara
Kazunori Fujiwara's avatar
Kazunori Fujiwara committed
836
	b10-stats polls the bind10 and b10-auth with new 'getstats' command
837 838 839 840 841
	to retrieve statistics data.  The "poll-interval" parameter in
	b10-stats is for configuring the polling interval.  All statistics
	data collected once are preserved while b10-stats is running.
	The "sendstats" command was removed from bind10 and b10-auth. The
	"statistics-interval" configuration item was removed from b10-auth.
842 843
	(Trac #2136, git dcb5ce50b4b4e50d28247d5f8b5cb8d90bda942a)
	(Trac #2137, git d53bb65a43f6027b15a6edc08c137951e3ce5e0e)
844
	(Trac #2138, git b34e3313460eebc9c272ca8c1beb27297c195150)
845

846 847
bind10-devel-20120816 released on August 16, 2012

848 849 850 851 852 853 854 855 856 857
467.	[bug]		jelte
	For configurations, allow named sets to contain lists of items.
	(Trac #2114, git 712637513505f7afb8434292ca2a98c3517dffd3)

466.	[func]		jelte
	Allow bindctl to add and remove items to and from lists
	and dicts for items of type "any". This is for easier
	configurations.
	(Trac #2184, git ad2d728d1496a9ff59d622077850eed0638b54eb)

858 859 860 861
465.	[doc]		vorner
	Improved documentation about ACLs in the Guide.
	(Trac #2066, git 76f733925b3f3560cfc2ee96d2a19905b623bfc3)

862 863 864 865 866
464.	[func]		jelte, muks
	libdns++: The LabelSequence class has been extended with some new
	methods.  These are mainly intended for internal development, but
	the class is public, so interested users may want to look into the
	extensions.
867 868 869 870 871
	(Trac #2052, git 57c61f2^..dbef0e2)
	(Trac #2053, git 1fc2b06b57a008ec602daa2dac79939b3cc6b65d)
	(Trac #2086, git 3fac7d5579c5f51b8e952b50db510b45bfa986f3)
	(Trac #2087, git 49ad6346f574d00cfbd1d12905915fd0dd6a0bac)
	(Trac #2148, git 285c2845ca96e7ef89f9158f1dea8cda147b6566)
872

Mukund Sivaraman's avatar
Mukund Sivaraman committed
873 874 875 876
463.	[func]		jinmei
	Python isc.dns: the Name, RRType and RRClass classes are now
	hashable.  So, for example, objects of these classes can be used
	as a dictionary key.
877
	(Trac #1883, git 93ec40dd0a1df963c676037cc60c066c748b3030)
Mukund Sivaraman's avatar
Mukund Sivaraman committed
878

Jeremy C. Reed's avatar
Jeremy C. Reed committed
879
462.	[build]		jreed
Mukund Sivaraman's avatar
Mukund Sivaraman committed
880 881 882 883 884
	BIND 10 now compiles against googletest-1.6.0 versions that are
	installed on the system as source code. For such versions, use the
	--with-gtest-source configure switch.
	(Trac #1999, git 6a26d459a40d7eed8ebcff01835377b3394a78de)

Mukund Sivaraman's avatar
Mukund Sivaraman committed
885
461.	[bug]		muks
886 887 888 889
	We now set g+w and g+s permissions (mode 02770) during
	installation for the BIND 10 local state directory
	($prefix/var/bind10-devel/) so that permissions to files
	and sub-directories created in that directory are inherited.
Mukund Sivaraman's avatar
Mukund Sivaraman committed
890 891
	(Trac #2171, git ab4d20907abdb3ce972172463dcc73405b3dee79)

Mukund Sivaraman's avatar
Mukund Sivaraman committed
892 893 894 895 896 897
460.	[bug]		muks
	SSHFP's algorithm and fingerprint type checks have been relaxed
	such that they will accept any values in [0,255]. This is so that
	future algorithm and fingerprint types are accomodated.
	(Trac #2124, git 49e6644811a7ad09e1326f20dd73ab43116dfd21)

898
459.	[func]		tomek
899
	b10-dhcp6: DHCPv6 server component is now integrated into
900
	BIND 10 framework. It can be started from BIND 10 (using bindctl)
901 902 903 904
	and can receive commands. The only supported command for now
	is 'Dhcp6 shutdown'.
	b10-dhcp4: Command line-switch '-s' to disable msgq was added.
	b10-dhcp6: Command line-switch '-s' to disable msgq was added.
Tomek Mrugalski's avatar
Tomek Mrugalski committed
905
	(Trac #1708, git e0d7c52a71414f4de1361b09d3c70431c96daa3f)
Kazunori Fujiwara's avatar
Kazunori Fujiwara committed
906

907
458.	[build]*		jinmei
JINMEI Tatuya's avatar
JINMEI Tatuya committed
908 909 910 911 912 913 914 915 916 917 918 919
	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)

920
457.	[build]*		muks
Mukund Sivaraman's avatar
Mukund Sivaraman committed
921 922 923 924
	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)

925
456.	[build]		muks
Mukund Sivaraman's avatar
Mukund Sivaraman committed
926
	BIND 10 now compiles against log4cplus-1.1.0 (RC releases)
927 928 929
	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
930 931
	(Trac #2169, git 7d7e5269d57451191c0aef1b127d292d3615fe2c)

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
932
455.	[func]*		vorner
933 934 935
	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
936 937
	"data_sources" module.  Also the bind10 -n and --no-cache
	and b10-auth -n options are removed.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
938 939
	(Trac #1976, git 0d4685b3e7603585afde1b587cbfefdfaf6a1bb3)

940 941 942 943 944 945 946
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)

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

954 955 956 957 958 959 960 961
452.	[func]		muks, jelte
	isc-sysinfo: An initial implementation of the isc-sysinfo
	tool is now available for Linux, OpenBSD, FreeBSD, and Mac
	OS X. It gathers and outputs system information which can
	be used by future tech support staff. This includes a
	generic Python "sysinfo" module.
	(Trac #2062, #2121, #2122, #2172,
	git 144e80212746f8d55e6a59edcf689fec9f32ae95)
Mukund Sivaraman's avatar
Mukund Sivaraman committed
962

JINMEI Tatuya's avatar
JINMEI Tatuya committed
963 964 965 966 967 968 969 970
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)

971
450.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
972
	b10-dhcp4: DHCPv4 server component is now integrated into
973
	BIND 10 framework. It can be started from BIND 10 (using bindctl)
Tomek Mrugalski's avatar
Tomek Mrugalski committed
974 975
	and can receive commands. The only supported command for now
	is 'Dhcp4 shutdown'.
976
	(Trac #1651, git 7e16a5a50d3311e63d10a224ec6ebcab5f25f62c)
Tomek Mrugalski's avatar
Tomek Mrugalski committed
977

Jeremy C. Reed's avatar
Jeremy C. Reed committed
978
bind10-devel-20120621 released on June 21, 2012
979

980 981 982
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
983
	solves other reported problems such as too frequent attempts
984 985 986
	of zone refreshing (see Trac #1786 and #1834).
	(Trac #2023, git b5fbf8a408a047a2552e89ef435a609f5df58d8c)

987 988 989 990 991 992
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
993 994 995 996
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.
997
	(Trac #988 and #1833, git 95a03bbefb559615f3f6e529d408b749964d390a)
JINMEI Tatuya's avatar
JINMEI Tatuya committed
998

Mukund Sivaraman's avatar
Mukund Sivaraman committed
999 1000 1001 1002 1003
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
1004 1005 1006 1007 1008 1009 1010
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
1011 1012 1013 1014 1015 1016
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)

1017
443.	[func]*		muks
Mukund Sivaraman's avatar
Mukund Sivaraman committed
1018 1019 1020 1021 1022 1023 1024 1025 1026 1027
	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
1028
442.	[func]		tomek
Tomek Mrugalski's avatar
Tomek Mrugalski committed
1029 1030 1031
	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
1032 1033
	(Trac #1503, git e60af9fa16a6094d2204f27c40a648fae313bdae)

1034
441.	[func]		tomek
1035 1036
	libdhcp++: Stub interface detection (support for interfaces.txt
	file) was removed.
1037
	(Trac #1281, git 900fc8b420789a8c636bcf20fdaffc60bc1041e0)
1038

Jeremy C. Reed's avatar
Jeremy C. Reed committed
1039
bind10-devel-20120517 released on May 17, 2012
1040

Jeremy C. Reed's avatar
Jeremy C. Reed committed
1041 1042 1043 1044 1045 1046
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)

1047
439.	[func]		team
1048 1049 1050 1051 1052 1053
	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)

1054
438.	[bug]		naokikambe
1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067
	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)

1068 1069 1070 1071 1072
436.	[bug]		jelte
	The --config-file option now works correctly with relative paths if
	--data-path is not given.
	(Trac #1889, git ce7d1aef2ca88084e4dacef97132337dd3e50d6c)

1073 1074 1075 1076
435.	[func]		team
	The in-memory datasource now supports NSEC-signed zones.
	(Trac #1802-#1810, git 2f9aa4a553a05aa1d9eac06f1140d78f0c99408b)

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

1082
433.	[func]		tomek
1083 1084 1085
	libdhcp++: Option6 and Pkt6 now follow the same design as
	options and packet for DHCPv4. General code refactoring after
	end of 2011 year release.
1086
	(Trac #1540, git a40b6c665617125eeb8716b12d92d806f0342396)
1087

Mukund Sivaraman's avatar
Mukund Sivaraman committed
1088 1089 1090 1091 1092
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)

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

1097 1098 1099 1100 1101
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)

1102 1103 1104 1105 1106 1107 1108
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)

1109
428.	[bug]		marcin
Jeremy C. Reed's avatar
Jeremy C. Reed committed
1110 1111
	perfdhcp: bind to local address to allow reception of
	replies from IPv6 DHCP servers.
1112 1113
	(Trac #1908, git 597e059afaa4a89e767f8f10d2a4d78223af3940)

JINMEI Tatuya's avatar
JINMEI Tatuya committed
1114 1115 1116 1117 1118 1119 1120
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.
1121
	(Trac #1781,#1788,#1891, git 672f129700dae33b701bb02069cf276238d66be3)
JINMEI Tatuya's avatar
JINMEI Tatuya committed
1122

Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
1123
426.	[bug]		vorner
Jeremy C. Reed's avatar
Jeremy C. Reed committed
1124 1125
	The NSEC3 records are now included when transferring a
	signed zone out.
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
1126 1127 1128
	(Trac #1782, git 36efa7d10ecc4efd39d2ce4dfffa0cbdeffa74b0)

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

1133 1134 1135 1136 1137
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)

1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149
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
1150 1151 1152 1153 1154 1155
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
1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166
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)

1167 1168 1169 1170 1171 1172
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
1173 1174
418.	[bug]		vorner
	Fixed crash in bindctl when config unset was called.
1175
	(Trac #1715, git 098da24dddad497810aa2787f54126488bb1095c)
Michal 'vorner' Vaner's avatar
Michal 'vorner' Vaner committed
1176

1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187
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)

1188 1189
bind10-devel-20120329 released on March 29, 2012

1190 1191
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
1192
	configurations for b10-auth.
1193
	(Trac #1732, git 434d8db8dfcd23a87b8e798e5702e91f0bbbdcf6)
1194

JINMEI Tatuya's avatar
JINMEI Tatuya committed
1195 1196 1197 1198 1199 1200
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)

1201 1202 1203 1204
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.
1205 1206 1207 1208
	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.
1209 1210
	(Trac #963, git 49ba2cf8ac63246f389ab5e8ea3b3d081dba9adf)

1211 1212 1213 1214 1215 1216 1217 1218 1219 1220
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
1221
	Add a -i/--no-kill command-line argument to bind10, which stops
1222 1223 1224 1225
	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
1226 1227 1228 1229 1230 1231 1232 1233 1234
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)

1235 1236 1237 1238 1239 1240
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
1241 1242 1243 1244 1245 1246 1247
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)

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

Mukund Sivaraman's avatar
Mukund Sivaraman committed
1254 1255 1256 1257 1258
406.	[bug]		muks
	On platforms such as OpenBSD where pselect() is not available,
	make a wrapper around select() in perfdhcp.
	(Trac #1639, git 6ea0b1d62e7b8b6596209291aa6c8b34b8e73191)

1259
405.	[bug]		jinmei
1260 1261 1262 1263 1264 1265 1266 1267
	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.
1268
	(Trac #1727, git 23f9c3670b544c5f8105958ff148aeba050bc1b4)
1269

1270
404.	[bug]		naokikambe
1271 1272 1273
	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.