Repository: ant Updated Branches: refs/heads/1.9.x 506c3ab47 -> 8cc8feebb
Revert "bz-62849 Check for filesystem loops due to symbolic links, in DirectoryScanner and Delete task" since it causes a regression that's exposed by the dirscanner-symlinks-test.xml antunit testcase This reverts commit 05bfffa247c470d12a5b93326a05d3fd0d890ce0 and 506c3ab47a1d69ecff691cc535ae8368d0aeb1db. Project: http://git-wip-us.apache.org/repos/asf/ant/repo Commit: http://git-wip-us.apache.org/repos/asf/ant/commit/8cc8feeb Tree: http://git-wip-us.apache.org/repos/asf/ant/tree/8cc8feeb Diff: http://git-wip-us.apache.org/repos/asf/ant/diff/8cc8feeb Branch: refs/heads/1.9.x Commit: 8cc8feebb0581bbcce5d745c8283c231db715d5a Parents: 506c3ab Author: Jaikiran Pai <jaiki...@apache.org> Authored: Sun Nov 4 09:51:55 2018 +0530 Committer: Jaikiran Pai <jaiki...@apache.org> Committed: Sun Nov 4 09:59:47 2018 +0530 ---------------------------------------------------------------------- CONTRIBUTORS | 1 - WHATSNEW | 5 ----- contributors.xml | 4 ---- src/etc/testcases/core/directoryscanner.xml | 5 ----- src/main/org/apache/tools/ant/DirectoryScanner.java | 12 ------------ src/main/org/apache/tools/ant/taskdefs/Delete.java | 15 +-------------- .../org/apache/tools/ant/DirectoryScannerTest.java | 14 -------------- 7 files changed, 1 insertion(+), 55 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ant/blob/8cc8feeb/CONTRIBUTORS ---------------------------------------------------------------------- diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 7d4a3fd..7005c75 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 http://git-wip-us.apache.org/repos/asf/ant/blob/8cc8feeb/WHATSNEW ---------------------------------------------------------------------- diff --git a/WHATSNEW b/WHATSNEW index ab6d0cd..e5bfed3 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 http://git-wip-us.apache.org/repos/asf/ant/blob/8cc8feeb/contributors.xml ---------------------------------------------------------------------- diff --git a/contributors.xml b/contributors.xml index 88b7a8c..a62b1d4 100644 --- a/contributors.xml +++ b/contributors.xml @@ -1075,10 +1075,6 @@ </name> <name> <first>Michael</first> - <last>Barker</last> - </name> - <name> - <first>Michael</first> <last>Bayne</last> </name> <name> http://git-wip-us.apache.org/repos/asf/ant/blob/8cc8feeb/src/etc/testcases/core/directoryscanner.xml ---------------------------------------------------------------------- diff --git a/src/etc/testcases/core/directoryscanner.xml b/src/etc/testcases/core/directoryscanner.xml index 71eb88b..7e8683a 100644 --- a/src/etc/testcases/core/directoryscanner.xml +++ b/src/etc/testcases/core/directoryscanner.xml @@ -38,9 +38,4 @@ <touch file="${output}/alpha/beta/gamma/gamma.xml"/> </target> - <target name="symlink-nested-setup" depends="setUp"> - <symlink link="${output}/alpha/beta/gamma/beta-link" resource="${output}/alpha/beta"/> - <touch file="${output}/alpha/beta/gamma/gamma.xml"/> - </target> - </project> http://git-wip-us.apache.org/repos/asf/ant/blob/8cc8feeb/src/main/org/apache/tools/ant/DirectoryScanner.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/DirectoryScanner.java b/src/main/org/apache/tools/ant/DirectoryScanner.java index 15caa40..a0e7837 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)) { http://git-wip-us.apache.org/repos/asf/ant/blob/8cc8feeb/src/main/org/apache/tools/ant/taskdefs/Delete.java ---------------------------------------------------------------------- diff --git a/src/main/org/apache/tools/ant/taskdefs/Delete.java b/src/main/org/apache/tools/ant/taskdefs/Delete.java index fdddbbf..f887695 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); http://git-wip-us.apache.org/repos/asf/ant/blob/8cc8feeb/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java ---------------------------------------------------------------------- diff --git a/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java b/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java index 2abd94f..819d4e5 100644 --- a/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java +++ b/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java @@ -133,20 +133,6 @@ public class DirectoryScannerTest { } @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);