2009/4/15 Hans Leidekker <h...@codeweavers.com>: > @@ -441,6 +441,23 @@ NTSTATUS WINAPI NtQueryInformationToken( > } > SERVER_END_REQ; > break; > + case TokenDefaultDacl: > + if (tokeninfo) > + { > + TOKEN_DEFAULT_DACL *token = (TOKEN_DEFAULT_DACL *)tokeninfo; > + ACL *acl; > + > + FIXME("returning empty DACL\n"); > + > + acl = token->DefaultDacl = (ACL *)token + > sizeof(TOKEN_DEFAULT_DACL); > + > + acl->AclRevision = ACL_REVISION; > + acl->Sbz1 = 0; > + acl->AclSize = sizeof(ACL); > + acl->AceCount = 0; > + acl->Sbz2 = 0; > + } > + break; > default: > { > ERR("Unhandled Token Information class %d!\n", tokeninfoclass);
The server already tracks the default DACL of the token in the token object, so implementing these functions properly shouldn't be much more work than writing the code to marshall and unmarshall the ACL to and from the server, with two new trivial functions in the server for getting and setting the default_dacl field. -- Rob Shearman