server: Fix generic access mapping for an event.
This commit is contained in:
parent
ea765ae005
commit
5953851b8a
|
@ -4600,14 +4600,14 @@ static void test_event_security(HANDLE token)
|
|||
STANDARD_RIGHTS_ALL | EVENT_ALL_ACCESS };
|
||||
static const struct
|
||||
{
|
||||
int todo, generic, mapped;
|
||||
int generic, mapped;
|
||||
} map[] =
|
||||
{
|
||||
{ 0, 0, 0 },
|
||||
{ 1, GENERIC_READ, STANDARD_RIGHTS_READ | EVENT_QUERY_STATE },
|
||||
{ 1, GENERIC_WRITE, STANDARD_RIGHTS_WRITE | EVENT_MODIFY_STATE },
|
||||
{ 1, GENERIC_EXECUTE, STANDARD_RIGHTS_EXECUTE | SYNCHRONIZE },
|
||||
{ 0, GENERIC_ALL, STANDARD_RIGHTS_ALL | EVENT_QUERY_STATE | EVENT_MODIFY_STATE }
|
||||
{ 0, 0 },
|
||||
{ GENERIC_READ, STANDARD_RIGHTS_READ | EVENT_QUERY_STATE },
|
||||
{ GENERIC_WRITE, STANDARD_RIGHTS_WRITE | EVENT_MODIFY_STATE },
|
||||
{ GENERIC_EXECUTE, STANDARD_RIGHTS_EXECUTE | SYNCHRONIZE },
|
||||
{ GENERIC_ALL, STANDARD_RIGHTS_ALL | EVENT_QUERY_STATE | EVENT_MODIFY_STATE }
|
||||
};
|
||||
|
||||
SetLastError(0xdeadbeef);
|
||||
|
@ -4630,10 +4630,6 @@ static void test_event_security(HANDLE token)
|
|||
ok(ret, "DuplicateHandle error %d\n", GetLastError());
|
||||
|
||||
access = get_obj_access(dup);
|
||||
if (map[i].todo)
|
||||
todo_wine
|
||||
ok(access == map[i].mapped, "%d: expected %#x, got %#x\n", i, map[i].mapped, access);
|
||||
else
|
||||
ok(access == map[i].mapped, "%d: expected %#x, got %#x\n", i, map[i].mapped, access);
|
||||
|
||||
CloseHandle(dup);
|
||||
|
|
|
@ -183,10 +183,10 @@ static void event_satisfied( struct object *obj, struct wait_queue_entry *entry
|
|||
|
||||
static unsigned int event_map_access( struct object *obj, unsigned int access )
|
||||
{
|
||||
if (access & GENERIC_READ) access |= STANDARD_RIGHTS_READ | SYNCHRONIZE | EVENT_QUERY_STATE;
|
||||
if (access & GENERIC_WRITE) access |= STANDARD_RIGHTS_WRITE;
|
||||
if (access & GENERIC_EXECUTE) access |= STANDARD_RIGHTS_EXECUTE;
|
||||
if (access & GENERIC_ALL) access |= STANDARD_RIGHTS_ALL | EVENT_ALL_ACCESS;
|
||||
if (access & GENERIC_READ) access |= STANDARD_RIGHTS_READ | EVENT_QUERY_STATE;
|
||||
if (access & GENERIC_WRITE) access |= STANDARD_RIGHTS_WRITE | EVENT_MODIFY_STATE;
|
||||
if (access & GENERIC_EXECUTE) access |= STANDARD_RIGHTS_EXECUTE | SYNCHRONIZE;
|
||||
if (access & GENERIC_ALL) access |= STANDARD_RIGHTS_ALL | EVENT_QUERY_STATE | EVENT_MODIFY_STATE;
|
||||
return access & ~(GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE | GENERIC_ALL);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue