Author: toad
Date: 2006-03-04 17:00:02 +0000 (Sat, 04 Mar 2006)
New Revision: 8157

Modified:
   trunk/freenet/src/freenet/node/Version.java
   trunk/freenet/src/freenet/node/fcp/ClientPut.java
Log:
491:
Fixes relating to finished persistent inserts.

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-03-04 16:49:51 UTC (rev 
8156)
+++ trunk/freenet/src/freenet/node/Version.java 2006-03-04 17:00:02 UTC (rev 
8157)
@@ -20,7 +20,7 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 490;
+       private static final int buildNumber = 491;

        /** Oldest build of Fred we will talk to */
        private static final int lastGoodBuild = 475;

Modified: trunk/freenet/src/freenet/node/fcp/ClientPut.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPut.java   2006-03-04 16:49:51 UTC 
(rev 8156)
+++ trunk/freenet/src/freenet/node/fcp/ClientPut.java   2006-03-04 17:00:02 UTC 
(rev 8157)
@@ -122,28 +122,29 @@
                int maxRetries = Integer.parseInt(fs.get("MaxRetries"));
                clientToken = fs.get("ClientToken");
                fromDisk = Fields.stringToBool(fs.get("FromDisk"), false);
+               finished = Fields.stringToBool(fs.get("Finished"), false);
+               //finished = false;
+               succeeded = Fields.stringToBool(fs.get("Succeeded"), false);
                Bucket data;
                if(fromDisk) {
                        origFilename = new File(fs.get("Filename"));
                        data = new FileBucket(origFilename, true, false, false, 
false);
                } else {
                        origFilename = null;
-                       byte[] key = 
HexUtil.hexToBytes(fs.get("TempBucket.DecryptKey"));
-                       String fnam = fs.get("TempBucket.Filename");
-                       long sz = Long.parseLong(fs.get("TempBucket.Size"));
-                       data = 
client.server.node.persistentTempBucketFactory.registerEncryptedBucket(fnam, 
key, sz);
-                       if(data.size() != sz)
-                               throw new PersistenceParseException("Size of 
bucket is wrong: "+data.size()+" should be "+sz);
+                       if(!succeeded) {
+                               byte[] key = 
HexUtil.hexToBytes(fs.get("TempBucket.DecryptKey"));
+                               String fnam = fs.get("TempBucket.Filename");
+                               long sz = 
Long.parseLong(fs.get("TempBucket.Size"));
+                               data = 
client.server.node.persistentTempBucketFactory.registerEncryptedBucket(fnam, 
key, sz);
+                               if(data.size() != sz)
+                                       throw new 
PersistenceParseException("Size of bucket is wrong: "+data.size()+" should be 
"+sz);
+                       } else data = null;
                }
                ctx = new InserterContext(client.defaultInsertContext, new 
SimpleEventProducer());
                ctx.dontCompress = dontCompress;
                ctx.eventProducer.addEventListener(this);
                ctx.maxInsertRetries = maxRetries;
                block = new InsertBlock(data, new ClientMetadata(mimeType), 
uri);
-               // FIXME uncomment after testing
-               finished = Fields.stringToBool(fs.get("Finished"), false);
-               //finished = false;
-               succeeded = Fields.stringToBool(fs.get("Succeeded"), false);
                String genURI = fs.get("GeneratedURI");
                if(genURI != null)
                        generatedURI = new FreenetURI(genURI);


Reply via email to