diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 7d4a3fd69..7005c7562 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -263,7 +263,6 @@ Matthew Kuperus Heun Matthew Watson Matthew Yanos Matthias Bhend -Michael Barker Michael Bayne Michael Clarke Michael Davey diff --git a/WHATSNEW b/WHATSNEW index ab6d0cdad..e5bfed371 100644 --- a/WHATSNEW +++ b/WHATSNEW @@ -16,11 +16,6 @@ Fixed bugs: an incorrect compression level for a zip entry. This is now fixed. Bugzilla Report 62686 - * A filesystem "loop" caused due to symbolic links could trigger an - out of memory error in the org.apache.tools.ant.DirectoryScanner - This has now been fixed. - Bugzilla Report 62849 - Other changes: -------------- * generatekey task now supports SubjectAlternativeName during key diff --git a/contributors.xml b/contributors.xml index 88b7a8c1e..a62b1d477 100644 --- a/contributors.xml +++ b/contributors.xml @@ -1073,10 +1073,6 @@ Matthew Yanos - - Michael - Barker - Michael Bayne diff --git a/src/etc/testcases/core/directoryscanner.xml b/src/etc/testcases/core/directoryscanner.xml index 71eb88bf7..7e8683a4a 100644 --- a/src/etc/testcases/core/directoryscanner.xml +++ b/src/etc/testcases/core/directoryscanner.xml @@ -38,9 +38,4 @@ - - - - - diff --git a/src/main/org/apache/tools/ant/DirectoryScanner.java b/src/main/org/apache/tools/ant/DirectoryScanner.java index 15caa4025..a0e7837e4 100644 --- a/src/main/org/apache/tools/ant/DirectoryScanner.java +++ b/src/main/org/apache/tools/ant/DirectoryScanner.java @@ -1258,18 +1258,6 @@ public class DirectoryScanner final String name = vpath + newFile; final TokenizedPath newPath = new TokenizedPath(path, newFile); final File file = new File(dir, newFile); - - try { - // check if it's a filesystem "loop" due to symbolic links - if (FileUtils.getFileUtils().isLeadingPath(file.getAbsoluteFile(), - dir.getAbsoluteFile(), true)) { - continue; - } - } catch (IOException e) { - System.err.println("Failed to determine if " + file + " causes a " + - "filesystem loop due to symbolic link; continuing"); - } - final String[] children = file.list(); if (children == null || (children.length == 0 && file.isFile())) { if (isIncluded(newPath)) { diff --git a/src/main/org/apache/tools/ant/taskdefs/Delete.java b/src/main/org/apache/tools/ant/taskdefs/Delete.java index fdddbbf2d..f887695b1 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Delete.java +++ b/src/main/org/apache/tools/ant/taskdefs/Delete.java @@ -19,7 +19,6 @@ package org.apache.tools.ant.taskdefs; import java.io.File; -import java.io.IOException; import java.util.Arrays; import java.util.Comparator; import java.util.Iterator; @@ -772,19 +771,7 @@ public class Delete extends MatchingTask { } for (String s : list) { File f = new File(d, s); - - boolean isFsLoop = false; - - try { - isFsLoop = SYMLINK_UTILS.isSymbolicLink(f) && - FileUtils.getFileUtils().isLeadingPath(f.getAbsoluteFile(), - d.getAbsoluteFile(), true); - } catch (IOException e) { - log("Failed to check if " + f + " causes a filesystem loop due to " + - "symbolic link; continuing"); - } - - if (f.isDirectory() && !isFsLoop) { + if (f.isDirectory()) { removeDir(f); } else { log("Deleting " + f.getAbsolutePath(), quiet ? Project.MSG_VERBOSE : verbosity); diff --git a/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java b/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java index 2abd94f31..819d4e50e 100644 --- a/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java +++ b/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java @@ -132,20 +132,6 @@ public class DirectoryScannerTest { new String[] {"alpha/beta/gamma"}); } - @Test - public void testAllowRecursiveSymlinks() { - - assumeTrue("Current system does not support Symlinks", supportsSymlinks); - - buildRule.getProject().executeTarget("symlink-nested-setup"); - DirectoryScanner ds = new DirectoryScanner(); - ds.setBasedir(new File(buildRule.getProject().getProperty("output"))); - ds.setIncludes(new String[] {"alpha/beta/gamma/"}); - ds.scan(); - compareFiles(ds, new String[] {"alpha/beta/gamma/gamma.xml"}, - new String[] {"alpha/beta/gamma"}); - } - @Test public void testProhibitSymlinks() { assumeTrue("Current system does not support Symlinks", supportsSymlinks);