Author: dbkr
Date: 2006-02-27 23:25:20 +0000 (Mon, 27 Feb 2006)
New Revision: 8137

Modified:
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/Version.java
Log:
478: Fixes that could prevent nodes from being able to connect to each other. 
Null pointer checks and off-by-one in PeerNode.getHandshakeIPs.


Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2006-02-25 16:57:56 UTC 
(rev 8136)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2006-02-27 23:25:20 UTC 
(rev 8137)
@@ -324,17 +324,17 @@
                p= new Peer[1+nominalPeer.size()];
                p[0]=detectedPeer;
                for(int i=1;i<nominalPeer.size()+1;i++)
-                       p[i]=(Peer) nominalPeer.get(i);
+                       p[i]=(Peer) nominalPeer.get(i-1);
        }else{
                p = (Peer[]) nominalPeer.toArray(new Peer[nominalPeer.size()]); 
                
        }
        // Hack for two nodes on the same IP that can't talk over inet for 
routing reasons
        InetAddress localhost = node.localhostAddress;
        InetAddress nodeIP = node.getPrimaryIPAddress();
-       if(nodeIP.equals(localhost)) return p;
+       if(nodeIP != null && nodeIP.equals(localhost)) return p;
        InetAddress peerIP = detectedPeer.getAddress();
        if(peerIP.equals(localhost)) return p;
-       if(nodeIP.equals(peerIP)) {
+       if(nodeIP != null && nodeIP.equals(peerIP)) {
                Peer[] newPeers = new Peer[p.length+1];
                System.arraycopy(p, 0, newPeers, 0, p.length);
                newPeers[newPeers.length-1] = new Peer(node.localhostAddress, 
detectedPeer.getPort());

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-02-25 16:57:56 UTC (rev 
8136)
+++ trunk/freenet/src/freenet/node/Version.java 2006-02-27 23:25:20 UTC (rev 
8137)
@@ -20,7 +20,7 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 477;
+       private static final int buildNumber = 478;

        /** Oldest build of Fred we will talk to */
        private static final int lastGoodBuild = 475;


Reply via email to