advapi32: Handle NULL DACL in SetSecurityInfo

Piotr Caban piotr at codeweavers.com
Thu Apr 2 17:54:32 CDT 2015


Hi,

On 02/04/15 19:42, Sebastian Lackner wrote:
> It doesn't match the Windows behaviour, please add at least a couple 
> of tests. 
> https://newtestbot.winehq.org/JobDetails.pl?Key=12622&log_204=1#k204 
the patch restores old SetSecurityInfo behavior. It also works around a 
crash in current implementation when NULL DACL is passed. It's as close 
to native behavior as it currently can be. Setting NULL DACL means: 
allow every permission on windows. Your test shows that we should get 
NULL while asking about DACL but there's no way of correctly supporting 
it in wine currently (and I'm not sure if it can be cleanly supported in 
future, as far as I can see nor POSIX ACL, nor NFSv4 ACL supports 
anything like this).

There's following code in server to handle NULL DACL case:
mode_t sd_to_mode( const struct security_descriptor *sd, const SID *owner )
...
if (present && dacl)
...
else
         /* no ACL means full access rights to anyone */
         new_mode = S_IRWXU | S_IRWXG | S_IRWXO;

Cheers,
Piotr



More information about the wine-devel mailing list