Author: toad
Date: 2006-03-26 00:16:14 +0000 (Sun, 26 Mar 2006)
New Revision: 8324
Modified:
trunk/freenet/src/freenet/client/Metadata.java
trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
trunk/freenet/src/freenet/node/Version.java
trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java
trunk/freenet/src/freenet/node/fcp/DirPutFile.java
Log:
576: Fix: subdirs were broken in ClientPutComplexDir.
Modified: trunk/freenet/src/freenet/client/Metadata.java
===================================================================
--- trunk/freenet/src/freenet/client/Metadata.java 2006-03-26 00:00:59 UTC
(rev 8323)
+++ trunk/freenet/src/freenet/client/Metadata.java 2006-03-26 00:16:14 UTC
(rev 8324)
@@ -408,7 +408,7 @@
for(Iterator i = dir.keySet().iterator();i.hasNext();) {
String key = (String) i.next();
if(key.indexOf('/') != -1)
- throw new IllegalArgumentException("Slashes in
simple redirect manifest filenames! (slashes denote sub-manifests)");
+ throw new IllegalArgumentException("Slashes in
simple redirect manifest filenames! (slashes denote sub-manifests): "+key);
count++;
Object o = dir.get(key);
if(o instanceof byte[]) {
Modified: trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
2006-03-26 00:00:59 UTC (rev 8323)
+++ trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
2006-03-26 00:16:14 UTC (rev 8324)
@@ -14,7 +14,6 @@
import freenet.client.Metadata;
import freenet.client.events.SplitfileProgressEvent;
import freenet.keys.BaseClientKey;
-import freenet.keys.ClientKey;
import freenet.keys.FreenetURI;
import freenet.support.Bucket;
import freenet.support.BucketTools;
Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-03-26 00:00:59 UTC (rev
8323)
+++ trunk/freenet/src/freenet/node/Version.java 2006-03-26 00:16:14 UTC (rev
8324)
@@ -20,7 +20,7 @@
public static final String protocolVersion = "1.0";
/** The build number of the current revision */
- private static final int buildNumber = 575;
+ private static final int buildNumber = 576;
/** Oldest build of Fred we will talk to */
private static final int lastGoodBuild = 507;
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java
2006-03-26 00:00:59 UTC (rev 8323)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java
2006-03-26 00:16:14 UTC (rev 8324)
@@ -96,6 +96,10 @@
} else {
throw new
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "Cannot be both a
file and a directory: "+before, identifier);
}
+ } else {
+ o = new HashMap();
+ byName.put(before, o);
+ addFile((HashMap)o, after, f);
}
}
}
Modified: trunk/freenet/src/freenet/node/fcp/DirPutFile.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/DirPutFile.java 2006-03-26 00:00:59 UTC
(rev 8323)
+++ trunk/freenet/src/freenet/node/fcp/DirPutFile.java 2006-03-26 00:16:14 UTC
(rev 8324)
@@ -5,6 +5,7 @@
import freenet.client.async.ManifestElement;
import freenet.support.Bucket;
import freenet.support.BucketFactory;
+import freenet.support.Logger;
import freenet.support.SimpleFieldSet;
/**
@@ -60,7 +61,11 @@
public abstract Bucket getData();
public ManifestElement getElement() {
- return new ManifestElement(name, getData(), getMIMEType(),
getData().size());
+ String n = name;
+ int idx = n.lastIndexOf('/');
+ if(idx != -1) n = n.substring(idx+1);
+ Logger.minor(this, "Element name: "+name+" -> "+n);
+ return new ManifestElement(n, getData(), getMIMEType(),
getData().size());
}
}