bind9/lib
Michał Kępień 1c97ace7dc Log a message when a transferred mirror zone comes into effect
Log a message when a mirror zone is successfully transferred and
verified, but only if no database for that zone was yet loaded at the
time the transfer was initiated.

This could have been implemented in a simpler manner, e.g. by modifying
zone_replacedb(), but (due to the calling order of the functions
involved in finalizing a zone transfer) that would cause the resulting
logs to suggest that a mirror zone comes into effect before its transfer
is finished, which would be confusing given the nature of mirror zones
and the fact that no message is logged upon successful mirror zone
verification.

Once the dns_zone_replacedb() call in axfr_finalize() is made, it
becomes impossible to determine whether the transferred zone had a
database attached before the transfer was started.  Thus, that check is
instead performed when the transfer context is first created and the
result of this check is passed around in a field of the transfer context
structure.  If it turns out to be desired, the relevant log message is
then emitted just before the transfer context is freed.

Taking this approach means that the log message added by this commit is
not timed precisely, i.e. mirror zone data may be used before this
message is logged.  However, that can only be fixed by logging the
message inside zone_replacedb(), which causes arguably more dire issues
discussed above.

dns_zone_isloaded() is not used to double-check that transferred zone
data was correctly loaded since the 'shutdown_result' field of the zone
transfer context will not be set to ISC_R_SUCCESS unless axfr_finalize()
succeeds (and that in turn will not happen unless dns_zone_replacedb()
succeeds).
2019-01-16 10:33:02 -08:00
..
bind9 error on allow-update and allow-update-forwarding at options/view level 2019-01-15 23:20:38 -08:00
dns Log a message when a transferred mirror zone comes into effect 2019-01-16 10:33:02 -08:00
irs ensure that WSAStartup is called before getservbyname 2019-01-15 14:19:59 +11:00
isc use smt_pause instead of pause on sparc 2019-01-15 20:29:27 -05:00
isccc Remove message catalogs 2019-01-09 23:44:26 +01:00
isccfg prep 9.13.5 2018-12-07 03:41:19 +00:00
ns Remove message catalogs 2019-01-09 23:44:26 +01:00
samples Add @OPENSSL_LIB@ to Windows project files as needed 2018-08-10 16:45:00 +02:00
win32/bindevt address win32 build issues 2018-05-22 16:32:21 -07:00
.gitignore added gitignore, removed cvsignore 2012-03-03 23:10:05 -08:00
Kyuafile link in lib/isccc/tests/Kyuafile 2018-11-13 07:23:36 +11:00
Makefile.in remove lib/tests as nothing uses it anymore 2018-03-09 14:12:50 -08:00