Commit a0b08adb authored by Dmitry Timoshkov's avatar Dmitry Timoshkov Committed by Alexandre Julliard

server: Add PROCESS_QUERY_LIMITED_INFORMATION to GENERIC_EXECUTE access mapping…

server: Add PROCESS_QUERY_LIMITED_INFORMATION to GENERIC_EXECUTE access mapping and appropriately change PROCESS_ALL_ACCESS.
parent 53847fd6
...@@ -5061,7 +5061,6 @@ static void test_process_access(void) ...@@ -5061,7 +5061,6 @@ static void test_process_access(void)
"%d: expected %#x, got %#x\n", i, map[i].mapped, access); "%d: expected %#x, got %#x\n", i, map[i].mapped, access);
break; break;
case GENERIC_EXECUTE: case GENERIC_EXECUTE:
todo_wine
ok(access == map[i].mapped || access == (map[i].mapped | PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_TERMINATE) /* Vista+ */, ok(access == map[i].mapped || access == (map[i].mapped | PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_TERMINATE) /* Vista+ */,
"%d: expected %#x, got %#x\n", i, map[i].mapped, access); "%d: expected %#x, got %#x\n", i, map[i].mapped, access);
break; break;
......
...@@ -4542,7 +4542,7 @@ typedef enum tagSID_NAME_USE { ...@@ -4542,7 +4542,7 @@ typedef enum tagSID_NAME_USE {
#define PROCESS_QUERY_INFORMATION 0x0400 #define PROCESS_QUERY_INFORMATION 0x0400
#define PROCESS_SUSPEND_RESUME 0x0800 #define PROCESS_SUSPEND_RESUME 0x0800
#define PROCESS_QUERY_LIMITED_INFORMATION 0x1000 #define PROCESS_QUERY_LIMITED_INFORMATION 0x1000
#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0xfff) #define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0xffff)
#define THREAD_TERMINATE 0x0001 #define THREAD_TERMINATE 0x0001
#define THREAD_SUSPEND_RESUME 0x0002 #define THREAD_SUSPEND_RESUME 0x0002
......
...@@ -451,7 +451,7 @@ static unsigned int process_map_access( struct object *obj, unsigned int access ...@@ -451,7 +451,7 @@ static unsigned int process_map_access( struct object *obj, unsigned int access
if (access & GENERIC_READ) access |= STANDARD_RIGHTS_READ | PROCESS_QUERY_INFORMATION | PROCESS_VM_READ; if (access & GENERIC_READ) access |= STANDARD_RIGHTS_READ | PROCESS_QUERY_INFORMATION | PROCESS_VM_READ;
if (access & GENERIC_WRITE) access |= STANDARD_RIGHTS_WRITE | PROCESS_SET_QUOTA | PROCESS_SET_INFORMATION | PROCESS_SUSPEND_RESUME | if (access & GENERIC_WRITE) access |= STANDARD_RIGHTS_WRITE | PROCESS_SET_QUOTA | PROCESS_SET_INFORMATION | PROCESS_SUSPEND_RESUME |
PROCESS_VM_WRITE | PROCESS_DUP_HANDLE | PROCESS_CREATE_PROCESS | PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION; PROCESS_VM_WRITE | PROCESS_DUP_HANDLE | PROCESS_CREATE_PROCESS | PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION;
if (access & GENERIC_EXECUTE) access |= STANDARD_RIGHTS_EXECUTE | SYNCHRONIZE | PROCESS_TERMINATE; if (access & GENERIC_EXECUTE) access |= STANDARD_RIGHTS_EXECUTE | SYNCHRONIZE | PROCESS_QUERY_LIMITED_INFORMATION | PROCESS_TERMINATE;
if (access & GENERIC_ALL) access |= PROCESS_ALL_ACCESS; if (access & GENERIC_ALL) access |= PROCESS_ALL_ACCESS;
return access & ~(GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE | GENERIC_ALL); return access & ~(GENERIC_READ | GENERIC_WRITE | GENERIC_EXECUTE | GENERIC_ALL);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment