* path.cc (symlink_info::check): Don't try to handle remote reparse
points as symlinks. Explain why.
This commit is contained in:
parent
16f52c1461
commit
1ee8d76ca0
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue