Corinna Vinschen writes: > Cygwin is aware of them and access(2) explicitely checks for them. That > obviously doesn't help for applications like perl, who "know better" > than the underlying OS how to evaluate perms.
Perl is making use of an explicit guarantee in POSIX' ACL specification, placed there in order to be backwards compatible to a system without ACL. Whether it is a good idea to do this is debatable of course and I might hunt that code path down in Perl and squash it in some future release. It nevertheless is chink in Cygwin's shiny armor of "hey, we're POSIX of the Linux flavor". FWIW, Git seems to have an explicit check for POSIXPERMS in order to sort out systems that don't conform exactly to that expectation. > It does. Another, *very* simple idea is this: Spill the group and > other perms into the user bits only if the owner of the file is the > current user. Would that help? I think so, but there are likely some corner cases. But I think that had been proposed and shot down already, so I was trying to come up with something less intrusive. > But there's no additional checking necessary because the perms are > guarded by the OS anyway. The applications just don't know them exactly. I have several scripts where tests for a readable file had to be replaced with a test for non-zero-size file or just existing file. Also, with the noacl option you'll always get a positive on most tests and if the code is unprepared to handle the inevitable failure on the actual access, then bad things can happen. Not every piece of code has already converted to the "let's try it and bail out when we get told to get off" style of file access. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ Factory and User Sound Singles for Waldorf Q+, Q and microQ: http://Synth.Stromeko.net/Downloads.html#WaldorfSounds -- 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