Author: toad
Date: 2008-09-18 18:53:17 +0000 (Thu, 18 Sep 2008)
New Revision: 22692
Modified:
trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java
trunk/freenet/src/freenet/node/NodeIPDetector.java
Log:
Really fix the NPE on startup bug.
Possibly also fix a bug relating to override dyndns addresses.
Modified: trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java 2008-09-18
16:15:25 UTC (rev 22691)
+++ trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java 2008-09-18
18:53:17 UTC (rev 22692)
@@ -374,4 +374,8 @@
return new FreenetInetAddress(getAddress());
} else return this;
}
+
+ public boolean hasHostnameNoIP() {
+ return hostname != null && hostname.length() > 0 && _address ==
null;
+ }
}
Modified: trunk/freenet/src/freenet/node/NodeIPDetector.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeIPDetector.java 2008-09-18 16:15:25 UTC
(rev 22691)
+++ trunk/freenet/src/freenet/node/NodeIPDetector.java 2008-09-18 18:53:17 UTC
(rev 22692)
@@ -133,9 +133,11 @@
if(dumpLocalAddresses) {
ArrayList filtered = new
ArrayList(lastIPAddress.length);
for(int i=0;i<lastIPAddress.length;i++) {
- if(lastIPAddress[i] == null) continue;
-
if(IPUtil.isValidAddress(lastIPAddress[i].getAddress(), false))
+ if(lastIPAddress[i].hasHostnameNoIP()) {
filtered.add(lastIPAddress[i]);
+ } else if(lastIPAddress[i] == null) continue;
+ else
if(IPUtil.isValidAddress(lastIPAddress[i].getAddress(), false))
+ filtered.add(lastIPAddress[i]);
}
return (FreenetInetAddress[]) filtered.toArray(new
FreenetInetAddress[filtered.size()]);
}