Igor Pechtchanski wrote: > > On Thu, 3 Jun 2004, Pierre A. Humblet wrote: > > > David Fritz wrote: > > > > [snip] > > > Also, from the patch: > > > > > > /* COM and LPT must be followed by a single digit */ > > > > > > The code in src/winsup/cygwin/devices.cc would seem to indicate that > > > the number is not limited to a single digit. > > > > From my tests that's the behavior on 9x, so it's appropriate code for > > managed mounts. > > > > Today on the list Igor indicated that PRN would soon regain its old > > behavior. My patch was more modest, just forbid using PRN (and creating > > a hard to delete file). > > > > Do we want to do what Igor suggested, although it's not Posix? > > Pierre > > Well, if you intend to forbid the use of PRN, NUL, LPT*, COM*, etc, you > should probably modify the User's Guide section on DOS devices > <http://cygwin.com/cygwin-ug-net/using-specialnames.html#AEN796>, which > explicitly states that the previous behavior is allowed/expected. > > IMO, either the names should be special DOS devices (and allow full > functionality), or they should be non-special names that are treated just > like any other files (e.g., allowing the "aux" directory, etc). The prior > choice follows the principle of least surprise; the latter may eliminate > the need for managed mounts (eventually). > Igor
I was going to suggest making it a non-special name (on NT only, so there is still a surprise effect) That's easy, just prefix the path with //./ or //./unc/ But it's getting costly because we would need to: - detect that the path is special initially, and each time a symlink is met (the outer loop of ::check) - process the mount table normally during the inner loop of ::check and prefix as needed with //./ or //./unc/ (if not already there). Also that can push a path length past the limit. That doesn't help for the lower/upper case issue. Not sure if it's worth it. Pierre