This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Can "DLL's" & libraries be marked as non-executable?

Max Bowsher wrote:

linda w wrote:

Is there some reason cygwin needs to return DLL's as executables, as the
underlying OS doesn't require it (having no 'executable bit').

Wrong, actually the underlying OS *does* require it. It may not have mode bits, but it does have ACLs.

Before calling me wrong, you might ask about my configuration. You put create an unnecessarily confrontational position which is not productive (or polite).

I'm using FAT32.  There are no ACL's on FAT32. Might I suggest that
your statement of 'wrongness' doesn't apply, universally.
This is especially if anyone is still using Win98 or ME which is still
the case for some users (I run FAT32 on XP because I benched it
as being 2-4x faster than NTFS).  I use it on a laptop, where I'm
already speed-strapped enough).

Even if the NT ACL returns "executable" for DLL's, it's still
not in the spirit of the POSIX/gnunix executable bit.

Just as directories have an 'executable' bit to set,
that doesn't mean they _are_ 'executables'. I'm suggesting that having
DLL's be marked as executables in the *nix/Posix sense doesn't seem
to be useful for a Gnunix environment as Gnunix doesn't require or expect
libraries to have the executable bit set. It, not only doesn't seem useful, but does cause POSIX compliant apps expecting executable files to be user commands to not function as would be expected in a POSIX/gnunix environment.

This wouldn't seem to be a desirable 'feature'. Could you please rethink
how the executable bit should be propagated by cygwin -- the executable
bit is obviously being simulated by looking at extensions and file contents -- not simply by the presence or absence of an executable bit.

Possibly the NT ACL's could be accessed through the POSIX 1003.1e Draft
Standard (#17 being last update).  While it lacked quorum for passing
by the time it reached agreement in the committee, it has been used
as a reference by Sgi and Linux security interfaces with the SGI
Trusted Irix interface achieving a successful evaluation at the
CAPP and LSPP security levels as specified under Common Criteria
(roughly corresponding to old DoD Orange Book levels C2 and B1).

More to the point, what would "break" in the cygwin environment, if libraries were excluded from being considered "executables". The NT executable bit doesn't have the same semantics as the POSIX/gnunix executable bit, since the cygwin loader can choose to 'load' DLL's as executable code regardless of an executable bit being set -- just as it must do on Win98 or any FAT32 based system.

-- In the marketplace of "Real goods", capitalism is limited by safety regulations, consumer protection laws, and product liability. In the computer industry, what protects consumers (other than vendor good will that seems to diminish inversely to their size)?

Unsubscribe info:
Problem reports:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]