Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Date: Tue, 13 Mar 2001 09:13:10 +0100 From: Corinna Vinschen To: cygwin Subject: Re: Why do DLLs require executable permission with ntsec? Message-ID: <20010313091310.B23263@cygbert.vinschen.de> Mail-Followup-To: cygwin References: <20010313010553 DOT D1084 AT dothill DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010313010553.D1084@dothill.com>; from Jason.Tishler@dothill.com on Tue, Mar 13, 2001 at 01:05:53AM -0500 On Tue, Mar 13, 2001 at 01:05:53AM -0500, Jason Tishler wrote: > In trying to track down a Cygwin Python problem related to ntsec, > I first realized that DLLs seem to require executable permission when > ntsec is enabled. Otherwise, the application which is dependent on the > DLL will fail to start with the following error dialog: > > foo.exe - Application Error > > The application failed to initialize properly (0xc0000022). Click on OK to > terminate the application. > > Is this behavior by design? I naively assumed that Windows would be > loading the DLL so Cygwin permissions would be irrelevant. Can someone > please set me straight? Sure. This is thanks to Microsoft's straight design of NTFS permissions. If you are using NTFS and ntsec is off you will never get this problem since the ACL is set to `Everyone may everything'. As soon as you care for permissions (from the Windows point of view) you will stumble over that... interesting... behaviour. I assume the reasoning behind that is that only files with x bit set should be loaded into the text segment. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:cygwin AT cygwin DOT com Red Hat, Inc. -- Want to unsubscribe from this list? Check out: http://cygwin.com/ml/#unsubscribe-simple