[581] in testers

home help back first fref pref prev next nref lref last post

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

home help back first fref pref prev next nref lref last post