mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Rebase against 4f0212c4fd35ac4b03a082cab27e629130ac1b13
This commit is contained in:
parent
ccd0bc4ccd
commit
bd8f35fad1
@ -1,15 +1,16 @@
|
||||
From ba50fc98ee4690e62899d48efc856c2bc910536c Mon Sep 17 00:00:00 2001
|
||||
From 8044f571b7e674ce9e562488864d48646a9c7b88 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Mon, 7 Aug 2017 01:25:02 +0200
|
||||
Subject: advapi32/tests: Extend security label / token integrity tests.
|
||||
Subject: [PATCH] advapi32/tests: Extend security label / token integrity
|
||||
tests.
|
||||
|
||||
---
|
||||
dlls/advapi32/tests/Makefile.in | 2 +-
|
||||
dlls/advapi32/tests/security.c | 389 +++++++++++++++++++++++++++++++++++++++-
|
||||
dlls/advapi32/tests/security.c | 389 +++++++++++++++++++++++++++++++-
|
||||
2 files changed, 387 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/tests/Makefile.in b/dlls/advapi32/tests/Makefile.in
|
||||
index 36ce031ef62..4437e6e5de7 100644
|
||||
index 12583e59f57..caee5fae308 100644
|
||||
--- a/dlls/advapi32/tests/Makefile.in
|
||||
+++ b/dlls/advapi32/tests/Makefile.in
|
||||
@@ -1,5 +1,5 @@
|
||||
@ -20,10 +21,10 @@ index 36ce031ef62..4437e6e5de7 100644
|
||||
C_SRCS = \
|
||||
cred.c \
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index 0fd41fe82fa..4a03db27e69 100644
|
||||
index a736dbffd22..4529469d932 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -7191,13 +7191,19 @@ static void test_token_security_descriptor(void)
|
||||
@@ -7034,13 +7034,19 @@ static void test_token_security_descriptor(void)
|
||||
{
|
||||
static SID low_level = {SID_REVISION, 1, {SECURITY_MANDATORY_LABEL_AUTHORITY},
|
||||
{SECURITY_MANDATORY_LOW_RID}};
|
||||
@ -46,7 +47,7 @@ index 0fd41fe82fa..4a03db27e69 100644
|
||||
PROCESS_INFORMATION info;
|
||||
DWORD size, index, retd;
|
||||
ACCESS_ALLOWED_ACE *ace;
|
||||
@@ -7347,6 +7353,185 @@ static void test_token_security_descriptor(void)
|
||||
@@ -7190,6 +7196,185 @@ static void test_token_security_descriptor(void)
|
||||
/* The security label is also not inherited */
|
||||
if (pAddMandatoryAce)
|
||||
{
|
||||
@ -103,7 +104,7 @@ index 0fd41fe82fa..4a03db27e69 100644
|
||||
+
|
||||
+ if (sacl)
|
||||
+ {
|
||||
+ ret = pGetAce(sacl, 0, (void **)&ace);
|
||||
+ ret = GetAce(sacl, 0, (void **)&ace);
|
||||
+ ok(ret, "GetAce failed with error %u\n", GetLastError());
|
||||
+ ok(ace->Header.AceType == SYSTEM_MANDATORY_LABEL_ACE_TYPE,
|
||||
+ "Unexpected ACE type %#x\n", ace->Header.AceType);
|
||||
@ -165,7 +166,7 @@ index 0fd41fe82fa..4a03db27e69 100644
|
||||
+
|
||||
+ if (sacl)
|
||||
+ {
|
||||
+ ret = pGetAce(sacl, 0, (void **)&ace);
|
||||
+ ret = GetAce(sacl, 0, (void **)&ace);
|
||||
+ ok(ret, "GetAce failed with error %u\n", GetLastError());
|
||||
+ ok(ace->Header.AceType == SYSTEM_MANDATORY_LABEL_ACE_TYPE,
|
||||
+ "Unexpected ACE type %#x\n", ace->Header.AceType);
|
||||
@ -215,7 +216,7 @@ index 0fd41fe82fa..4a03db27e69 100644
|
||||
+
|
||||
+ if (sacl)
|
||||
+ {
|
||||
+ ret = pGetAce(sacl, 0, (void **)&ace);
|
||||
+ ret = GetAce(sacl, 0, (void **)&ace);
|
||||
+ ok(ret, "GetAce failed with error %u\n", GetLastError());
|
||||
+ ok(ace->Header.AceType == SYSTEM_MANDATORY_LABEL_ACE_TYPE,
|
||||
+ "Unexpected ACE type %#x\n", ace->Header.AceType);
|
||||
@ -232,7 +233,7 @@ index 0fd41fe82fa..4a03db27e69 100644
|
||||
ret = InitializeAcl(acl, 256, ACL_REVISION);
|
||||
ok(ret, "InitializeAcl failed with error %u\n", GetLastError());
|
||||
|
||||
@@ -7362,6 +7547,90 @@ static void test_token_security_descriptor(void)
|
||||
@@ -7205,6 +7390,90 @@ static void test_token_security_descriptor(void)
|
||||
|
||||
ret = SetKernelObjectSecurity(token, LABEL_SECURITY_INFORMATION, sd);
|
||||
ok(ret, "SetKernelObjectSecurity failed with error %u\n", GetLastError());
|
||||
@ -272,7 +273,7 @@ index 0fd41fe82fa..4a03db27e69 100644
|
||||
+
|
||||
+ if (sacl)
|
||||
+ {
|
||||
+ ret = pGetAce(sacl, 0, (void **)&ace);
|
||||
+ ret = GetAce(sacl, 0, (void **)&ace);
|
||||
+ ok(ret, "GetAce failed with error %u\n", GetLastError());
|
||||
+ ok(ace->Header.AceType == SYSTEM_MANDATORY_LABEL_ACE_TYPE,
|
||||
+ "Unexpected ACE type %#x\n", ace->Header.AceType);
|
||||
@ -310,7 +311,7 @@ index 0fd41fe82fa..4a03db27e69 100644
|
||||
+
|
||||
+ if (sacl)
|
||||
+ {
|
||||
+ ret = pGetAce(sacl, 0, (void **)&ace);
|
||||
+ ret = GetAce(sacl, 0, (void **)&ace);
|
||||
+ ok(ret, "GetAce failed with error %u\n", GetLastError());
|
||||
+ ok(ace->Header.AceType == SYSTEM_MANDATORY_LABEL_ACE_TYPE,
|
||||
+ "Unexpected ACE type %#x\n", ace->Header.AceType);
|
||||
@ -323,7 +324,7 @@ index 0fd41fe82fa..4a03db27e69 100644
|
||||
}
|
||||
else
|
||||
win_skip("SYSTEM_MANDATORY_LABEL not supported\n");
|
||||
@@ -7467,6 +7736,116 @@ static void test_child_token_sd(void)
|
||||
@@ -7312,6 +7581,116 @@ static void test_child_token_sd(void)
|
||||
HeapFree(GetProcessHeap(), 0, sd);
|
||||
}
|
||||
|
||||
@ -366,7 +367,7 @@ index 0fd41fe82fa..4a03db27e69 100644
|
||||
+ ok(acl && acl != (void *)0xdeadbeef, "Got invalid SACL\n");
|
||||
+ ok(!defaulted, "SACL defaulted\n");
|
||||
+ ok(acl->AceCount == 1, "Expected exactly one ACE\n");
|
||||
+ ret = pGetAce(acl, 0, (void **)&ace_label);
|
||||
+ ret = GetAce(acl, 0, (void **)&ace_label);
|
||||
+ ok(ret, "GetAce failed with error %u\n", GetLastError());
|
||||
+ ok(ace_label->Header.AceType == SYSTEM_MANDATORY_LABEL_ACE_TYPE,
|
||||
+ "Unexpected ACE type %#x\n", ace_label->Header.AceType);
|
||||
@ -421,7 +422,7 @@ index 0fd41fe82fa..4a03db27e69 100644
|
||||
+ ok(acl && acl != (void *)0xdeadbeef, "Got invalid SACL\n");
|
||||
+ ok(!defaulted, "SACL defaulted\n");
|
||||
+ ok(acl->AceCount == 1, "Expected exactly one ACE\n");
|
||||
+ ret = pGetAce(acl, 0, (void **)&ace_label);
|
||||
+ ret = GetAce(acl, 0, (void **)&ace_label);
|
||||
+ ok(ret, "GetAce failed with error %u\n", GetLastError());
|
||||
+ ok(ace_label->Header.AceType == SYSTEM_MANDATORY_LABEL_ACE_TYPE,
|
||||
+ "Unexpected ACE type %#x\n", ace_label->Header.AceType);
|
||||
@ -440,7 +441,7 @@ index 0fd41fe82fa..4a03db27e69 100644
|
||||
static void test_GetExplicitEntriesFromAclW(void)
|
||||
{
|
||||
static const WCHAR wszCurrentUser[] = { 'C','U','R','R','E','N','T','_','U','S','E','R','\0'};
|
||||
@@ -7653,6 +8032,10 @@ START_TEST(security)
|
||||
@@ -7571,6 +7950,10 @@ START_TEST(security)
|
||||
{
|
||||
if (!strcmp(myARGV[2], "test_token_sd"))
|
||||
test_child_token_sd();
|
||||
@ -452,5 +453,5 @@ index 0fd41fe82fa..4a03db27e69 100644
|
||||
test_process_security_child();
|
||||
return;
|
||||
--
|
||||
2.13.1
|
||||
2.17.1
|
||||
|
||||
|
@ -52,7 +52,7 @@ usage()
|
||||
# Get the upstream commit sha
|
||||
upstream_commit()
|
||||
{
|
||||
echo "21003538619cb22bf35d7cf68ee0ef13ff658424"
|
||||
echo "4f0212c4fd35ac4b03a082cab27e629130ac1b13"
|
||||
}
|
||||
|
||||
# Show version information
|
||||
|
@ -1,4 +1,4 @@
|
||||
From feeebcd6395d58018766047dcf0d8debc0e3d97d Mon Sep 17 00:00:00 2001
|
||||
From 848a3f3238116a1cb172cd4ed6d9a54a31f945a7 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Fri, 3 Apr 2015 03:58:47 +0200
|
||||
Subject: [PATCH] server: Allow to open files without any permission bits. (try
|
||||
@ -13,10 +13,10 @@ Changes in v2:
|
||||
2 files changed, 32 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index 7f27c79..9ebc40a 100644
|
||||
index 0cc7bc9a594..5f152d0f42b 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -3781,17 +3781,13 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3719,17 +3719,13 @@ static void test_CreateDirectoryA(void)
|
||||
error = pGetNamedSecurityInfoA(tmpfile, SE_FILE_OBJECT,
|
||||
OWNER_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
|
||||
(PSID *)&owner, NULL, &pDacl, NULL, &pSD);
|
||||
@ -24,14 +24,14 @@ index 7f27c79..9ebc40a 100644
|
||||
ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
- if (error == ERROR_SUCCESS)
|
||||
- {
|
||||
- bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
- bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
- ok(bret, "GetAclInformation failed\n");
|
||||
- todo_wine
|
||||
- ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
- acl_size.AceCount);
|
||||
- LocalFree(pSD);
|
||||
- }
|
||||
+ bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
+ bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
+ ok(bret, "GetAclInformation failed\n");
|
||||
+ todo_wine
|
||||
+ ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
@ -40,7 +40,7 @@ index 7f27c79..9ebc40a 100644
|
||||
CloseHandle(hTemp);
|
||||
|
||||
/* Test inheritance of ACLs in NtCreateFile without security descriptor */
|
||||
@@ -3861,17 +3857,13 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3798,17 +3794,13 @@ static void test_CreateDirectoryA(void)
|
||||
error = pGetNamedSecurityInfoA(tmpfile, SE_FILE_OBJECT,
|
||||
OWNER_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
|
||||
(PSID *)&owner, NULL, &pDacl, NULL, &pSD);
|
||||
@ -48,14 +48,14 @@ index 7f27c79..9ebc40a 100644
|
||||
ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
- if (error == ERROR_SUCCESS)
|
||||
- {
|
||||
- bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
- bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
- ok(bret, "GetAclInformation failed\n");
|
||||
- todo_wine
|
||||
- ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
- acl_size.AceCount);
|
||||
- LocalFree(pSD);
|
||||
- }
|
||||
+ bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
+ bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
+ ok(bret, "GetAclInformation failed\n");
|
||||
+ todo_wine
|
||||
+ ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
@ -65,7 +65,7 @@ index 7f27c79..9ebc40a 100644
|
||||
|
||||
done:
|
||||
diff --git a/server/fd.c b/server/fd.c
|
||||
index 0ee86ef..da486b7 100644
|
||||
index 33720176aa3..9fc8f28ec84 100644
|
||||
--- a/server/fd.c
|
||||
+++ b/server/fd.c
|
||||
@@ -1824,6 +1824,7 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode,
|
||||
@ -114,5 +114,5 @@ index 0ee86ef..da486b7 100644
|
||||
*mode = st.st_mode;
|
||||
|
||||
--
|
||||
1.9.1
|
||||
2.17.1
|
||||
|
||||
|
@ -55,7 +55,7 @@ index 329ae09..36ef972 100644
|
||||
+ OWNER_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
|
||||
+ (PSID *)&owner, NULL, &pDacl, NULL, &pSD);
|
||||
+ ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
+ bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
+ bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
+ ok(bret, "GetAclInformation failed\n");
|
||||
+ todo_wine
|
||||
+ ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
|
@ -69,11 +69,11 @@ index 36ef972..a0532f6 100644
|
||||
+ RtlFreeUnicodeString(&tmpfileW);
|
||||
+ HeapFree(GetProcessHeap(), 0, pDacl);
|
||||
+
|
||||
+ error = pGetSecurityInfo(hTemp, SE_FILE_OBJECT,
|
||||
+ error = GetSecurityInfo(hTemp, SE_FILE_OBJECT,
|
||||
+ OWNER_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
|
||||
+ (PSID *)&owner, NULL, &pDacl, NULL, &pSD);
|
||||
+ ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
+ bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
+ bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
+ ok(bret, "GetAclInformation failed\n");
|
||||
+ todo_wine
|
||||
+ ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
@ -84,7 +84,7 @@ index 36ef972..a0532f6 100644
|
||||
+ OWNER_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION,
|
||||
+ (PSID *)&owner, NULL, &pDacl, NULL, &pSD);
|
||||
+ ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
+ bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
+ bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
+ ok(bret, "GetAclInformation failed\n");
|
||||
+ todo_wine
|
||||
+ ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
|
@ -1,46 +1,46 @@
|
||||
From 13f2b7fafd8ac5a28bf69828998e094ae29c64d4 Mon Sep 17 00:00:00 2001
|
||||
From 3ee769ef72de483a2d4af47a50d17c78a8e1a322 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Mon, 30 Mar 2015 12:50:21 +0200
|
||||
Subject: [PATCH] server: Temporarily store the full security descriptor for
|
||||
file objects.
|
||||
|
||||
---
|
||||
dlls/advapi32/tests/security.c | 16 +++-----
|
||||
dlls/advapi32/tests/security.c | 16 +++----
|
||||
server/change.c | 8 +++-
|
||||
server/file.c | 88 ++++++++++++++++++++++++++++--------------
|
||||
server/file.c | 88 +++++++++++++++++++++++-----------
|
||||
server/file.h | 3 +-
|
||||
4 files changed, 74 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index 9ad5881..4c44f44 100644
|
||||
index 88e7ca9e878..1b11f95ada3 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -3701,7 +3701,6 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3702,7 +3702,6 @@ static void test_CreateDirectoryA(void)
|
||||
ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
ok(bret, "GetAclInformation failed\n");
|
||||
- todo_wine
|
||||
ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
acl_size.AceCount);
|
||||
LocalFree(pSD);
|
||||
@@ -3777,7 +3776,6 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3713,7 +3712,6 @@ static void test_CreateDirectoryA(void)
|
||||
ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
ok(bret, "GetAclInformation failed\n");
|
||||
- todo_wine
|
||||
ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
acl_size.AceCount);
|
||||
LocalFree(pSD);
|
||||
@@ -3923,7 +3921,6 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3836,7 +3834,6 @@ static void test_CreateDirectoryA(void)
|
||||
ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
bret = pGetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation);
|
||||
ok(bret, "GetAclInformation failed\n");
|
||||
- todo_wine
|
||||
ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n",
|
||||
acl_size.AceCount);
|
||||
LocalFree(pSD);
|
||||
@@ -4954,23 +4951,22 @@ static void test_GetSecurityInfo(void)
|
||||
bret = pGetAce(pDacl, 0, (VOID **)&ace);
|
||||
@@ -4942,23 +4939,22 @@ static void test_GetSecurityInfo(void)
|
||||
bret = GetAce(pDacl, 0, (VOID **)&ace);
|
||||
ok(bret, "Failed to get Current User ACE.\n");
|
||||
bret = EqualSid(&ace->SidStart, user_sid);
|
||||
- todo_wine ok(bret, "Current User ACE (%s) != Current User SID (%s).\n",
|
||||
@ -55,7 +55,7 @@ index 9ad5881..4c44f44 100644
|
||||
}
|
||||
if (acl_size.AceCount > 1)
|
||||
{
|
||||
bret = pGetAce(pDacl, 1, (VOID **)&ace);
|
||||
bret = GetAce(pDacl, 1, (VOID **)&ace);
|
||||
ok(bret, "Failed to get Administators Group ACE.\n");
|
||||
bret = EqualSid(&ace->SidStart, admin_sid);
|
||||
- todo_wine ok(bret, "Administators Group ACE (%s) != Administators Group SID (%s).\n", debugstr_sid(&ace->SidStart), debugstr_sid(admin_sid));
|
||||
@ -70,7 +70,7 @@ index 9ad5881..4c44f44 100644
|
||||
LocalFree(pSD);
|
||||
CloseHandle(obj);
|
||||
diff --git a/server/change.c b/server/change.c
|
||||
index 0496e40..0690227 100644
|
||||
index 77c9ff8bc2d..dd45aa9667e 100644
|
||||
--- a/server/change.c
|
||||
+++ b/server/change.c
|
||||
@@ -1077,7 +1077,8 @@ static int dir_add_to_existing_notify( struct dir *dir )
|
||||
@ -96,7 +96,7 @@ index 0496e40..0690227 100644
|
||||
|
||||
return &dir->obj;
|
||||
diff --git a/server/file.c b/server/file.c
|
||||
index f3d4717..babb935 100644
|
||||
index 1ca9fc81fe6..4373e6eacd4 100644
|
||||
--- a/server/file.c
|
||||
+++ b/server/file.c
|
||||
@@ -178,7 +178,8 @@ struct file *create_file_for_fd_obj( struct fd *fd, unsigned int access, unsigne
|
||||
@ -228,7 +228,7 @@ index f3d4717..babb935 100644
|
||||
}
|
||||
|
||||
static struct object *file_lookup_name( struct object *obj, struct unicode_str *name, unsigned int attr )
|
||||
@@ -752,7 +779,10 @@ DECL_HANDLER(create_file)
|
||||
@@ -753,7 +780,10 @@ DECL_HANDLER(create_file)
|
||||
if ((file = create_file( root_fd, name, name_len, req->access, req->sharing,
|
||||
req->create, req->options, req->attrs, sd )))
|
||||
{
|
||||
@ -241,7 +241,7 @@ index f3d4717..babb935 100644
|
||||
}
|
||||
if (root_fd) release_object( root_fd );
|
||||
diff --git a/server/file.h b/server/file.h
|
||||
index d1a80c1..2bea255 100644
|
||||
index 5d938f5ed57..abac370d680 100644
|
||||
--- a/server/file.h
|
||||
+++ b/server/file.h
|
||||
@@ -183,7 +183,8 @@ extern int shmglobal_fd;
|
||||
@ -255,5 +255,5 @@ index d1a80c1..2bea255 100644
|
||||
|
||||
/* completion */
|
||||
--
|
||||
1.9.1
|
||||
2.17.1
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 212dc266153f4c782ad4855720cc5b377f35c0ad Mon Sep 17 00:00:00 2001
|
||||
From 269bac57db6c5f1f00b0f93ad89d64a93e89af25 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Fri, 18 Apr 2014 14:01:35 -0600
|
||||
Subject: server: Retrieve file security attributes with extended file
|
||||
Subject: [PATCH] server: Retrieve file security attributes with extended file
|
||||
attributes. (try 7)
|
||||
|
||||
---
|
||||
@ -10,10 +10,10 @@ Subject: server: Retrieve file security attributes with extended file
|
||||
2 files changed, 36 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
|
||||
index f4238c7..79a9df4 100644
|
||||
index bfb76b83134..8a5d41988ac 100644
|
||||
--- a/dlls/advapi32/tests/security.c
|
||||
+++ b/dlls/advapi32/tests/security.c
|
||||
@@ -3303,7 +3303,7 @@ static void test_CreateDirectoryA(void)
|
||||
@@ -3656,7 +3656,7 @@ static void test_CreateDirectoryA(void)
|
||||
}
|
||||
ok(!error, "GetNamedSecurityInfo failed with error %d\n", error);
|
||||
test_inherited_dacl(pDacl, admin_sid, user_sid, OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE,
|
||||
@ -22,8 +22,8 @@ index f4238c7..79a9df4 100644
|
||||
LocalFree(pSD);
|
||||
|
||||
/* Test inheritance of ACLs in CreateFile without security descriptor */
|
||||
@@ -3758,21 +3758,20 @@ static void test_GetNamedSecurityInfoA(void)
|
||||
bret = pGetAce(pDacl, 0, (VOID **)&ace);
|
||||
@@ -4110,21 +4110,20 @@ static void test_GetNamedSecurityInfoA(void)
|
||||
bret = GetAce(pDacl, 0, (VOID **)&ace);
|
||||
ok(bret, "Failed to get Current User ACE.\n");
|
||||
bret = EqualSid(&ace->SidStart, user_sid);
|
||||
- todo_wine ok(bret, "Current User ACE (%s) != Current User SID (%s).\n",
|
||||
@ -39,7 +39,7 @@ index f4238c7..79a9df4 100644
|
||||
}
|
||||
if (acl_size.AceCount > 1)
|
||||
{
|
||||
bret = pGetAce(pDacl, 1, (VOID **)&ace);
|
||||
bret = GetAce(pDacl, 1, (VOID **)&ace);
|
||||
ok(bret, "Failed to get Administators Group ACE.\n");
|
||||
bret = EqualSid(&ace->SidStart, admin_sid);
|
||||
- todo_wine ok(bret || broken(!bret) /* win2k */,
|
||||
@ -50,9 +50,9 @@ index f4238c7..79a9df4 100644
|
||||
ok(((ACE_HEADER *)ace)->AceFlags == 0,
|
||||
"Administators Group ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags);
|
||||
ok(ace->Mask == 0x1f01ff || broken(ace->Mask == GENERIC_ALL) /* win2k */,
|
||||
@@ -3799,8 +3798,8 @@ static void test_GetNamedSecurityInfoA(void)
|
||||
@@ -4151,8 +4150,8 @@ static void test_GetNamedSecurityInfoA(void)
|
||||
{
|
||||
bret = pGetAce(pDacl, 0, (VOID **)&ace);
|
||||
bret = GetAce(pDacl, 0, (VOID **)&ace);
|
||||
ok(bret, "Failed to get ACE.\n");
|
||||
- todo_wine ok(((ACE_HEADER *)ace)->AceFlags & INHERITED_ACE,
|
||||
- "ACE has unexpected flags: 0x%x\n", ((ACE_HEADER *)ace)->AceFlags);
|
||||
@ -62,10 +62,10 @@ index f4238c7..79a9df4 100644
|
||||
LocalFree(pSD);
|
||||
|
||||
diff --git a/server/file.c b/server/file.c
|
||||
index 703479f..78eef58 100644
|
||||
index 4f046adf3f4..563e198a160 100644
|
||||
--- a/server/file.c
|
||||
+++ b/server/file.c
|
||||
@@ -499,6 +499,29 @@ static void convert_generic_sd( struct security_descriptor *sd )
|
||||
@@ -503,6 +503,29 @@ static void convert_generic_sd( struct security_descriptor *sd )
|
||||
}
|
||||
}
|
||||
|
||||
@ -95,7 +95,7 @@ index 703479f..78eef58 100644
|
||||
struct security_descriptor *get_file_sd( struct object *obj, struct fd *fd, mode_t *mode,
|
||||
uid_t *uid )
|
||||
{
|
||||
@@ -514,9 +537,10 @@ struct security_descriptor *get_file_sd( struct object *obj, struct fd *fd, mode
|
||||
@@ -518,9 +541,10 @@ struct security_descriptor *get_file_sd( struct object *obj, struct fd *fd, mode
|
||||
(st.st_uid == *uid))
|
||||
return obj->sd;
|
||||
|
||||
@ -110,5 +110,5 @@ index 703479f..78eef58 100644
|
||||
|
||||
*mode = st.st_mode;
|
||||
--
|
||||
2.7.0
|
||||
2.17.1
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user