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;
        }


Reply via email to