Author: toad
Date: 2008-02-23 15:58:02 +0000 (Sat, 23 Feb 2008)
New Revision: 18128

Modified:
   trunk/freenet/src/freenet/node/CHKInsertHandler.java
   trunk/freenet/src/freenet/node/RequestHandler.java
   trunk/freenet/src/freenet/node/SSKInsertHandler.java
Log:
If an incoming request has HTL <= 0, reset it to 1.
Thus we will always try to route to one node.
Combined with the previous two commits, we will always try to route to one 
node, but we will kill the request when we reach HTL 0 i.e. when we've tried 
one.

Modified: trunk/freenet/src/freenet/node/CHKInsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertHandler.java        2008-02-23 
15:55:18 UTC (rev 18127)
+++ trunk/freenet/src/freenet/node/CHKInsertHandler.java        2008-02-23 
15:58:02 UTC (rev 18128)
@@ -55,6 +55,7 @@
         this.startTime = startTime;
         key = (NodeCHK) req.getObject(DMT.FREENET_ROUTING_KEY);
         htl = req.getShort(DMT.HTL);
+        if(htl <= 0) htl = 1;
         double targetLoc = key.toNormalizedDouble();
         double myLoc = node.lm.getLocation();
         logMINOR = Logger.shouldLog(Logger.MINOR, this);

Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java  2008-02-23 15:55:18 UTC 
(rev 18127)
+++ trunk/freenet/src/freenet/node/RequestHandler.java  2008-02-23 15:58:02 UTC 
(rev 18128)
@@ -59,6 +59,7 @@
         uid = id;
         this.source = source;
         this.htl = htl;
+        if(htl <= 0) htl = 1;
         this.key = key;
         if(key instanceof NodeSSK)
                needsPubKey = m.getBoolean(DMT.NEED_PUB_KEY);

Modified: trunk/freenet/src/freenet/node/SSKInsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/SSKInsertHandler.java        2008-02-23 
15:55:18 UTC (rev 18127)
+++ trunk/freenet/src/freenet/node/SSKInsertHandler.java        2008-02-23 
15:58:02 UTC (rev 18128)
@@ -52,6 +52,7 @@
         this.startTime = startTime;
         key = (NodeSSK) req.getObject(DMT.FREENET_ROUTING_KEY);
         htl = req.getShort(DMT.HTL);
+        if(htl <= 0) htl = 1;
         byte[] pubKeyHash = 
((ShortBuffer)req.getObject(DMT.PUBKEY_HASH)).getData();
         pubKey = node.getKey(pubKeyHash);
         data = ((ShortBuffer) req.getObject(DMT.DATA)).getData();


Reply via email to