Author: toad
Date: 2007-07-04 22:59:32 +0000 (Wed, 04 Jul 2007)
New Revision: 13934

Modified:
   trunk/freenet/src/freenet/node/FNPPacketMangler.java
Log:
Fix a connectivity bug (we were looping the first connectedPeers.length of 
myPeers!).
Debugging opennet failure to connect.

Modified: trunk/freenet/src/freenet/node/FNPPacketMangler.java
===================================================================
--- trunk/freenet/src/freenet/node/FNPPacketMangler.java        2007-07-04 
22:25:01 UTC (rev 13933)
+++ trunk/freenet/src/freenet/node/FNPPacketMangler.java        2007-07-04 
22:59:32 UTC (rev 13934)
@@ -113,6 +113,10 @@
          * occasionally change their IP addresses).
          */
         PeerNode opn = node.peers.getByPeer(peer);
+        if(opn.getOutgoingMangler() != this) {
+               Logger.error(this, "Apparently contacted by "+opn+") on "+this);
+               opn = null;
+        }
         PeerNode pn;

         if(opn != null) {
@@ -129,9 +133,10 @@
                 if(tryProcessAuth(buf, offset, length, opn, peer)) return;
             }
         }
+        PeerNode[] peers = crypto.getPeerNodes();
         if(length > HASH_LENGTH + RANDOM_BYTES_LENGTH + 4 + 6) {
-            for(int i=0;i<node.peers.connectedPeers.length;i++) {
-                pn = node.peers.myPeers[i];
+            for(int i=0;i<peers.length;i++) {
+                pn = peers[i];
                 if(pn == opn) continue;
                 if(tryProcess(buf, offset, length, pn.getCurrentKeyTracker())) 
{
                     // IP address change
@@ -151,8 +156,8 @@
             }
         }
         if(length > Node.SYMMETRIC_KEY_LENGTH /* iv */ + HASH_LENGTH + 2) {
-            for(int i=0;i<node.peers.myPeers.length;i++) {
-                pn = node.peers.myPeers[i];
+            for(int i=0;i<peers.length;i++) {
+                pn = peers[i];
                 if(pn == opn) continue;
                 if(tryProcessAuth(buf, offset, length, pn, peer)) return;
             }


Reply via email to