wait at least six seconds between each pass of the tree. This keeps
the CPU from being bogged down in a persistent overlimit condition, and
because it uses timers also lets the cache cleaner know right away when
the server is being shut down, so it can stop trying to clean.
Also fixed an unlocked access to cache->live_tasks in dns_cache_detach().
Also fixed a problem with repeated calls to dns_cache_setcachesize() setting
the database as not overmem, even though it might have still been in
the process of cleaning from a previous limit. Just set the new
isc_mem_setwater() limits instead and let the mem.c call water() if cleaning
needs to be either started or stopped because of the new limits.
Minor code cleanups.
required good entropy only when 'param' (to dst_key_generate) was non-zero.
Since the default was always to require good entropy, that default behavior
has been restored and now a non-zero param means that pseudorandom is ok.
*wanted* to add on the last check-in.
The second argument to hmacmd5_generate is no longer unused, it is a flag
to say whether good entropy is needed or not. This change was approved
by Brian. The control channel key generator needed it to be able to do
its job all on-the-fly.
an SOA record without an explicit TTL field and
lacking a $TTL directive, by using the SOA MINTTL
as a default TTL. This is for backwards compatibility
with old versions of BIND 8, which accepted such
files without warning although they are illegal
according to RFC1035.
an ANY query at a zone cut point will return a delegation, except if
DNS_DBFIND_GLUEOK is set, in which case DNS_R_ZONECUT will be returned as
before. Someday it would probably be a good idea to get rid of DNS_R_ZONECUT
entirely and just return DNS_R_GLUE in that case, but I was afraid to do
that now since it might break things. These changes pass all system tests.
an error return from the socket library means the library has already
decided that the error is not retryable and likely to throw
us into an infinite loop if retried
ictx->drop is inherited when a include file is pushed.
NOTE: it is *not* restored when the include file is subsequently popped as
the current owner is restored to the state it was before the file
was pushed.
we missed setting source & line after one successful pushfile().