Re: OS issues
David P. Reed <dpreed <at> reed.com>
2005-01-02 15:28:25 GMT
This is a complex issue related to the way the network was thrown
together in Jasmine, which assumes (incorrectly) that it even makes
sense to ask what one's machines local address is. In the Internet a
machine may have MANY local addresses, and the loopback address is a
valid answer! (the idea of a machine having a single primary address is
an ancient confusion that reflected the "socket" API definers' early
(mis)understanding of the Internet architecture). In the next release,
the protocol we use allows machines that have multiple addresses
(multiple adapters, but also the Debian default setup case where the
loopback adapter is included) work fine. The next release won't have
this problem, even on Debian. (the fix is entangled with a whole lot of
other changes, so backporting it to Jasmine is probably not worth the
effort).
The linux version of primLocalAddress gets the value of hostname, and
then looks its address up. Type "hostname" and see what you get on your
debian machine. Most likely you are getting localhost, which of course
stands for 127.0.0.1. The linux machines that "work" probably have
hostnames that are not equal to localhost.
You need to fix hostname to be a different name, one which defines the
primary address of the machine. This is, as a say, a temporary fix.
In the next release, which uses different connection technology, we
actually don't use primLocalAddress at all. My debian machine changes
hostname to be the actual octet string of the adapter whenever DHCP
binds a new address. This works "OK" but when my laptop sees both an
Ethernet and a wireless network, the local address may bounce back and
forth...
Alternatively, you can patch the place where we call
(Continue reading)