[581] in testers
Re: 6.4R: netconfig
daemon@ATHENA.MIT.EDU (daemon@ATHENA.MIT.EDU)
Sun Dec 31 14:52:12 1989
From: probe@ATHENA.MIT.EDU
Date: Sun, 31 Dec 89 14:51:32 -0500
To: probe@ATHENA.MIT.EDU
Cc: testers@ATHENA.MIT.EDU, athena-ws@ATHENA.MIT.EDU
In-Reply-To: Richard Basch's message of Sat, 30 Dec 89 16:15:49 -0500,
Reply-To: Richard Basch <probe@ATHENA.MIT.EDU>
From: probe@ATHENA.MIT.EDU
Date: Sat, 30 Dec 89 16:15:49 -0500
Reply-To: Richard Basch <probe@ATHENA.MIT.EDU>
Address: 1 Amherst St., E40-342C, Cambridge, MA 02139
Phone: (617) 253-0100
. . .
My personal views towards the semantics are:
- If ADDR is set and HOST does not match the machine name, flag a
fatal error. More precisely, a gethostbyaddr() should be done and
if it returns something that does not match gethostbyname() of the
HOST variable, then there is a conflict of data that HAS to be
resolved. After discovering this, before the program exits, it
should turn off the network, in case a different host with
consistent data with the same ADDR tries coming up.
- If ADDR is set and the results of gethostbyaddr() does not conflict
with gethostbyname(getenv("HOST")) then use the value of the HOST
variable. Flag a WARNING if strncasecmp() of the value does not
match the initial part of the canonical name, though (this means
the canonical name has been changed, and aliasing was done).
- If ADDR is set and gethostbyaddr() returns nothing, use the value of
HOST as it may just be that the nameservers are temporarily unavailable.
Depending on the reliability of the return codes, it might be possible
to then consider HOST as not set and to register the name dynamically
if a NXDOMAIN was returned by the gethostbyaddr().
- In all other cases, ignore the HOST variable; either the HOST variable
is not set or the machine is being dynamically assigned an address.
To determine the name, it should do a gethostbyaddr() and set the
hostname appropriately. If no response is received, register the
machine in the dyn.mit.edu domain.
One case was neglected:
- ADDR is set and gethostbyaddr succeeds. HOST is set and gethostbyname
returns NXDOMAIN. In this case, a warning should be flagged and use
the result from gethostbyaddr. This means that a name-change request
has gone through (most likely).
I will submit a code sample shortly that implements this and then you
can judge the algorithm based on that. However, this code work will
probably occur in about a week (after I turn in a first draft of my
thesis).
-Richard