Author: bobsan
Date: 2006-03-02 17:16:14 +0000 (Thu, 02 Mar 2006)
New Revision: 8140
Modified:
trunk/freenet/src/freenet/node/TextModeClientInterface.java
Log:
Updates for handling dangling symlinks in PUTDIR
Modified: trunk/freenet/src/freenet/node/TextModeClientInterface.java
===================================================================
--- trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-03-02
16:27:51 UTC (rev 8139)
+++ trunk/freenet/src/freenet/node/TextModeClientInterface.java 2006-03-02
17:16:14 UTC (rev 8140)
@@ -557,7 +557,10 @@
if(filelist == null)
throw new IllegalArgumentException("No such directory");
for(int i = 0 ; i < filelist.length ; i++) {
- if (filelist[i].isFile() && filelist[i].canRead()) {
+ // Skip unreadable files and dirs
+ // Skip files nonexistant (dangling symlinks) - check last
+ if (filelist[i].canRead() && filelist[i].exists()) {
+ if (filelist[i].isFile()) {
File f = filelist[i];
FileBucket bucket = new FileBucket(f, true, false,
false);
@@ -572,6 +575,7 @@
ret.put(filelist[i].getName() + "/" + key,
bucket);
}
}
+ }
}
return ret;
}