Service Object ACL's patch
Ann and Jason Edmeades
us at the-edmeades.demon.co.uk
Sat Nov 6 15:32:15 CST 2004
I was doing some debugging of an application which tries to define a service
on the fly. It does a ...
CreateService (creates a service),
QueryServiceObjectSecurity (queries the object security, adds someone -
probably the current user, at a guess),
SetServiceObjectSecurity (to save the changed values)
QueryServiceStatus (to see if its running)
StartService (to start it).
Various parts of this sequence break, and as far as I can tell ACE/ACL type
support is mostly missing (especially from advapi32 and services!) and so I
have changed it to appear to succeed enough to move on.
1. Stub SetServceObjectSecurity to pretend to work (return true)
2. Change QueryServiceObjectSecurity so it initializes the ACL with a null
DACL, and return as though it worked (currently it leaves the
securitydescriptor uninitialized, and returns CALL_NOT_IMPLEMTENTED which is
interpreted as non-zero, ie true, and the app traps as the security
descriptor isn't initialized!
3. Changed QueryServiceStatus to tell if the service is running by the
presence of some named shared storage - copied from StartService when it
checks to see if its already running. (Unfortunately my service doesn't
start properly, but that's another story).
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3433 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20041106/70654e4e/advapi32.patch.obj
More information about the wine-patches