Rebase against 236476417ac6777951d1cfc26c0393bff2a64c23.

This commit is contained in:
Alistair Leslie-Hughes 2022-07-21 14:22:07 +10:00
parent 92ce758ac8
commit 6638f9ee79
4 changed files with 37 additions and 23 deletions

View File

@ -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

View File

@ -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" <erich.e.hoover@gmail.com>
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

View File

@ -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 <sebastian@fds-team.de>
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

View File

@ -1 +1 @@
e0d8bd3f5a7b4c8722d3632a9954f1647851f3d3
236476417ac6777951d1cfc26c0393bff2a64c23