summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaikiran Pai <jaikiran@apache.org>2018-11-04 09:51:55 +0530
committerJaikiran Pai <jaikiran@apache.org>2018-11-04 09:59:47 +0530
commit8cc8feebb0581bbcce5d745c8283c231db715d5a (patch)
tree72cc17513e23efef2812543b62144a690514d3ad
parent506c3ab47a1d69ecff691cc535ae8368d0aeb1db (diff)
downloadant-8cc8feebb0581bbcce5d745c8283c231db715d5a.tar.gz
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.
-rw-r--r--CONTRIBUTORS1
-rw-r--r--WHATSNEW5
-rw-r--r--contributors.xml4
-rw-r--r--src/etc/testcases/core/directoryscanner.xml5
-rw-r--r--src/main/org/apache/tools/ant/DirectoryScanner.java12
-rw-r--r--src/main/org/apache/tools/ant/taskdefs/Delete.java15
-rw-r--r--src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java14
7 files changed, 1 insertions, 55 deletions
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
@@ -1075,10 +1075,6 @@
</name>
<name>
<first>Michael</first>
- <last>Barker</last>
- </name>
- <name>
- <first>Michael</first>
<last>Bayne</last>
</name>
<name>
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 @@
<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>
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
@@ -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);