Author: toad
Date: 2008-03-13 13:38:46 +0000 (Thu, 13 Mar 2008)
New Revision: 18505

Modified:
   trunk/freenet/src/freenet/node/PeerNode.java
   trunk/freenet/src/freenet/node/simulator/RealNodeULPRTest.java
Log:
Check for unverified tracker key == previous tracker key, same with cur and 
prev.

Modified: trunk/freenet/src/freenet/node/PeerNode.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerNode.java        2008-03-13 13:02:14 UTC 
(rev 18504)
+++ trunk/freenet/src/freenet/node/PeerNode.java        2008-03-13 13:38:46 UTC 
(rev 18505)
@@ -1856,6 +1856,13 @@
                        isRekeying = false;
                        timeLastRekeyed = now;
                        totalBytesExchangedWithCurrentTracker = 0;
+                       // This has happened in the past, and caused problems, 
check for it.
+                       if(currentTracker != null && previousTracker != null && 
+                                       
Arrays.equals(currentTracker.sessionKey, previousTracker.sessionKey))
+                               Logger.error(this, "currentTracker key equals 
previousTracker key: cur "+currentTracker+" prev "+previousTracker);
+                       if(previousTracker != null && unverifiedTracker != null 
&& 
+                                       
Arrays.equals(previousTracker.sessionKey, unverifiedTracker.sessionKey))
+                               Logger.error(this, "previousTracker key equals 
unverifiedTracker key: prev "+previousTracker+" unv "+unverifiedTracker);
                }

                if(bootIDChanged) {

Modified: trunk/freenet/src/freenet/node/simulator/RealNodeULPRTest.java
===================================================================
--- trunk/freenet/src/freenet/node/simulator/RealNodeULPRTest.java      
2008-03-13 13:02:14 UTC (rev 18504)
+++ trunk/freenet/src/freenet/node/simulator/RealNodeULPRTest.java      
2008-03-13 13:38:46 UTC (rev 18505)
@@ -56,7 +56,9 @@
        static final int EXIT_TEST_FAILED = EXIT_BASE + 4;

     static final int NUMBER_OF_NODES = 10;
-    static final short MAX_HTL = 10; // for now
+    // We don't explicitly subscribe, so each node must be routed through.
+    // However, per-node failure tables should ensure the node doesn't make 
the same mistake twice so visits every node.
+    static final short MAX_HTL = 10;
     //static final int NUMBER_OF_NODES = 50;
     //static final short MAX_HTL = 10;
     static final int NUMBER_OF_TESTS = 100;
@@ -79,7 +81,7 @@

         //NOTE: globalTestInit returns in ignored random source
         //NodeStarter.globalTestInit(testName, false, Logger.ERROR, 
"freenet.node.Location:normal,freenet.node.simulator.RealNodeRoutingTest:normal,freenet.node.NodeDispatcher:NORMAL"
 
/*,freenet.node.FailureTable:MINOR,freenet.node.Node:MINOR,freenet.node.Request:MINOR,freenet.io.comm.MessageCore:MINOR"
 
"freenet.store:minor,freenet.node.LocationManager:debug,freenet.node.FNPPacketManager:normal,freenet.io.comm.MessageCore:debug"*/);
-        NodeStarter.globalTestInit(testName, false, Logger.ERROR, 
"freenet.node.Location:normal,freenet.node.simulator.RealNodeRoutingTest:normal,freenet.node.NodeDispatcher:NORMAL,freenet.node.FailureTable:MINOR,freenet.node.Node:MINOR,freenet.node.Request:MINOR,freenet.io.comm.MessageCore:MINOR,freenet.node.PeerNode:MINOR,freenet.io.xfer.PacketThrottle:MINOR");
+        NodeStarter.globalTestInit(testName, false, Logger.ERROR, 
"freenet.node.Location:normal,freenet.node.simulator.RealNodeRoutingTest:normal,freenet.node.NodeDispatcher:NORMAL,freenet.node.FailureTable:MINOR,freenet.node.Node:MINOR,freenet.node.Request:MINOR,freenet.io.comm.MessageCore:MINOR,freenet.node.PeerNode:MINOR,freenet.io.xfer.PacketThrottle:MINOR,freenet.node.PeerManager:MINOR");
         Node[] nodes = new Node[NUMBER_OF_NODES];
         Logger.normal(RealNodeRoutingTest.class, "Creating nodes...");
         Executor executor = new PooledExecutor();


Reply via email to