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;


Reply via email to