How to fix the permission stuff.
Bill Medland
billmedland at mercuryspeed.com
Mon Oct 3 20:03:15 CDT 2005
Advice please. This looks a little too big to be done without
discussion.
This stems from Michael Ost's CreateFile issue and is much more
fundamental than the SHARE settings.
Consider.
...CreateFile (.... FILE_READ_DATA...)
...ReadFile (...)
That is sensible and perfectly legal under Windows but fails
under Wine due to an inadequate handling of the generic vs
specific permissions.
It seems to me that the fix to this minor problem includes:
a. Extending the server's Object concept (or at least the ops
structure) to include the relevant GENERIC_MAPPING definition
for the object.
b. Extend the testing in handle.c so that the test of access
takes into account the fact that the granted permissions might
be generic whilst the requested is specific, and vice versa.
This requires a in order to know how to do the conversion.
c. Fix up calls to be a little more sensible in their requests.
For example ReadFile does not need GENERIC_READ; it only needs
FILE_READ_DATA.
Alternatively we could specify that the access settings held for
a handle in the server are only specific and the appropriate
object's code is responsible for converting from generic to
specific.
Any comments?
--
Bill Medland
mailto:billmedland at mercuryspeed.com
http://webhome.idirect.com/~kbmed
More information about the wine-devel
mailing list