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