Re: [Boost-bugs] [Boost C++ Libraries] #10900: read_symlink fails to correctly read NTFS junctions

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #10900: read_symlink fails to correctly read NTFS junctions
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-01-07 21:03:25


#10900: read_symlink fails to correctly read NTFS junctions
-------------------------------------------------+------------------------
  Reporter: Benjamin Kummer-Hardt <benjamin@…> | Owner: bemandawes
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: filesystem
   Version: Boost 1.57.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------------------------+------------------------

Comment (by anonymous):

 There are multiple types of reparse points other than symlinks and
 junctions - the types supported (IO_REPARSE_TAG_MOUNT_POINT and
 IO_REPARSE_TAG_SYMLINK) must both be explicitly detected in order to
 reject anything else.

 Other issues:
 1. read_symlink extracts the reparse point's PrintName, which isn't
 guaranteed to be valid - according to http://msdn.microsoft.com/en-
 us/library/cc232006.aspx, "the print name SHOULD be an informative
 pathname, suitable for display to a user, that also identifies the target
 of the symbolic link", but it's not guaranteed to be the actual target
 (most notably, with junctions created using the Sysinternals junction.exe
 tool, the PrintName is completely empty). It should probably be extracting
 the SubstituteName instead, though that would likely require stripping off
 the leading "\??\" to yield a properly usable pathname (unless it's a
 device ID, in which case all bets are off).
 2. If Junction support is added, it should not be restricted to Windows
 Vista and later, since directory junctions were introduced back in Windows
 2000.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10900#comment:1>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC