dns_dispatch_create() no longer exists. dns_dispatch_createtcp()
and dns_dispatch_getudp() are the replacements. _createtcp() takes
a bound, connected TCP socket, while _getudp() will search for
a sharable UDP socket, and if found, attach to it and return a
pointer to it. If one is not found, it will create a udp socket,
bind it to a supplied local address, and create a new dispatcher
around it.
dns_dispatch_remove{request,response}() no longer take the dispatch
as an argument.
query-source can now be set per view.
The dispatch manager holds onto three memory pools, one for
allocating dispatchers from, one for events, and one for
requests/replies. The free list on these pools is hard-coded,
but set to 1024. This keeps us from having to dig into the
isc_mem_t the pools draw from as often.
dns_resolver_create() and dns_view_createresolver() require that
valid dispatchers be passed in; dispatchers are no longer created
for the caller.
involved extensive restructuring of the reference counting of
zones and related objects.
Zones now attach to their views. To avoid a circular dependency that
would keep views from ever shutting down, this is done using the new
functions dns_view_weakattach() / dns_view_weakdetach() which
guarantee that the view will not be freed but still allow it
to be shut down.
The zones themselves now only have a single reference count, with
similar "weak" semantics. Managed zones must now be shut down
explicitly by calling dns_zone_shutdown(). To shut down all
zones in a zone table, call dns_zt_shutdown().
The zone manager is now reference counted, weakly. To shut down the
zone manager, you must explicitly call dns_zonemgr_shutdown().
statements.
- Post-load of named.conf check verifies a slave zone has non-empty list
of masters defined.
- New per-zone boolean:
enable-zone yes | no ;
- intended to let a zone be disabled without having to comment out the
entire zone statement.
- New global and per-view option:
max-cache-ttl number
- New global and per-view option:
addition-data internal | minimal | maximal;
170. [cleanup] Remove inter server consistancy checks from zone,
these should return as a seperate module in 9.1.
dns_zone_checkservers(), dns_zone_checkparents(),
dns_zone_checkchildren(), dns_zone_checkglue().
Remove dns_zone_setadb(), dns_zone_setresolver(),
dns_zone_setrequestmgr() these should now be found
via the view.
Cleanup of redundant/useless header file inclusion.
ISC style lint, primarily for function declarations and standalone
comments -- ie, those that appear on a line without any code, which
should be written as follows:
/*
* This is a comment.
*/
zone to be parsed and then ignored). Currently must
come after the 'type' clause.
support optional ports in masters and also-notify
statements:
masters [ port xxx ] { y.y.y.y [ port zzz ] ; }
removed some unused arguments.
stop issuing some warnings about some features that
were not implemented, but now are.
dns_zone_clearnotify() and dns_zone_addnotify()
are replaced by dns_zone_setnotifyalso().
dns_zone_clearmasters() and dns_zone_addmaster()
are replaced by dns_zone_setmasters().
Added:
isc_buffer_base(b) (pointer)
isc_buffer_current(b) (pointer)
isc_buffer_active(b) (pointer)
isc_buffer_used(b) (pointer)
isc_buffer_length(b) (int)
isc_buffer_usedlength(b) (int)
isc_buffer_consumedlength(b) (int)
isc_buffer_remaininglength(b) (int)
isc_buffer_activelength(b) (int)
isc_buffer_availablelength(b) (int)
Removed:
ISC_BUFFER_USEDCOUNT(b)
ISC_BUFFER_AVAILABLECOUNT(b)
isc_buffer_type(b)
Changed names:
isc_buffer_used(b, r) ->
isc_buffer_usedregion(b, r)
isc_buffer_available(b, r) ->
isc_buffer_available_region(b, r)
isc_buffer_consumed(b, r) ->
isc_buffer_consumedregion(b, r)
isc_buffer_active(b, r) ->
isc_buffer_activeregion(b, r)
isc_buffer_remaining(b, r) ->
isc_buffer_remainingregion(b, r)
Buffer types were removed, so the ISC_BUFFERTYPE_*
macros are no more, and the type argument to
isc_buffer_init and isc_buffer_allocate were removed.
isc_buffer_putstr is now void (instead of isc_result_t)
and requires that the caller ensure that there
is enough available buffer space for the string.
dns_rbt_find* is when no options are passed.
Add DNS_RBTFIND_NOPREDECESSOR to specify that the predecessor
searching code of dns_rbt_findnode should be skipped.
Much comment cleanup w.r.t. DNS_RBTFIND_* options.