This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
[newlib-cygwin] Revert "Add release message for commit 973f766f6"
- From: Corinna Vinschen <corinna at sourceware dot org>
- To: cygwin-cvs at sourceware dot org
- Date: 14 Mar 2017 16:00:50 -0000
- Subject: [newlib-cygwin] Revert "Add release message for commit 973f766f6"
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=73d3f9cf20dbec664f350b8dd0544207472643bc
commit 73d3f9cf20dbec664f350b8dd0544207472643bc
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Tue Mar 14 16:52:20 2017 +0100
Revert "Add release message for commit 973f766f6"
This reverts commit 125852d77b65fe2155d0d5fa97e53fc9e2b29984.
Accidentally commited too much.
Diff:
---
winsup/cygwin/path.cc | 15 ++++++++++++---
winsup/cygwin/release/2.8.0 | 3 ---
2 files changed, 12 insertions(+), 6 deletions(-)
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index b9763c8..16de025 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -2302,13 +2302,22 @@ symlink_info::check_reparse_point (HANDLE h, bool remote)
rp->SymbolicLinkReparseBuffer.SubstituteNameLength);
else if (!remote && rp->ReparseTag == IO_REPARSE_TAG_MOUNT_POINT)
{
- /* Don't treat junctions as symlink. The return value of -1 is a hint
- for the caller to treat this as a volume mount point. */
+ /* Don't handle junctions on remote filesystems as symlinks. This type
+ of reparse point is handled transparently by the OS so that the
+ target of the junction is the remote directory it is supposed to
+ point to. If we handle it as symlink, it will be mistreated as
+ pointing to a dir on the local system. */
RtlInitCountedUnicodeString (&subst,
(WCHAR *)((char *)rp->MountPointReparseBuffer.PathBuffer
+ rp->MountPointReparseBuffer.SubstituteNameOffset),
rp->MountPointReparseBuffer.SubstituteNameLength);
- return RtlEqualUnicodePathPrefix (&subst, &ro_u_volume, TRUE) ? -1 : 0;
+ if (RtlEqualUnicodePathPrefix (&subst, &ro_u_volume, TRUE))
+ {
+ /* Volume mount point. Not treated as symlink. The return
+ value of -1 is a hint for the caller to treat this as a
+ volume mount point. */
+ return -1;
+ }
}
else
{
diff --git a/winsup/cygwin/release/2.8.0 b/winsup/cygwin/release/2.8.0
index 2ccbcf1..9e6c482 100644
--- a/winsup/cygwin/release/2.8.0
+++ b/winsup/cygwin/release/2.8.0
@@ -30,6 +30,3 @@ Bug Fixes
- Workaround Windows NUL having the same problem for writes > 4 GB.
Addresses: https://cygwin.com/ml/cygwin/2017-03/msg00144.html
-
-- Fix a potential crash in duplocale.
- Addresses: https://sourceware.org/ml/newlib/2017/msg00166.html