提交 80f88d76 编写于 作者: O Oleg Nenashev

Merge pull request #1731 from ikedam/feature/JENKINS-28192_ResolveSymlinkOnWindows

[JENKINS-28192] SecretRewriter.rewriteRecursive fails to resolve symbolic links on Windows
......@@ -13,6 +13,7 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.nio.file.LinkOption;
import java.security.GeneralSecurityException;
import java.security.InvalidKeyException;
import java.util.HashSet;
......@@ -145,7 +146,7 @@ public class SecretRewriter {
private int rewriteRecursive(File dir, String relative, TaskListener listener) throws InvalidKeyException {
String canonical;
try {
canonical = dir.getCanonicalPath();
canonical = dir.toPath().toRealPath(new LinkOption[0]).toString();
} catch (IOException e) {
canonical = dir.getAbsolutePath(); //
}
......
......@@ -38,6 +38,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.net.URI;
import java.nio.file.LinkOption;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
......@@ -297,8 +298,8 @@ public abstract class VirtualFile implements Comparable<VirtualFile>, Serializab
}
private boolean isIllegalSymlink() { // TODO JENKINS-26838
try {
String myPath = f.getCanonicalPath();
String rootPath = root.getCanonicalPath();
String myPath = f.toPath().toRealPath(new LinkOption[0]).toString();
String rootPath = root.toPath().toRealPath(new LinkOption[0]).toString();
if (!myPath.equals(rootPath) && !myPath.startsWith(rootPath + File.separatorChar)) {
return true;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册