* path.cc (symlink_info::check): Don't try to handle remote reparse

points as symlinks.  Explain why.
This commit is contained in:
Corinna Vinschen 2010-05-26 14:24:47 +00:00
parent 16f52c1461
commit 1ee8d76ca0
2 changed files with 13 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2010-05-26 Corinna Vinschen <corinna@vinschen.de>
* path.cc (symlink_info::check): Don't try to handle remote reparse
points as symlinks. Explain why.
2010-05-26 Corinna Vinschen <corinna@vinschen.de>
* include/inttypes.h: Change PTR definitions to int to align with the

View File

@ -2503,8 +2503,14 @@ restart:
performed before checking the SYSTEM attribute for sysfile
symlinks, since reparse points can have this flag set, too.
For instance, Vista starts to create a couple of reparse points
with SYSTEM and HIDDEN flags set. */
else if (fileattr & FILE_ATTRIBUTE_REPARSE_POINT)
with SYSTEM and HIDDEN flags set.
Also don't check reparse points on remote filesystems.
A reparse point pointing to another file on the remote system will be
mistreated as pointing to a local file on the local system. This
breaks the way reparse points are transparently handled on remote
systems. */
else if ((fileattr & FILE_ATTRIBUTE_REPARSE_POINT)
&& !fs.is_remote_drive())
{
res = check_reparse_point (h);
if (res == -1)