This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: cygwin 1.7.9, problem with cygwin1.dll, path_conv::check, has_acls()? (Windows 7)


NEW information -- this UNC permissions confusion is new behavior in 1.7.9,
it does not show in 1.7.8 (on the same Windows 7 system).

> > > It seems you are suspicious of the mount... that a defective mount WOULD
> > > interfere when the target is expressed one way, and WOULDNOT interfere
> > > when the target is expressed the other way.
> >
> > Not defective, no.  In my case, I'm suggesting that you turn off POSIX
> > permissions.  These sometimes cause problems for network drives.  So
> > do something like this:
> >    mkdir /foo
> >    mount -o noacl,binary,notexec //hyperdisk/Data/Engineering/ruck /foo
> > Then try the same tests using /foo as the root path.
>
> Okay, Larry's thinking is confirmed.
>     $ mkdir /foo.noacl
>     $ mount -o noacl,binary,notexec //hyperdisk/Data/Engineering/ruck /foo.noacl
>     $ mkdir /foo.acl
>     $ mount -o binary,notexec //hyperdisk/Data/Engineering/ruck /foo.acl
>     $ cd /foo.noacl
>     $ touch xoo.1
>     $ cd /foo.acl
>     $ touch xoo.2
>     touch: cannot touch `xoo.2': Permission denied
> That is, problem shows under /foo.acl (but not under /foo.noacl)
> But for what it's worth, my problem does NOT appear when I'm on a 1.7.7
> System hitting that same fileserver-directory.

Larry Hall shows me how to explicitly mount, with noacl, to workaround the getting of wrong permissions.
Thorsten Kampe is also recommending explicit mount instead of accessing via UNC reference.

Okay, thanks for the excellent workarounds.

As to the original problem, i.e. different results from getpermissions(), depending on whether you 
(a) construct the UNC with all "/", or 
(b) with "\" in there, ...
Here's NEW information -- this UNC permissions confusion is new behavior in 1.7.9,
it does not show in 1.7.8 (on the same Windows 7 system).

I used setup to downgrade to 1.7.8, started a shell,
    $ uname -a
    CYGWIN_NT-6.1 CND0360JCB 1.7.8(0.236/5/3) 2011-03-01 09:36 i686 Cygwin
    $ bash --version
    GNU bash, version 4.1.10(4)-release (i686-pc-cygwin)    $ cd //hyperdisk/Data/Engineering/ruck
    $ touch zoo.1050

Then I exited the shell and used setup to re-upgrade... and started a shell,
    $ uname -a
    CYGWIN_NT-6.1 CND0360JCB 1.7.9(0.237/5/3) 2011-03-29 10:10 i686 Cygwin
    $ bash --version
    GNU bash, version 4.1.10(4)-release (i686-pc-cygwin)
    $ cd //hyperdisk/Data/Engineering/ruck
    $ touch zoo.1054
    touch: cannot touch `zoo.1054': Permission denied
    $ touch .\\zoo.1055
    cygwin warning:
      MS-DOS style path detected: .\zoo.1055
      Preferred POSIX equivalent is: ./zoo.1055
      CYGWIN environment variable option "nodosfilewarning" turns off this warning.
      Consult the user's guide for more details about POSIX paths:
        http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
(zoo.1054 was not created due to error, zoo.1055 was created despite the warning)

So, I'm claiming this is a change with 1.7.9.  
I'll leave it to others to classify this as a new "bug", "feature",
And I'll be interested to see that discussion.
Meanwhile, thanks for showing a workaround.  Other colleagues are affected, so
we will discuss whether we want to stay downgraded or start using explicit mounts.
Thanks, and regards,
John Ruckstuhl

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]