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();