[freenet-cvs] r11626 - in trunk/freenet/src/freenet: keys store

toad at freenetproject.org toad at freenetproject.org
Sat Jan 27 18:27:04 UTC 2007


Author: toad
Date: 2007-01-27 18:27:03 +0000 (Sat, 27 Jan 2007)
New Revision: 11626

Modified:
   trunk/freenet/src/freenet/keys/CHKBlock.java
   trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
Log:
Maybe fix store reconstruction bug

Modified: trunk/freenet/src/freenet/keys/CHKBlock.java
===================================================================
--- trunk/freenet/src/freenet/keys/CHKBlock.java	2007-01-27 17:31:14 UTC (rev 11625)
+++ trunk/freenet/src/freenet/keys/CHKBlock.java	2007-01-27 18:27:03 UTC (rev 11626)
@@ -43,6 +43,15 @@
         return data;
     }
     
+    public static CHKBlock construct(byte[] data, byte[] header) throws CHKVerifyException {
+    	try {
+    		return new CHKBlock(data, header, null, true, Key.ALGO_AES_PCFB_256_SHA256);
+    	} catch (CHKVerifyException e) {
+    		// FIXME remove back compatibility code
+    		return new CHKBlock(data, header, null, true, Key.ALGO_INSECURE_AES_PCFB_256_SHA256);
+    	}
+    }
+    
     public CHKBlock(byte[] data2, byte[] header2, NodeCHK key) throws CHKVerifyException {
     	this(data2, header2, key, key.cryptoAlgorithm);
     }

Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java	2007-01-27 17:31:14 UTC (rev 11625)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java	2007-01-27 18:27:03 UTC (rev 11626)
@@ -32,6 +32,7 @@
 import freenet.crypt.RandomSource;
 import freenet.keys.CHKBlock;
 import freenet.keys.CHKVerifyException;
+import freenet.keys.Key;
 import freenet.keys.KeyBlock;
 import freenet.keys.NodeCHK;
 import freenet.keys.NodeSSK;
@@ -1078,7 +1079,7 @@
 					byte[] routingkey = null;
 					if(type == TYPE_CHK) {
 						try {
-							CHKBlock chk = new CHKBlock(data, header, null);
+							CHKBlock chk = CHKBlock.construct(data, header);
 							routingkey = chk.getKey().getRoutingKey();
 						} catch (CHKVerifyException e) {
 							String err = "Bogus key at slot "+l+" : "+e+" - lost block "+l;




More information about the cvs mailing list