Author: toad
Date: 2009-01-22 13:57:24 +0000 (Thu, 22 Jan 2009)
New Revision: 25207
Modified:
trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java
trunk/freenet/src/freenet/io/comm/Peer.java
trunk/freenet/src/freenet/node/SeedServerPeerNode.java
Log:
Fix serious bug causing announcement failures!
Modified: trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java 2009-01-22
09:37:32 UTC (rev 25206)
+++ trunk/freenet/src/freenet/io/comm/FreenetInetAddress.java 2009-01-22
13:57:24 UTC (rev 25207)
@@ -370,8 +370,10 @@
}
public FreenetInetAddress dropHostname() {
- if(_address == null)
- throw new IllegalStateException("Can't dropHostname()
if no address!");
+ if(_address == null) {
+ Logger.error(this, "Can't dropHostname() if no
address!");
+ return null;
+ }
if(hostname != null) {
return new FreenetInetAddress(_address);
} else return this;
Modified: trunk/freenet/src/freenet/io/comm/Peer.java
===================================================================
--- trunk/freenet/src/freenet/io/comm/Peer.java 2009-01-22 09:37:32 UTC (rev
25206)
+++ trunk/freenet/src/freenet/io/comm/Peer.java 2009-01-22 13:57:24 UTC (rev
25207)
@@ -251,6 +251,7 @@
public Peer dropHostName() {
FreenetInetAddress newAddr = addr.dropHostname();
+ if(newAddr == null) return null;
if(addr != newAddr) {
return new Peer(newAddr, _port);
} else return this;
Modified: trunk/freenet/src/freenet/node/SeedServerPeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/SeedServerPeerNode.java 2009-01-22
09:37:32 UTC (rev 25206)
+++ trunk/freenet/src/freenet/node/SeedServerPeerNode.java 2009-01-22
13:57:24 UTC (rev 25207)
@@ -6,6 +6,7 @@
import java.net.InetAddress;
import java.util.ArrayList;
+import freenet.io.comm.FreenetInetAddress;
import freenet.io.comm.Peer;
import freenet.io.comm.PeerParseException;
import freenet.io.comm.ReferenceSignatureVerificationException;
@@ -93,10 +94,15 @@
Peer[] peers = getHandshakeIPs();
ArrayList<InetAddress> v = new ArrayList<InetAddress>();
for(int i=0;i<peers.length;i++) {
- InetAddress ia =
peers[i].getFreenetAddress().dropHostname().getAddress();
+ FreenetInetAddress fa =
peers[i].getFreenetAddress().dropHostname();
+ if(fa == null) continue;
+ InetAddress ia = fa.getAddress();
if(v.contains(ia)) continue;
v.add(ia);
}
+ if(v.isEmpty()) {
+ Logger.error(this, "No valid addresses for seed node
"+this);
+ }
return v.toArray(new InetAddress[v.size()]);
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs