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, 31 Oct 2000 12:24:26 -0500 From: Christopher Faylor To: cygdev Subject: Re: [RFD]: Execute permission for DLLs? Message-ID: <20001031122426.A27656@redhat.com> Reply-To: cygwin-developers AT sources DOT redhat DOT com Mail-Followup-To: cygdev References: <39FEA32B DOT 58D3518F AT cygnus DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.6i In-Reply-To: <39FEA32B.58D3518F@cygnus.com>; from vinschen@cygnus.com on Tue, Oct 31, 2000 at 11:47:07AM +0100 On Tue, Oct 31, 2000 at 11:47:07AM +0100, Corinna Vinschen wrote: >On NTFS partitions, NT/W2K require the execute permission for DLLs to >allow loading a DLL on process startup. > >That's no problem unless a person using `ntsec' gets a tar archive >packed by a person not using `ntsec' or packing on a FAT partition. >Since Cygwin fakes the execute permission only for the suffixes >"exe", "bat", "com", DLLs are treated as non executable by the >stat() call when `ntsec' isn't set. > >When a person using `ntsec' unpacks that tar archive, the start of >an application which requires one of the DLLs from the archive will >fail with the Windows message > > "The application failed to initialize properly (0xc0000022)" > >which isn't that meaningful for most of the users. > >To solve that problem we would have to do a simple step. Fake >execute permissions for DLLs when `ntsec' isn't set or the file >system doesn't support ACLs (FAT/FAT32). > >Thoughts? Are you saying that we *always* turn executable permissions on when we create a DLL file on NT? That makes sense to me. cgf