This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: CSIH file permission tests on non-NTFS broken (was Re: ssh-host-config script fails)
- From: Charles Wilson <cygwin at cwilson dot fastmail dot fm>
- To: cygwin at cygwin dot com
- Date: Thu, 07 Aug 2008 11:37:47 -0400
- Subject: Re: CSIH file permission tests on non-NTFS broken (was Re: ssh-host-config script fails)
- References: <2B02F35EEE21064E9EF7F377F7F37D7402949615@ADMAIL01.ICSDMN.local> <20080723163450.GY5251@calimero.vinschen.de> <20080724092249.GC28166@calimero.vinschen.de> <20080730124957.GN29031@calimero.vinschen.de> <48914567.3010100@cwilson.fastmail.fm> <20080731075001.GA22385@calimero.vinschen.de> <4897A422.4040405@cwilson.fastmail.fm> <20080807081405.GB30629@calimero.vinschen.de>
Corinna Vinschen wrote:
On Aug 4 20:51, Charles Wilson wrote:
getvolinfo program
http://cygwin.com/ml/cygwin/2007-08/msg00040.html
as one of the csih helper progs, and put it under /usr/lib/csih/
(alternatively, import getvolinfo into cygutils).
In that case, I wouldn't need to check for NTFS at all -- instead, I'd
check for "FILE_PERSISTENT_ACLS[ ]*: TRUE", right?
Sounds like a good idea to me. OTOH, whatever you test, you might not
cover all situations. What about letting the user override the test?
Well, I can set up a new variable that calling scripts could assert, in
order to force behavior one way or the other. But it would be up to the
calling scripts to create a command line option so that the end user
could override behavior. (although I suppose the end user could set them
as exported environment vars)
I'm thinking something like a list of mount points that are/are-not ACL
capable:
csih_WIN32_VOLS_WITH_ACLS="E:;//server/share;F:"
csih_WIN32_VOLS_WITHOUT_ACLS="C:;D:;//server/othershare"
Then these lists would be checked first, before using getvolinfo for
unspecified mounts. That is:
csih_path_supports_acls()
{
# convert $1 to win32
# check if it starts with any of the volumes
# in csih_WIN32_VOLS_WITH_ACLS (\,/-agnostic)
# and return true
# check if it starts with any of the volumes
# in csih_WIN32_VOLS_WITHOUT_ACLS (\,/-agnostic)
# and return false
return getvolinfo $1 | egrep "FILE_PERSISTENT_ACLS[ ]*: TRUE"
}
--
Chuck
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/