From c1cf0bc05aa17bababd8917024542753defca889 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Thu, 24 Feb 2022 09:58:54 +1100 Subject: [PATCH] Rebase against 7ea710c69ba46f6255c0e049b5c29bc3e06b6433. The apiset's have been left until the dll's these use are actually in wine. ext-ms-win-xaml-pal-l1-1-0 ext-ms-win-appmodel-usercontext --- ...or-code-when-calling-LsaOpenPolicy-f.patch | 20 +++--- ...pal-l1-1-0-Add-dll-and-add-stub-for-.patch | 28 ++++---- ...del-usercontext-l1-1-0-Add-dll-and-a.patch | 28 ++++---- ...nterfaces-already-define-in-msxml6.i.patch | 20 +++--- patches/patchinstall.sh | 2 +- ...open-files-without-any-permission-bi.patch | 50 +++++++------- ...dd-tests-for-ACL-inheritance-in-Crea.patch | 15 ++-- ...ly-store-the-full-security-descripto.patch | 68 +++++++++++++------ ...eturn-of-file-security-masks-with-ge.patch | 10 +-- ...file-security-attributes-with-extend.patch | 10 +-- staging/upstream-commit | 2 +- 11 files changed, 142 insertions(+), 111 deletions(-) diff --git a/patches/advapi32-LsaLookupPrivilegeName/0001-advapi32-Fix-error-code-when-calling-LsaOpenPolicy-f.patch b/patches/advapi32-LsaLookupPrivilegeName/0001-advapi32-Fix-error-code-when-calling-LsaOpenPolicy-f.patch index f2b77566..2563ceaf 100644 --- a/patches/advapi32-LsaLookupPrivilegeName/0001-advapi32-Fix-error-code-when-calling-LsaOpenPolicy-f.patch +++ b/patches/advapi32-LsaLookupPrivilegeName/0001-advapi32-Fix-error-code-when-calling-LsaOpenPolicy-f.patch @@ -1,8 +1,8 @@ -From 971cfbe9ab8a7cb62c5b3e62fe4fe0bfc4518889 Mon Sep 17 00:00:00 2001 +From a59b5e6351edfc13baca665b4f69a5d0786e7edc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 5 Mar 2017 23:04:36 +0100 -Subject: advapi32: Fix error code when calling LsaOpenPolicy for non existing - remote machine. +Subject: [PATCH] advapi32: Fix error code when calling LsaOpenPolicy for non + existing remote machine. --- dlls/advapi32/lsa.c | 2 +- @@ -10,10 +10,10 @@ Subject: advapi32: Fix error code when calling LsaOpenPolicy for non existing 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c -index bfd879bbc73..2e021a1ec2d 100644 +index b63519c0299..d8a084ff408 100644 --- a/dlls/advapi32/lsa.c +++ b/dlls/advapi32/lsa.c -@@ -659,7 +659,7 @@ NTSTATUS WINAPI LsaOpenPolicy( +@@ -739,7 +739,7 @@ NTSTATUS WINAPI LsaOpenPolicy( ObjectAttributes, DesiredAccess, PolicyHandle); ADVAPI_ForceLocalComputer(SystemName ? SystemName->Buffer : NULL, @@ -23,10 +23,10 @@ index bfd879bbc73..2e021a1ec2d 100644 if(PolicyHandle) *PolicyHandle = (LSA_HANDLE)0xcafe; diff --git a/dlls/advapi32/tests/lsa.c b/dlls/advapi32/tests/lsa.c -index 861fea0525e..bb291e65a71 100644 +index 5c00298d41e..d04f5645345 100644 --- a/dlls/advapi32/tests/lsa.c +++ b/dlls/advapi32/tests/lsa.c -@@ -39,6 +39,8 @@ DEFINE_GUID(GUID_NULL,0,0,0,0,0,0,0,0,0,0,0); +@@ -43,6 +43,8 @@ static NTSTATUS (WINAPI *pLsaGetUserName)(PUNICODE_STRING *user, PUNICODE_STRING static void test_lsa(void) { @@ -35,7 +35,7 @@ index 861fea0525e..bb291e65a71 100644 NTSTATUS status; LSA_HANDLE handle; LSA_OBJECT_ATTRIBUTES object_attributes; -@@ -46,6 +48,14 @@ static void test_lsa(void) +@@ -50,6 +52,14 @@ static void test_lsa(void) ZeroMemory(&object_attributes, sizeof(object_attributes)); object_attributes.Length = sizeof(object_attributes); @@ -49,7 +49,7 @@ index 861fea0525e..bb291e65a71 100644 + status = LsaOpenPolicy( NULL, &object_attributes, POLICY_ALL_ACCESS, &handle); ok(status == STATUS_SUCCESS || status == STATUS_ACCESS_DENIED, - "LsaOpenPolicy(POLICY_ALL_ACCESS) returned 0x%08x\n", status); + "LsaOpenPolicy(POLICY_ALL_ACCESS) returned 0x%08lx\n", status); -- -2.14.2 +2.34.1 diff --git a/patches/api-ms-win-Stub_DLLs/0009-ext-ms-win-xaml-pal-l1-1-0-Add-dll-and-add-stub-for-.patch b/patches/api-ms-win-Stub_DLLs/0009-ext-ms-win-xaml-pal-l1-1-0-Add-dll-and-add-stub-for-.patch index 17b90957..09dc37a6 100644 --- a/patches/api-ms-win-Stub_DLLs/0009-ext-ms-win-xaml-pal-l1-1-0-Add-dll-and-add-stub-for-.patch +++ b/patches/api-ms-win-Stub_DLLs/0009-ext-ms-win-xaml-pal-l1-1-0-Add-dll-and-add-stub-for-.patch @@ -1,34 +1,34 @@ -From 19efcf925a49a5d7e0b82eb6e4797b0ac725f2dc Mon Sep 17 00:00:00 2001 +From 49de5f50cf6eb5a3c4ab07be05ca25f96991ab8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 17 Jan 2016 17:07:35 +0100 Subject: [PATCH] ext-ms-win-xaml-pal-l1-1-0: Add dll and add stub for XamlBehaviorEnabled. --- - configure.ac | 1 + - dlls/ext-ms-win-xaml-pal-l1-1-0/Makefile.in | 4 +++ - .../ext-ms-win-xaml-pal-l1-1-0.spec | 6 ++++ - dlls/ext-ms-win-xaml-pal-l1-1-0/main.c | 35 ++++++++++++++++++++++ + configure.ac | 1 + + dlls/ext-ms-win-xaml-pal-l1-1-0/Makefile.in | 4 +++ + .../ext-ms-win-xaml-pal-l1-1-0.spec | 6 ++++ + dlls/ext-ms-win-xaml-pal-l1-1-0/main.c | 35 +++++++++++++++++++ 4 files changed, 46 insertions(+) create mode 100644 dlls/ext-ms-win-xaml-pal-l1-1-0/Makefile.in create mode 100644 dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-xaml-pal-l1-1-0.spec create mode 100644 dlls/ext-ms-win-xaml-pal-l1-1-0/main.c diff --git a/configure.ac b/configure.ac -index 8484c83..a9b51d2 100644 +index 7fb2da63a0b..e9ea24f2680 100644 --- a/configure.ac +++ b/configure.ac -@@ -3255,6 +3255,7 @@ WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-shell-comctl32-init-l1-1-0) - WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-shell-comdlg32-l1-1-0) - WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-shell-shell32-l1-2-0) - WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-uxtheme-themes-l1-1-0) +@@ -2572,6 +2572,7 @@ WINE_CONFIG_MAKEFILE(dlls/evr) + WINE_CONFIG_MAKEFILE(dlls/evr/tests) + WINE_CONFIG_MAKEFILE(dlls/explorerframe) + WINE_CONFIG_MAKEFILE(dlls/explorerframe/tests) +WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-xaml-pal-l1-1-0) WINE_CONFIG_MAKEFILE(dlls/faultrep) WINE_CONFIG_MAKEFILE(dlls/faultrep/tests) WINE_CONFIG_MAKEFILE(dlls/feclient) diff --git a/dlls/ext-ms-win-xaml-pal-l1-1-0/Makefile.in b/dlls/ext-ms-win-xaml-pal-l1-1-0/Makefile.in new file mode 100644 -index 0000000..6382d85 +index 00000000000..6382d85272b --- /dev/null +++ b/dlls/ext-ms-win-xaml-pal-l1-1-0/Makefile.in @@ -0,0 +1,4 @@ @@ -38,7 +38,7 @@ index 0000000..6382d85 + main.c diff --git a/dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-xaml-pal-l1-1-0.spec b/dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-xaml-pal-l1-1-0.spec new file mode 100644 -index 0000000..c167f5e +index 00000000000..c167f5e753e --- /dev/null +++ b/dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-xaml-pal-l1-1-0.spec @@ -0,0 +1,6 @@ @@ -50,7 +50,7 @@ index 0000000..c167f5e +@ stub XamlPalUninitialize diff --git a/dlls/ext-ms-win-xaml-pal-l1-1-0/main.c b/dlls/ext-ms-win-xaml-pal-l1-1-0/main.c new file mode 100644 -index 0000000..3e28275 +index 00000000000..3e282758f41 --- /dev/null +++ b/dlls/ext-ms-win-xaml-pal-l1-1-0/main.c @@ -0,0 +1,35 @@ @@ -90,5 +90,5 @@ index 0000000..3e28275 + return TRUE; +} -- -1.9.1 +2.34.1 diff --git a/patches/api-ms-win-Stub_DLLs/0010-ext-ms-win-appmodel-usercontext-l1-1-0-Add-dll-and-a.patch b/patches/api-ms-win-Stub_DLLs/0010-ext-ms-win-appmodel-usercontext-l1-1-0-Add-dll-and-a.patch index 9fe83558..0545bed3 100644 --- a/patches/api-ms-win-Stub_DLLs/0010-ext-ms-win-appmodel-usercontext-l1-1-0-Add-dll-and-a.patch +++ b/patches/api-ms-win-Stub_DLLs/0010-ext-ms-win-appmodel-usercontext-l1-1-0-Add-dll-and-a.patch @@ -1,34 +1,34 @@ -From 65dda249fcbd5c1685fc89ede60e946b910508e3 Mon Sep 17 00:00:00 2001 +From adf1cce491f1580f73599ba2ec951a4004b4e091 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 17 Jan 2016 17:12:45 +0100 Subject: [PATCH] ext-ms-win-appmodel-usercontext-l1-1-0: Add dll and add stub for UserContextExtInitialize. --- - configure.ac | 1 + - .../Makefile.in | 4 +++ - .../ext-ms-win-appmodel-usercontext-l1-1-0.spec | 3 ++ - dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c | 35 ++++++++++++++++++++++ + configure.ac | 1 + + .../Makefile.in | 4 +++ + ...xt-ms-win-appmodel-usercontext-l1-1-0.spec | 3 ++ + .../main.c | 35 +++++++++++++++++++ 4 files changed, 43 insertions(+) create mode 100644 dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in create mode 100644 dlls/ext-ms-win-appmodel-usercontext-l1-1-0/ext-ms-win-appmodel-usercontext-l1-1-0.spec create mode 100644 dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c diff --git a/configure.ac b/configure.ac -index 53ddeea..4061187 100644 +index e9ea24f2680..54c8fcb183b 100644 --- a/configure.ac +++ b/configure.ac -@@ -3238,6 +3238,7 @@ WINE_CONFIG_MAKEFILE(dlls/evr) +@@ -2572,6 +2572,7 @@ WINE_CONFIG_MAKEFILE(dlls/evr) WINE_CONFIG_MAKEFILE(dlls/evr/tests) WINE_CONFIG_MAKEFILE(dlls/explorerframe) WINE_CONFIG_MAKEFILE(dlls/explorerframe/tests) +WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-appmodel-usercontext-l1-1-0) - WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-authz-context-l1-1-0) - WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-domainjoin-netjoin-l1-1-0) - WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-dwmapi-ext-l1-1-0) + WINE_CONFIG_MAKEFILE(dlls/ext-ms-win-xaml-pal-l1-1-0) + WINE_CONFIG_MAKEFILE(dlls/faultrep) + WINE_CONFIG_MAKEFILE(dlls/faultrep/tests) diff --git a/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in new file mode 100644 -index 0000000..16eee75 +index 00000000000..16eee7588ff --- /dev/null +++ b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/Makefile.in @@ -0,0 +1,4 @@ @@ -38,7 +38,7 @@ index 0000000..16eee75 + main.c diff --git a/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/ext-ms-win-appmodel-usercontext-l1-1-0.spec b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/ext-ms-win-appmodel-usercontext-l1-1-0.spec new file mode 100644 -index 0000000..7642d15 +index 00000000000..7642d156c94 --- /dev/null +++ b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/ext-ms-win-appmodel-usercontext-l1-1-0.spec @@ -0,0 +1,3 @@ @@ -47,7 +47,7 @@ index 0000000..7642d15 +@ stub UserContextExtSetToken diff --git a/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c new file mode 100644 -index 0000000..7a9e75f +index 00000000000..7a9e75f7109 --- /dev/null +++ b/dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c @@ -0,0 +1,35 @@ @@ -87,5 +87,5 @@ index 0000000..7a9e75f + return S_OK; +} -- -2.7.4 +2.34.1 diff --git a/patches/msxml3-FreeThreadedXMLHTTP60/0001-include-Remove-interfaces-already-define-in-msxml6.i.patch b/patches/msxml3-FreeThreadedXMLHTTP60/0001-include-Remove-interfaces-already-define-in-msxml6.i.patch index c48f692e..43c6f954 100644 --- a/patches/msxml3-FreeThreadedXMLHTTP60/0001-include-Remove-interfaces-already-define-in-msxml6.i.patch +++ b/patches/msxml3-FreeThreadedXMLHTTP60/0001-include-Remove-interfaces-already-define-in-msxml6.i.patch @@ -1,4 +1,4 @@ -From f4dee57bb2912eb76741eaf74ee07397409167df Mon Sep 17 00:00:00 2001 +From 0d226ed6deed34649926c32dffe7086d2ce4f06b Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 11 Sep 2020 17:55:59 +1000 Subject: [PATCH] include: Remove interfaces already define in msxml6.idl @@ -14,10 +14,10 @@ Signed-off-by: Alistair Leslie-Hughes 6 files changed, 30 insertions(+), 121 deletions(-) diff --git a/dlls/msxml3/factory.c b/dlls/msxml3/factory.c -index 445cfbf730d..b8452ff4b4e 100644 +index c2d3cd30c60..243ee379712 100644 --- a/dlls/msxml3/factory.c +++ b/dlls/msxml3/factory.c -@@ -35,6 +35,7 @@ +@@ -31,6 +31,7 @@ #include "ole2.h" #include "msxml.h" #include "msxml2.h" @@ -26,7 +26,7 @@ index 445cfbf730d..b8452ff4b4e 100644 /* undef the #define in msxml2 so that we can access the v.2 version diff --git a/dlls/msxml3/tests/saxreader.c b/dlls/msxml3/tests/saxreader.c -index ab814c5f764..e8441311776 100644 +index d8101c4ce94..d19ad28fba9 100644 --- a/dlls/msxml3/tests/saxreader.c +++ b/dlls/msxml3/tests/saxreader.c @@ -29,6 +29,7 @@ @@ -38,7 +38,7 @@ index ab814c5f764..e8441311776 100644 #include "ocidl.h" #include "dispex.h" diff --git a/dlls/msxml3/tests/schema.c b/dlls/msxml3/tests/schema.c -index d1622ffc7da..964e368bf84 100644 +index cf55f53dbc9..fd7abca151d 100644 --- a/dlls/msxml3/tests/schema.c +++ b/dlls/msxml3/tests/schema.c @@ -32,6 +32,11 @@ @@ -52,7 +52,7 @@ index d1622ffc7da..964e368bf84 100644 + #include "wine/test.h" - #define EXPECT_HR(hr,hr_exp) \ + #define check_interface(a, b, c) check_interface_(__LINE__, a, b, c) diff --git a/dlls/msxml3/uuid.c b/dlls/msxml3/uuid.c index 4abbe5e4763..333d4f3d3c7 100644 --- a/dlls/msxml3/uuid.c @@ -259,10 +259,10 @@ index 916e0e8ab3d..1d1ba7a5248 100644 helpstring("SAXAttributes"), progid("Msxml2.SAXAttributes"), diff --git a/include/msxml6.idl b/include/msxml6.idl -index 5bfb21d04ae..bfea408ab21 100644 +index 4948de39f1f..e6a0a5feda5 100644 --- a/include/msxml6.idl +++ b/include/msxml6.idl -@@ -2946,18 +2946,6 @@ coclass DOMDocument60 +@@ -3048,18 +3048,6 @@ coclass DOMDocument60 [default, source] dispinterface XMLDOMDocumentEvents; } @@ -281,7 +281,7 @@ index 5bfb21d04ae..bfea408ab21 100644 [ helpstring("SAX XML Reader 6.0"), progid("Msxml2.SAXXMLReader.6.0"), -@@ -3063,6 +3051,18 @@ coclass XSLTemplate60 +@@ -3165,6 +3153,18 @@ coclass XSLTemplate60 [default] interface IXSLTemplate; } @@ -301,5 +301,5 @@ index 5bfb21d04ae..bfea408ab21 100644 helpstring("XML HTTP 6.0"), progid("Msxml2.XMLHTTP.6.0"), -- -2.29.2 +2.34.1 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 02244e2a..eb7db7f2 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -51,7 +51,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "4853f65c844de8277b8b0420df1a2cdb1c5b17c8" + echo "7ea710c69ba46f6255c0e049b5c29bc3e06b6433" } # Show version information diff --git a/patches/server-File_Permissions/0002-server-Allow-to-open-files-without-any-permission-bi.patch b/patches/server-File_Permissions/0002-server-Allow-to-open-files-without-any-permission-bi.patch index f9832455..ffd6b6db 100644 --- a/patches/server-File_Permissions/0002-server-Allow-to-open-files-without-any-permission-bi.patch +++ b/patches/server-File_Permissions/0002-server-Allow-to-open-files-without-any-permission-bi.patch @@ -1,4 +1,4 @@ -From 0b74f0d359fb05b1b38f211269313b7e02690e86 Mon Sep 17 00:00:00 2001 +From 4d5eb31badf375562d45bdf58c748707c2fda3ac Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Fri, 3 Apr 2015 03:58:47 +0200 Subject: [PATCH] server: Allow to open files without any permission bits. (try @@ -8,67 +8,67 @@ Changes in v2: * As suggested by Piotr, fix the problem for both files and directories. * Pay attention to requested access attributes - this fixes a couple more todo_wine's. --- - dlls/advapi32/tests/security.c | 32 ++++++++++++-------------------- + dlls/advapi32/tests/security.c | 26 ++++++++++++++++---------- server/fd.c | 20 ++++++++++++++++++++ - 2 files changed, 32 insertions(+), 20 deletions(-) + 2 files changed, 36 insertions(+), 10 deletions(-) diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c -index 020e69277e0..9466b01bc99 100644 +index 135a45f7727..cbc558aaed5 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c -@@ -3699,17 +3699,13 @@ static void test_CreateDirectoryA(void) +@@ -3710,17 +3710,13 @@ static void test_CreateDirectoryA(void) error = pGetNamedSecurityInfoA(tmpfile, SE_FILE_OBJECT, OWNER_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION, (PSID *)&owner, NULL, &pDacl, NULL, &pSD); - todo_wine - ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error); + ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %ld\n", error); - if (error == ERROR_SUCCESS) - { - 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", +- ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%ld != 0).\n", - acl_size.AceCount); - LocalFree(pSD); - } + 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", ++ ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%ld != 0).\n", + acl_size.AceCount); + LocalFree(pSD); CloseHandle(hTemp); /* Test inheritance of ACLs in NtCreateFile without security descriptor */ -@@ -3778,17 +3774,13 @@ static void test_CreateDirectoryA(void) +@@ -3789,6 +3785,7 @@ static void test_CreateDirectoryA(void) error = pGetNamedSecurityInfoA(tmpfile, SE_FILE_OBJECT, OWNER_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION, (PSID *)&owner, NULL, &pDacl, NULL, &pSD); -- todo_wine - ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error); -- if (error == ERROR_SUCCESS) -- { -- 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); -- } ++<<<<<<< HEAD + todo_wine + ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %ld\n", error); + if (error == ERROR_SUCCESS) +@@ -3800,6 +3797,15 @@ static void test_CreateDirectoryA(void) + acl_size.AceCount); + LocalFree(pSD); + } ++======= ++ 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"); + todo_wine + ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n", + acl_size.AceCount); + LocalFree(pSD); ++>>>>>>> eca474978f0 (server: Allow to open files without any permission bits. (try 2)) CloseHandle(hTemp); done: diff --git a/server/fd.c b/server/fd.c -index c0425694294..100881f21a6 100644 +index 31b64b30d43..2ff0b480f40 100644 --- a/server/fd.c +++ b/server/fd.c -@@ -1908,6 +1908,7 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode, +@@ -2044,6 +2044,7 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam int root_fd = -1; int rw_mode; char *path; @@ -76,7 +76,7 @@ index c0425694294..100881f21a6 100644 int created = (flags & O_CREAT); if (((options & FILE_DELETE_ON_CLOSE) && !(access & DELETE)) || -@@ -1972,10 +1973,28 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode, +@@ -2116,10 +2117,28 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam if ((access & FILE_UNIX_WRITE_ACCESS) || (flags & O_CREAT)) fd->unix_fd = open( name, O_RDONLY | (flags & ~(O_TRUNC | O_CREAT | O_EXCL)), *mode ); } @@ -105,7 +105,7 @@ index c0425694294..100881f21a6 100644 goto error; } } -@@ -1992,6 +2011,7 @@ struct fd *open_fd( struct fd *root, const char *name, int flags, mode_t *mode, +@@ -2130,6 +2149,7 @@ struct fd *open_fd( struct fd *root, const char *name, struct unicode_str nt_nam closed_fd->unlink = 0; closed_fd->unlink_name = fd->unlink_name; closed_fd->unix_name = fd->unix_name; @@ -114,5 +114,5 @@ index c0425694294..100881f21a6 100644 *mode = st.st_mode; -- -2.20.1 +2.34.1 diff --git a/patches/server-File_Permissions/0004-advapi32-tests-Add-tests-for-ACL-inheritance-in-Crea.patch b/patches/server-File_Permissions/0004-advapi32-tests-Add-tests-for-ACL-inheritance-in-Crea.patch index 281570a8..82faf4e5 100644 --- a/patches/server-File_Permissions/0004-advapi32-tests-Add-tests-for-ACL-inheritance-in-Crea.patch +++ b/patches/server-File_Permissions/0004-advapi32-tests-Add-tests-for-ACL-inheritance-in-Crea.patch @@ -1,18 +1,19 @@ -From 0c188a73bf19cbdb18c61d0a8417e9557c3daf59 Mon Sep 17 00:00:00 2001 +From 22cf6534ece0dbe705bacf9d3d4c4228749e535d Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Fri, 3 Apr 2015 03:58:59 +0200 -Subject: advapi32/tests: Add tests for ACL inheritance in CreateDirectoryA. +Subject: [PATCH] advapi32/tests: Add tests for ACL inheritance in + CreateDirectoryA. --- - dlls/advapi32/tests/security.c | 70 ++++++++++++++++++++++++++++++++++++++++++ + dlls/advapi32/tests/security.c | 70 ++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c -index 329ae09..36ef972 100644 +index cbc558aaed5..7b67a40afd5 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c -@@ -3404,6 +3404,76 @@ static void test_CreateDirectoryA(void) - LocalFree(pSD); +@@ -3808,6 +3808,76 @@ static void test_CreateDirectoryA(void) + >>>>>>> eca474978f0 (server: Allow to open files without any permission bits. (try 2)) CloseHandle(hTemp); + /* Test inheritance of ACLs in CreateDirectory without security descriptor */ @@ -89,5 +90,5 @@ index 329ae09..36ef972 100644 HeapFree(GetProcessHeap(), 0, user); bret = RemoveDirectoryA(tmpdir); -- -2.3.3 +2.34.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 dce9e3b6..b83acd3e 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,29 +1,67 @@ -From 8ef1df41f726dc8ceb520c46974c64f628d9f831 Mon Sep 17 00:00:00 2001 +From 10b178b8989629da42c7ad99f92c89b7552b3b8c 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 file objects. --- - dlls/advapi32/tests/security.c | 16 ++---- + dlls/advapi32/tests/security.c | 34 +++-------- server/change.c | 8 ++- server/file.c | 100 +++++++++++++++++++++------------ server/file.h | 3 +- - 4 files changed, 80 insertions(+), 47 deletions(-) + 4 files changed, 82 insertions(+), 63 deletions(-) diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c -index dadec9be388..37a81ec778d 100644 +index a32bb714c4f..ad3d715bd26 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c @@ -3702,7 +3702,6 @@ static void test_CreateDirectoryA(void) - ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error); + 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"); - todo_wine - ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n", + 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) + 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"); +- todo_wine + ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%ld != 0).\n", + acl_size.AceCount); + LocalFree(pSD); +@@ -3785,27 +3783,13 @@ static void test_CreateDirectoryA(void) + error = pGetNamedSecurityInfoA(tmpfile, SE_FILE_OBJECT, + OWNER_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION, + (PSID *)&owner, NULL, &pDacl, NULL, &pSD); +-<<<<<<< HEAD +- todo_wine +- ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %ld\n", error); +- if (error == ERROR_SUCCESS) +- { +- 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 (%ld != 0).\n", +- acl_size.AceCount); +- LocalFree(pSD); +- } +-======= +- ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %d\n", error); ++ ok(error == ERROR_SUCCESS, "GetNamedSecurityInfo failed with error %dl\n", error); + 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", ++ ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%ld != 0).\n", + acl_size.AceCount); + LocalFree(pSD); +->>>>>>> eca474978f0 (server: Allow to open files without any permission bits. (try 2)) + CloseHandle(hTemp); + + /* Test inheritance of ACLs in CreateDirectory without security descriptor */ +@@ -3850,7 +3834,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"); @@ -31,15 +69,7 @@ index dadec9be388..37a81ec778d 100644 ok(acl_size.AceCount == 0, "GetAclInformation returned unexpected entry count (%d != 0).\n", acl_size.AceCount); LocalFree(pSD); -@@ -3836,7 +3834,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"); -- todo_wine - 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) +@@ -4949,23 +4932,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); @@ -48,10 +78,10 @@ index dadec9be388..37a81ec778d 100644 + ok(bret, "Current User ACE (%s) != Current User SID (%s).\n", debugstr_sid(&ace->SidStart), debugstr_sid(user_sid)); ok(((ACE_HEADER *)ace)->AceFlags == 0, "Current User ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags); -- ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n", +- ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%lx != 0x1f01ff)\n", - ace->Mask); + todo_wine ok(ace->Mask == 0x1f01ff, -+ "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n", ace->Mask); ++ "Current User ACE has unexpected mask (0x%lx != 0x1f01ff)\n", ace->Mask); } if (acl_size.AceCount > 1) { @@ -62,10 +92,10 @@ index dadec9be388..37a81ec778d 100644 + ok(bret, "Administators Group ACE (%s) != Administators Group SID (%s).\n", debugstr_sid(&ace->SidStart), debugstr_sid(admin_sid)); ok(((ACE_HEADER *)ace)->AceFlags == 0, "Administators Group ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags); -- ok(ace->Mask == 0x1f01ff, "Administators Group ACE has unexpected mask (0x%x != 0x1f01ff)\n", +- ok(ace->Mask == 0x1f01ff, "Administators Group ACE has unexpected mask (0x%lx != 0x1f01ff)\n", - ace->Mask); + todo_wine ok(ace->Mask == 0x1f01ff, -+ "Administators Group ACE has unexpected mask (0x%x != 0x1f01ff)\n", ace->Mask); ++ "Administators Group ACE has unexpected mask (0x%lx != 0x1f01ff)\n", ace->Mask); } LocalFree(pSD); CloseHandle(obj); diff --git a/patches/server-Stored_ACLs/0006-server-Convert-return-of-file-security-masks-with-ge.patch b/patches/server-Stored_ACLs/0006-server-Convert-return-of-file-security-masks-with-ge.patch index caffa745..f9ffd218 100644 --- a/patches/server-Stored_ACLs/0006-server-Convert-return-of-file-security-masks-with-ge.patch +++ b/patches/server-Stored_ACLs/0006-server-Convert-return-of-file-security-masks-with-ge.patch @@ -1,4 +1,4 @@ -From eb893d7f6a16af59e95c3b0bd17075f47ddca9cf Mon Sep 17 00:00:00 2001 +From 8c04b2cc07d768704e6f48dfb628bef2b69c5fc7 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Fri, 18 Apr 2014 14:05:32 -0600 Subject: [PATCH] server: Convert return of file security masks with generic @@ -10,7 +10,7 @@ Subject: [PATCH] server: Convert return of file security masks with generic 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c -index 37a81ec778d..f154e5b9346 100644 +index ad3d715bd26..73ab008ba28 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c @@ -4935,8 +4935,8 @@ static void test_GetSecurityInfo(void) @@ -18,8 +18,8 @@ index 37a81ec778d..f154e5b9346 100644 ok(((ACE_HEADER *)ace)->AceFlags == 0, "Current User ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags); - todo_wine ok(ace->Mask == 0x1f01ff, -- "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n", ace->Mask); -+ ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n", +- "Current User ACE has unexpected mask (0x%lx != 0x1f01ff)\n", ace->Mask); ++ ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%lx != 0x1f01ff)\n", + ace->Mask); } if (acl_size.AceCount > 1) @@ -30,7 +30,7 @@ index 37a81ec778d..f154e5b9346 100644 "Administators Group ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags); - todo_wine ok(ace->Mask == 0x1f01ff, + ok(ace->Mask == 0x1f01ff, - "Administators Group ACE has unexpected mask (0x%x != 0x1f01ff)\n", ace->Mask); + "Administators Group ACE has unexpected mask (0x%lx != 0x1f01ff)\n", ace->Mask); } LocalFree(pSD); diff --git a/server/file.c b/server/file.c diff --git a/patches/server-Stored_ACLs/0007-server-Retrieve-file-security-attributes-with-extend.patch b/patches/server-Stored_ACLs/0007-server-Retrieve-file-security-attributes-with-extend.patch index dc8a4f45..fd9c4aef 100644 --- a/patches/server-Stored_ACLs/0007-server-Retrieve-file-security-attributes-with-extend.patch +++ b/patches/server-Stored_ACLs/0007-server-Retrieve-file-security-attributes-with-extend.patch @@ -1,4 +1,4 @@ -From b6eee87b6b0b97d351b0eabaacdf3f5febbd1502 Mon Sep 17 00:00:00 2001 +From deba3142d906195d00878beceaf832915f1a46fe Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Fri, 18 Apr 2014 14:01:35 -0600 Subject: [PATCH] server: Retrieve file security attributes with extended file @@ -10,12 +10,12 @@ Subject: [PATCH] server: Retrieve file security attributes with extended file 2 files changed, 56 insertions(+), 13 deletions(-) diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c -index f154e5b9346..f2a29e9f1a1 100644 +index 73ab008ba28..d77f29f5ce9 100644 --- a/dlls/advapi32/tests/security.c +++ b/dlls/advapi32/tests/security.c @@ -3656,7 +3656,7 @@ static void test_CreateDirectoryA(void) } - ok(!error, "GetNamedSecurityInfo failed with error %d\n", error); + ok(!error, "GetNamedSecurityInfo failed with error %ld\n", error); test_inherited_dacl(pDacl, admin_sid, user_sid, OBJECT_INHERIT_ACE|CONTAINER_INHERIT_ACE, - 0x1f01ff, FALSE, TRUE, FALSE, __LINE__); + 0x1f01ff, FALSE, FALSE, FALSE, __LINE__); @@ -32,10 +32,10 @@ index f154e5b9346..f2a29e9f1a1 100644 + debugstr_sid(&ace->SidStart), debugstr_sid(user_sid)); ok(((ACE_HEADER *)ace)->AceFlags == 0, "Current User ACE has unexpected flags (0x%x != 0x0)\n", ((ACE_HEADER *)ace)->AceFlags); -- ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n", +- ok(ace->Mask == 0x1f01ff, "Current User ACE has unexpected mask (0x%lx != 0x1f01ff)\n", - ace->Mask); + ok(ace->Mask == 0x1f01ff, -+ "Current User ACE has unexpected mask (0x%x != 0x1f01ff)\n", ace->Mask); ++ "Current User ACE has unexpected mask (0x%lx != 0x1f01ff)\n", ace->Mask); } if (acl_size.AceCount > 1) { diff --git a/staging/upstream-commit b/staging/upstream-commit index ac5be3bb..3dad600c 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -4853f65c844de8277b8b0420df1a2cdb1c5b17c8 +7ea710c69ba46f6255c0e049b5c29bc3e06b6433