Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Date: Tue, 14 Aug 2001 12:10:21 +0200 From: Corinna Vinschen To: cygwin-developers AT cygwin DOT com Subject: Re: readonly, NTFS, and file metadata Message-ID: <20010814121021.E17709@cygbert.vinschen.de> Reply-To: cygdev Mail-Followup-To: cygwin-developers AT cygwin DOT com References: <3B783E6E DOT 2546DF0 AT ece DOT gatech DOT edu> <20010814120018 DOT D17709 AT cygbert DOT vinschen DOT de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010814120018.D17709@cygbert.vinschen.de>; from vinschen@redhat.com on Tue, Aug 14, 2001 at 12:00:18PM +0200 On Tue, Aug 14, 2001 at 12:00:18PM +0200, Corinna Vinschen wrote: > On Mon, Aug 13, 2001 at 04:54:06PM -0400, Charles Wilson wrote: > > There is an ongoing thread on the automake list (started by yours truly, > > agent provocateur) concerning some strangeness I've encountered on > > NTFS(ntsec), with 'cp -p' and readonly files. The URL for the beginning > > [...] > > What happens is this: first, foo is copied to bar, with perms > > -r--r--r--. But, the timestamp is wrong. Since cp was called with > > '-p', cp then tries to set the timestamp of bar to match foo. But it > > can't on cygwin. On linux, it can. > > > > My suggestion to the automake list, which was to make foo be -rw-r--r--, > > was not well received. The suggestion in return was: make cygwin act > > like linux. I can't really argue against that, since that's been our > > stated goal anyway. > > > > Does anybody know offhand what it would take to 'linux-ize' this > > behavior (e.g. would we have to take a performance hit?) Do we want to > > be like linux in this particular? Also, please check the thread > > referenced above. > > Check return code of SetFileTime(), check if ntsec ON and > file is on NTFS, get current ACL, modify to have write_data > access for current user, call SetFileTime() again, reset ACL. > > The only problem is that we need a new function set which > _exactly_ saves and restores a given ACL and another function > which exactly adds write access to the current user. The > standard functions in security.cc are not appropriate. Wait, that's not quite true. read_sd() and write_sd() are the functions to save and restore a SD. So there's only a function to set write access for the current user missing... Is it true that the problem can be restricted to files which are actually owned by the current user??? Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:cygwin AT cygwin DOT com Red Hat, Inc.