Re: panel error *** ORBit patch ***
- From: James Michael Mastros <spare jennifer-unix dyn ml org>
- To: Elliot Lee <sopwith redhat com>, gnome-list gnome org
- Subject: Re: panel error *** ORBit patch ***
- Date: Thu, 13 Aug 1998 16:30:24 -0400
On Thu, Aug 13, 1998 at 04:01:06 PM -0400, Elliot Lee wrote:
> On Thu, 13 Aug 1998, Frederick I Gleef wrote:
> > The best option, in my mind, would be for it to do the DNS and reverse
> > DNS checks. If the tests succeed, great, if not (i.e. hent==NULL)
> > rather than failing with an error or segfaulting, contunue with
> > server_cnx->hostname = g_strdup("localhost"). This way, machines with
> > proper DNS will have a properly networked ORBit, machines without it
> > will not, but still work locally.
>
> DNS does not have to be involved, /etc/hosts is your friend.
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.
> Here's the premises I'm working under:
> - 'hostname' should resolve to a valid IP address, loopback or otherwise.
Agreed. I don't think you can do away with this.
> - 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?
> - 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.)
> Here's the requirements for a solution to make things work better:
> - At the time of object reference creation in the server, it must
> put a valid hostname (Internet-accessable if at all possible)
> into the IOR.
> - That hostname needs to continue to work (resolvable to a
> connectable IP) as long as the IOR is
> published for use by clients.
> [I think those are the only requirements, I might have missed one]
I think my hack above (when connecting localy, note that and use 127.0.0.1)
should help those with dynamic mess.
> Does anyone know how X handles this whole conundrum? It has the _exact_
> same problem WRT setting $DISPLAY and all. Even if its solution is not
> "perfect", the solution (a) sets precedent (b) works pretty well most of
> the time (c) even if we get a better solution, the X one is going to limit
> us, because all GNOME programs on a particular desktop session share the
> same display.
I think it does something like the psudocode that I just cut from your post.
<G> (And the X one won't really limit us -- nothing says that you can't
access GNOMEoid objects from another machine -- they'd just have to be
non-GUI objects.)
> (Part of the problem is that CORBA encodes the hostname inside the IOR
> instead of leaving it directly manipulatable like X $DISPLAY's do. Perhaps
> we just need an iiop:// URL parser instead - any volunteers? It shouldn't
> be too hard, since all ORBit object keys are strings... :-)
Acatualy, we'd need a family of URL schemes, for the different mediums
supported (IPv4, UNIX sockets, any others?) Perhaps I'll do that when
echo-{client,server} start working. I'll probably post that one shortly.
-=- James Mastros
--
A basement-GNOME (http://www.gnome.org/) with PIP (IETF group) and WINE
(http://www.winehq.com/). Not really as impressive as it might sound, or as
Tolkinen.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]