Author: toad
Date: 2007-07-13 13:38:13 +0000 (Fri, 13 Jul 2007)
New Revision: 14068

Modified:
   trunk/freenet/src/freenet/node/OpennetManager.java
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/RequestHandler.java
Log:
Fix opennet allow-re-add logic, drop unused variable completedHandshake from 
PeerNode

Modified: trunk/freenet/src/freenet/node/OpennetManager.java
===================================================================
--- trunk/freenet/src/freenet/node/OpennetManager.java  2007-07-13 13:21:16 UTC 
(rev 14067)
+++ trunk/freenet/src/freenet/node/OpennetManager.java  2007-07-13 13:38:13 UTC 
(rev 14068)
@@ -141,8 +141,9 @@
                        return false; // Equal to myself
                }
                PeerNode match;
-               if(((match = node.peers.containsPeer(pn)) != null) && 
(match.isConnected() || 
-                               ((!match.hasCompletedHandshake()) && 
match.timeSinceAddedOrRestarted() < DONT_READD_TIME))) {
+               if(((match = node.peers.containsPeer(pn)) != null) && 
+                               (match.isConnected() || 
(!match.neverConnected()) || 
+                                               
match.timeSinceAddedOrRestarted() < DONT_READD_TIME)) {
                        Logger.error(this, "Not adding "+pn.userToString()+" to 
opennet list as already there");
                        return false;
                }

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2007-07-13 13:21:16 UTC 
(rev 14067)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2007-07-13 13:38:13 UTC 
(rev 14068)
@@ -73,9 +73,6 @@
  */
 public abstract class PeerNode implements PeerContext, USKRetrieverCallback {

-    /** Set to true when we complete a handshake. */
-    private boolean completedHandshake;
-    
     private String lastGoodVersion; 

     /** Set to true based on a relevant incoming handshake from this peer
@@ -945,7 +942,6 @@
                // Force renegotiation.
             isConnected = false;
             isRoutable = false;
-            completedHandshake = false;
             // Prevent sending packets to the node until that happens.
             if(currentTracker != null)
                currentTracker.disconnected();
@@ -1438,7 +1434,6 @@
                KeyTracker oldCur = null;
                KeyTracker prev = null;
        synchronized(this) {
-               completedHandshake = true;
                handshakeCount = 0;
                bogusNoderef = false;
                        isConnected = true;
@@ -2226,10 +2221,6 @@
                lastRoutingBackoffReason = s;
        }

-       public synchronized boolean hasCompletedHandshake() {
-               return completedHandshake;
-       }
-       
        public void addToLocalNodeSentMessagesToStatistic (Message m) {
                String messageSpecName;
                Long count;
@@ -2681,4 +2672,8 @@
        public byte[] getIdentity() {
                return identity;
        }
+
+       public boolean neverConnected() {
+               return neverConnected;
+       }
 }

Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java  2007-07-13 13:21:16 UTC 
(rev 14067)
+++ trunk/freenet/src/freenet/node/RequestHandler.java  2007-07-13 13:38:13 UTC 
(rev 14068)
@@ -184,12 +184,13 @@
                                Message pk = DMT.createFNPSSKPubKey(uid, 
((NodeSSK)rs.getSSKBlock().getKey()).getPubKey());
                                source.sendSync(pk, this);
                         }
+                               return;
                        } else {
                                if(!rs.transferStarted()) {
                                        Logger.error(this, "Status is SUCCESS 
but we never started a transfer on "+uid);
                                }
+                               // Wait for transfer to start
                        }
-                       return;
                case RequestSender.VERIFY_FAILURE:
                        if(key instanceof NodeCHK) {
                                if(shouldHaveStartedTransfer)


Reply via email to