realpath issue with native[strict] symlinks
Orgad Shaneh
orgads@gmail.com
Thu May 6 18:36:45 GMT 2021
On Thu, May 6, 2021 at 8:44 PM Corinna Vinschen
<corinna-cygwin@cygwin.com> wrote:
>
> On May 4 22:52, Orgad Shaneh via Cygwin wrote:
> > On Tue, Apr 27, 2021 at 8:44 AM Orgad Shaneh <orgads@gmail.com> wrote:
> > >
> > > On Apr 19 12:58, Corinna Vinschen via Cygwin wrote:
> > > > On Apr 18 10:59, Orgad Shaneh via Cygwin wrote:
> > >
> > > > I was going to write:
> > > >
> > > > Nothing we can do about without re-implementing Cygwin's path handling
> > > > from scratch. For historical reasons, POSIX paths are evaluated in a
> > > > non-POSIXy manner from right to left. If the resulting path is an
> > > > existing path, the assumption is that no inner path component is a
> > > > symlink. That's true as long as Windows didn't support
> > > > symlinks/junctions and Cygwin didn't support them.
> > > >
> > > > But now I'm writing this:
> > > >
> > > > Probably I have a workaround for this problem. I added a certain test
> > > > to the function checking the outer path component, so the checks for
> > > > path validity don't stop at the outer path component, just because
> > > > it's a valid Windows path.
> > > >
> > > > I pushed the patch and uploaded new developer snapshots to
> > > > https://cygwin.com/snapshots/
> > > >
> > > > Please give them a try.
> > >
> > > Tried now, and it works for me. Thanks a lot!
> > >
> > > - Orgad
> >
> >
> > Hi Corinna,
> >
> > This change breaks access to subst drives. Reported on MSYS2:
> > https://github.com/msys2/msys2-runtime/pull/38#issuecomment-832160980
> >
> > Can you please have a look?
>
> Works fine for me:
>
> $ subst T: C:\\cygwin64\\home\\corinna\\tmp
> $ subst
> T:\: => C:\cygwin64\home\corinna\tmp
> $ ls /cygdrive/t
> bar cygwin foo gawk-5.1.0 ocaml openssh-8.5p1 recurse tst
>
> TAB completion works, too.
Right. But if you set / for cygdrive in /etc/fstab it fails:
none / cygdrive binary,posix=0,user 0 0
- Orgad
More information about the Cygwin
mailing list