Author: toad
Date: 2008-03-29 16:50:49 +0000 (Sat, 29 Mar 2008)
New Revision: 18840
Modified:
trunk/freenet/src/freenet/node/NodeClientCore.java
Log:
Fix bogus SSK collisions when the old and the new data are identical.
This affected freemail, probably ARKs too.
Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java 2008-03-29 16:42:59 UTC
(rev 18839)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java 2008-03-29 16:50:49 UTC
(rev 18840)
@@ -866,7 +866,7 @@
try {
long startTime = System.currentTimeMillis();
SSKBlock altBlock = (SSKBlock) node.fetch(block.getKey(),
false);
- if(altBlock != null) throw new
LowLevelPutException(LowLevelPutException.COLLISION);
+ if(altBlock != null && !altBlock.equals(block)) throw new
LowLevelPutException(LowLevelPutException.COLLISION);
is = node.makeInsertSender(block,
node.maxHTL(), uid, null, false, cache);
boolean hasReceivedRejectedOverload = false;