[RFD]: Execute permission for DLLs?

Larry Hall (RFK Partners, Inc) lhall@rfk.com
Tue Oct 31 09:13:00 GMT 2000

At 05:47 AM 10/31/2000, 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).

I can imagine the headaches reports of this problem will cause.  I'm all
for a fix!:-)

I'm probably missing something but this would seem to me to only fix the 
problem assuming that the otherwise affending archive is yet to be made.
If it is made on a system with the change you propose, then it should 
work (I think).  However, I don't see how this addresses the issue of 
an existing archive made on a system without ntsec set or on a FAT* file
system.  If this archive is unpacked on a system with ntsec set and onto
a NTFS partition, won't the same problem arise, regardless of whether the
fix you propose is on that system?

Larry Hall                              lhall@rfk.com
RFK Partners, Inc.                      http://www.rfk.com
118 Washington Street                   (508) 893-9779 - RFK Office
Holliston, MA 01746                     (508) 893-9889 - FAX

More information about the Cygwin-developers mailing list