Record ulog history since last full resync within slave ulog.
(This is the basis upon which tree-based propagation can be built.)
Implement tree-based propagation.
"kadmind -proponly" will run kadmind where it only accepts connections for
update propagation (iprop).
"kpropd -A <server>" will tell kpropd to contact an alternate server as the
admin_server from which to receive iprop updates.
Notify downstream slaves of ulog updates.
"kprop -N <slave>" will contact a slave on the kprop port to let it know
updates have been received since it last performed iprop get_updates.
"kadmind" will add slaves to the "to be notified" list when it receives an
iprop get_updates request and responds with UPDATE_NIL or UPDATE_OK; it will
call "kprop -N" when an update occurs in the ulog (and then forget about the
client until it next retrieves its updates). It will perform this action
anytime it processes a kadm5 update request or receives a NULLPROC request.
"kpropd" has been enhanced to reset the timer when it receives a generic
error signal from the kadmin server on the kprop port and to also attempt
to communicate with any local kadmind using NULLPROC in case it is also a
hub to replicate changes downstream to other clients.