Re: panel error *** ORBit patch ***





On Thu, 13 Aug 1998, Elliot Lee wrote:
> On Thu, 13 Aug 1998, James Michael Mastros wrote:
> > 
> > Still, when the lookups fail, 127.0.0.1 is your friend.
> > 
> > In any case, how about this hack: when making the connection, check if both
> > ends are the same machine -- and if so, ignore the given IPs/hostnames, and
> > use 127.0.0.1 instead.
> 
> How are you going to check if both ends are on the same machine?
> 
> That's why we need hostnames! They do this for us! They _are_ the unique
> identifier that distinguishes different hosts :-)

That was essentially what I said in my "best solution".  To put it in
pseudocode:
  hn = the machines hostname
  hent = gethostbyname(hn)
  if (hent)
    hent = gethostbyaddr(hent->addr)
  endif
  if (!hent)
    corbaname = "localhost"
  else
    corbaname = hent->name
  endif

As far as I can tell, that should work, but you know the rest of ORBit far
far better than I, Elliot.  I also don't think that it is unnessisarily
catering to people.  If a machine wants to be accessible on the network,
they need proper networking settings, otherwise, everything will work
locally.

Or, if you want to be really safe about it, try the following:
if (!hent)
-    corbaname = "localhost"
+    hent = gethostbyname("localhost")
+    if (hent)  hent = gethostbyaddr(hent->addr)
+    if (!hent) fail with error
+    corbaname = hent->name
else


> > > 	- The IP address pointed to by 'hostname' should reverse-resolve
> > > 	  to a valid hostname (presumably, but not required to be, the FQDN)
> > Why not just use IPs?
> 
> Why does the Internet need DNS at all?
> 
> Even with no human intervention at all, there are still things like
> round-robin DNS and IPv6 to consider. (To get the IPv6 address, you need a
> hostname).

Yes, DNS is useful under IPv4, it is a requirement under IPv6.  I hope I
can change my bosses mind(s) about DNS before we need IPv6.

Just out of curiosity, what is round-robin DNS?  I don't think I've heard
the term before.


> > > 	- The 'hostname' and/or FQDN retrieved using the above procedure
> > > 	  should be valid for the lifetime of a CORBA server (and the
> > >	  [objects.)]
> > This is the killer -- sometimes the `hostname` will resolve to a remote
> > address, and then at a later point you will loose remote connectivity, or
> > the address will change.  (This futzes X too, but there you can manualy
> > overide it's guess where the server lives.)
> 
> ORBit doesn't care if _the IP address that 'hostname' points to_ is valid
> for the lifetime of the CORBA server, only the 'hostname' itself. Just
> point 'hostname' to a different IP address as needed, and new connections
> will continue to succeed. 

My bit above seems to meet this requirement.

-Gleef



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]