diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index c302238c..b9cc052e 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "e0d8bd3f5a7b4c8722d3632a9954f1647851f3d3" + echo "236476417ac6777951d1cfc26c0393bff2a64c23" } # Show version information @@ -2687,7 +2687,8 @@ fi # | * [#33576] Support for stored file ACLs # | # | Modified files: -# | * dlls/advapi32/tests/security.c, server/change.c, server/file.c, server/file.h, server/object.c, server/object.h +# | * dlls/advapi32/tests/security.c, dlls/xactengine3_7/xact_dll.c, server/change.c, server/file.c, server/file.h, +# | server/object.c, server/object.h # | if test "$enable_server_Stored_ACLs" -eq 1; then patch_apply server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch diff --git a/patches/server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch b/patches/server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch index 14dc55f1..b51cc91d 100644 --- a/patches/server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch +++ b/patches/server-Stored_ACLs/0001-server-Unify-the-storage-of-security-attributes-for-.patch @@ -1,17 +1,30 @@ -From 1a3f9029f375e5934ff2e87f83bd2cd5d546dd80 Mon Sep 17 00:00:00 2001 +From 6290d283c29832f6822090ef57c8bd4e04c43eaf Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Thu, 17 Apr 2014 16:07:46 -0600 Subject: [PATCH] server: Unify the storage of security attributes for files and directories. (try 7) --- - server/change.c | 45 ++++++--------------------------------------- - server/file.c | 34 ++++++++++++++++++++++------------ - server/file.h | 2 ++ - 3 files changed, 30 insertions(+), 51 deletions(-) + dlls/xactengine3_7/xact_dll.c | 1 + + server/change.c | 45 +++++------------------------------ + server/file.c | 34 ++++++++++++++++---------- + server/file.h | 2 ++ + 4 files changed, 31 insertions(+), 51 deletions(-) +diff --git a/dlls/xactengine3_7/xact_dll.c b/dlls/xactengine3_7/xact_dll.c +index f7be480656d..f6b4a37b005 100644 +--- a/dlls/xactengine3_7/xact_dll.c ++++ b/dlls/xactengine3_7/xact_dll.c +@@ -341,6 +341,7 @@ static HRESULT WINAPI IXACT3SoundBankImpl_Prepare(IXACT3SoundBank *iface, + XACT3SoundBankImpl *This = impl_from_IXACT3SoundBank(iface); + XACT3CueImpl *cue; + FACTCue *fcue; ++ + UINT ret; + + TRACE("(%p)->(%u, 0x%lx, %lu, %p)\n", This, nCueIndex, dwFlags, timeOffset, diff --git a/server/change.c b/server/change.c -index dd9e0bfee31..fc030159101 100644 +index 5e9d94720a5..fc030159101 100644 --- a/server/change.c +++ b/server/change.c @@ -365,48 +365,15 @@ static int dir_set_sd( struct object *obj, const struct security_descriptor *sd, @@ -47,7 +60,7 @@ index dd9e0bfee31..fc030159101 100644 - else if (obj->sd) - owner = sd_get_owner( obj->sd ); - else -- owner = token_get_user( current->process->token ); +- owner = token_get_owner( current->process->token ); - - if (set_info & DACL_SECURITY_INFORMATION) - { @@ -70,7 +83,7 @@ index dd9e0bfee31..fc030159101 100644 static struct change_record *get_first_change_record( struct dir *dir ) diff --git a/server/file.c b/server/file.c -index 1fd0ac37df5..6032e228a9f 100644 +index 1b4efb04bc5..291dd78cb60 100644 --- a/server/file.c +++ b/server/file.c @@ -499,18 +499,13 @@ mode_t sd_to_mode( const struct security_descriptor *sd, const struct sid *owner @@ -133,7 +146,7 @@ index 1fd0ac37df5..6032e228a9f 100644 { struct file *file = (struct file *)obj; diff --git a/server/file.h b/server/file.h -index 358788096a0..38bcea802d6 100644 +index b5b1e2a1077..5eb6065b7ac 100644 --- a/server/file.h +++ b/server/file.h @@ -168,6 +168,8 @@ extern void file_set_error(void); @@ -146,5 +159,5 @@ index 358788096a0..38bcea802d6 100644 /* file mapping functions */ -- -2.34.1 +2.35.1 diff --git a/patches/server-Stored_ACLs/0004-server-Temporarily-store-the-full-security-descripto.patch b/patches/server-Stored_ACLs/0004-server-Temporarily-store-the-full-security-descripto.patch index 1764901d..244d6475 100644 --- a/patches/server-Stored_ACLs/0004-server-Temporarily-store-the-full-security-descripto.patch +++ b/patches/server-Stored_ACLs/0004-server-Temporarily-store-the-full-security-descripto.patch @@ -1,4 +1,4 @@ -From cd7fb7888c26a3ccbbc13404f671ed7525041e81 Mon Sep 17 00:00:00 2001 +From b4f93b03b07b3c29f7cc3548431a487885c0f8c2 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Mon, 30 Mar 2015 12:50:21 +0200 Subject: [PATCH] server: Temporarily store the full security descriptor for @@ -12,10 +12,10 @@ Subject: [PATCH] server: Temporarily store the full security descriptor for 4 files changed, 80 insertions(+), 47 deletions(-) diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c -index 7f0c248cd7a..f1ec827d683 100644 +index 4b9e02af826..1e82353cfd0 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c -@@ -3702,7 +3702,6 @@ static void test_CreateDirectoryA(void) +@@ -3774,7 +3774,6 @@ static void test_CreateDirectoryA(void) ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %ld\n", error); bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation); ok(bret, "GetAclInformation failed\n"); @@ -23,7 +23,7 @@ index 7f0c248cd7a..f1ec827d683 100644 ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%ld != 0).\n", acl_size.AceCount); LocalFree(pSD); -@@ -3713,7 +3712,6 @@ static void test_CreateDirectoryA(void) +@@ -3785,7 +3784,6 @@ static void test_CreateDirectoryA(void) ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %ld\n", error); bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation); ok(bret, "GetAclInformation failed\n"); @@ -31,7 +31,7 @@ index 7f0c248cd7a..f1ec827d683 100644 ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%ld != 0).\n", acl_size.AceCount); LocalFree(pSD); -@@ -3836,7 +3834,6 @@ static void test_CreateDirectoryA(void) +@@ -3908,7 +3906,6 @@ static void test_CreateDirectoryA(void) ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error); bret = GetAclInformation(pDacl, &acl_size, sizeof(acl_size), AclSizeInformation); ok(bret, "GetAclInformation failed\n"); @@ -39,7 +39,7 @@ index 7f0c248cd7a..f1ec827d683 100644 ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n", acl_size.AceCount); LocalFree(pSD); -@@ -4935,23 +4932,22 @@ static void test_GetSecurityInfo(void) +@@ -5024,23 +5021,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); @@ -96,7 +96,7 @@ index 5beedef4714..1ebda152ef9 100644 return &dir->obj; diff --git a/server/file.c b/server/file.c -index d476f4b796e..e61de8283b8 100644 +index 6bc0708f9b2..743493b8d37 100644 --- a/server/file.c +++ b/server/file.c @@ -187,7 +187,8 @@ struct file *create_file_for_fd_obj( struct fd *fd, unsigned int access, unsigne @@ -167,7 +167,7 @@ index d476f4b796e..e61de8283b8 100644 - else if (obj->sd) - owner = sd_get_owner( obj->sd ); - else -- owner = token_get_user( current->process->token ); +- owner = token_get_owner( current->process->token ); + /* calculate the new sd, save to a temporary variable before assigning */ + new_sd = set_sd_from_token_internal( sd, obj->sd, set_info, current->process->token ); + if (new_sd) @@ -247,7 +247,7 @@ index d476f4b796e..e61de8283b8 100644 } if (root_fd) release_object( root_fd ); diff --git a/server/file.h b/server/file.h -index abea05d33fd..81bcdc1c913 100644 +index 4490287291e..65c28b3ac62 100644 --- a/server/file.h +++ b/server/file.h @@ -207,7 +207,8 @@ extern struct object *create_unix_device( struct object *root, const struct unic @@ -261,5 +261,5 @@ index abea05d33fd..81bcdc1c913 100644 /* completion */ -- -2.34.1 +2.35.1 diff --git a/staging/upstream-commit b/staging/upstream-commit index 5f19b971..b8446878 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -e0d8bd3f5a7b4c8722d3632a9954f1647851f3d3 +236476417ac6777951d1cfc26c0393bff2a64c23