If the server is configured not to allow client updates, or if the client doesn't
want to do its own update, the server will simply choose a name for the client,
possibly using the hostname supplied by the client ("jschmoe" in the previous
example). It will use its own domain name for the client, just as in the ad-hoc
update scheme. It will then update both the A and PTR record, using the name that
it chose for the client. If the client sends a fully-qualified domain name in
the fqdn option, the server uses only the leftmost part of the domain name - in
the interim scheme is that with the interim scheme, a method is used that allows
more than one DHCP server to update the DNS database without accidentally deleting
A records that shouldn't be deleted nor failing to add A records that should be
added. The scheme works as follows: When the DHCP server issues a client a new
lease, it cre ates a text string that is an MD5 hash over the DHCP client's identification
(see draft-ietf-dnsext-dhcid- rr-??.txt for details). The update adds an A record
with the name the server chose and a TXT record containing the hashed identifier
string (hashid). If this update suc ceeds, the server is done. If the update fails
because the A record already exists, then the DHCP server attempts to add the
A record with the prerequisite that there must be a TXT record in the same name
as the new A record, and that TXT record's contents must be equal to hashid. If
this update succeeds, then the client has its A record and PTR record. If it fails,
then the name the client has been assigned (or requested) is in use, and can't
be used by the client. At this point the DHCP server gives up trying to do a DNS
update for the client until the client chooses a new name.