Further option, complements of GJ:
Kill all the DNS code, except that if ipAddress is set to a DNS address,
the node looks it up by calling out to nslookup or host every minute or
so. The IP addresses that go out onto the network would not include DNS,
and only nodes behind firewalls with dynamic IPs on the other side would
need to use this semi-platform-specific hack.

On Sat, Feb 22, 2003 at 12:49:37AM +0000, Matthew Toseland wrote:
> On Sat, Feb 22, 2003 at 12:46:36AM +0000, Matthew Toseland wrote:
> > Okay. I propose that we release freenet 0.5.1 WITHOUT ANY DNS SUPPORT.
> > I will remove all code that could call the java DNS lookups. Nodes with
> > ipAddress=<some DNS name> will be treated as ipAddress not set. If the
> > code cannot detect a real IP address, it will automatically downgrade to
> > transient. Node references containing DNS names will likewise be
> > ignored, as if they were invalid or pointed to localhost or a LAN
> > address. And there will be a mandatory upgrade.
> > 
> > As far as I can see the other possibilities are:
> > B. All of the above plus FNP protocol changes so that the node can
> > detect its address from the network.
> > 
> > C. Integrate a third party java DNS resolver.
> > http://www.xbill.org/dnsjava/ is LGPL'd so license-compatible. But it
> > appears that it would need to be told the IP address of the local DNS
> > relay server at run time. It has code to autodetect it on Windows and
> > some UNIXen... it might work. It is 16,000 lines in 85 files of third
> > party code to keep up to date... hmm.
> 
> One additional problem: from the README for javadns:
> On some machines, InetAddress.getLocalHost() returns 127.0.0.1.  This is
> usually caused by a bug in the JVM, and often happens when the machine
> has
> a dynamic address and its hostname is not in DNS.  This breaks the
> (mostly
> undocumented) feature that the @me@ variable can be used in the textual
> form
> of an A record to indicate the local address.  If
> InetAddress.getLocalHost()
> doesn't work, dnsjava will print an error and die.  I don't know of a
> way to
> fix this without using JNI.
> 
> 
> On my server, it returns 192.168.1.7 (the server's ethernet IP)...
> I'm not sure that this is the intended behaviour, but at least it won't
> cause the resolver to crash.
> 
> > 
> > D. Use platform specific JNI or call external executables (also
> > platform-specific).
> > 
> > E. Debug Kaffe running Freenet.
> > 
> > F. Port to C++/C/COBOL/Brainfart. This has been discussed at length and
> > is presently impracticable.
> > 
> > I will start work on the first option (A) on monday unless persuaded
> > otherwise. IMHO only A and C are reasonable now, B might be possible
> > after 0.5.1.
> > -- 
> > Matthew Toseland
> > [EMAIL PROTECTED]/[EMAIL PROTECTED]
> > Full time freenet hacker.
> > http://freenetproject.org/
> > Freenet Distribution Node (temporary) at 
> > http://80-192-4-23.cable.ubr09.na.blueyonder.co.uk:8889/SPmjEh6sH3Y/
> > ICTHUS.
> 
> 
> 
> -- 
> Matthew Toseland
> [EMAIL PROTECTED]/[EMAIL PROTECTED]
> Full time freenet hacker.
> http://freenetproject.org/
> Freenet Distribution Node (temporary) at 
> http://80-192-4-23.cable.ubr09.na.blueyonder.co.uk:8889/SPmjEh6sH3Y/
> ICTHUS.



-- 
Matthew Toseland
[EMAIL PROTECTED]/[EMAIL PROTECTED]
Full time freenet hacker.
http://freenetproject.org/
Freenet Distribution Node (temporary) at 
http://80-192-4-23.cable.ubr09.na.blueyonder.co.uk:8889/SPmjEh6sH3Y/
ICTHUS.

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to