Compare commits

..

113 Commits
v5.21 ... v6.2

Author SHA1 Message Date
Alistair Leslie-Hughes
3b5ea332d6 Release v6.2 2021-02-13 17:25:34 +11:00
Alistair Leslie-Hughes
81e3e6dafa Rebase against 4f7e621dc58fd82924e64c695dc61a78c55fd44e. 2021-02-13 17:11:37 +11:00
Alistair Leslie-Hughes
41cb9f5179 Rebase against b922b5aeef18fd30b13a4e86c115d68e505c9393. 2021-02-12 11:53:19 +11:00
Zebediah Figura
41e15516bd Rebase against 2d6b0b67d91b6433744ec859b10b8ee8eb4a37b3. 2021-02-10 19:45:27 -06:00
Zebediah Figura
6347bdd1fc Rebase against 7a9745022b1bfcc235b922be98a8fdc91976c587. 2021-02-08 16:01:40 -06:00
Zebediah Figura
677b445b0d Rebase against 4f1b297a14bbd304fb20da7c4b64266c14d110e5. 2021-02-05 18:01:09 -06:00
Zebediah Figura
a2f82c5c85 Rebase against dd417540bb3afb3aa5a04a007eea9a7ee347655b. 2021-02-04 17:28:33 -06:00
Zebediah Figura
cfe1b94e0f ntdll-Junction_Points: Updates from Erich E. Hoover. 2021-02-03 19:44:26 -06:00
Zebediah Figura
2be4bfb8fe Rebase against 2201ca08fb03d069fa2ccf46773c150a6f7988bc. 2021-02-03 16:10:49 -06:00
Alistair Leslie-Hughes
cae1b3eba0 Rebase against 433b9081ba7c862feb947400f507228e793d7d4c. 2021-02-03 10:11:33 +11:00
Alistair Leslie-Hughes
32b29ad4d8 Updated xactengine3_7-Notification patchset 2021-02-02 11:34:34 +11:00
Alistair Leslie-Hughes
a6054cf2e9 Rebase against cfbbde2abce1eedc7f53db3f8af8078fe4a11cac. 2021-02-02 10:51:17 +11:00
Alistair Leslie-Hughes
f6dacd2f9a Release v6.1 2021-01-31 19:09:00 +11:00
Alistair Leslie-Hughes
43c064ef3c Rebase against 47ac628b4a4e476c1b044765c95d5be2a7101d14. 2021-01-31 18:52:51 +11:00
Alistair Leslie-Hughes
5c5a8f3b2c Rebase against f72ef20e88fba67254caf0124ab8713e3d15fa2a. 2021-01-29 11:11:41 +11:00
Alistair Leslie-Hughes
bd135b1477 Updated xactengine3_7-Notification patchset 2021-01-28 13:24:47 +11:00
Alistair Leslie-Hughes
9692b2e5eb Rebase against 24b9203d3544001dd51894f1c1edd99819367198. 2021-01-28 09:08:29 +11:00
Alistair Leslie-Hughes
bcf5899a3c Drop ntdll-Interrupt-0x2e patchset
The program itself later updated not to use that interrupt, and nobody seems to have an old copy of it.
2021-01-27 11:19:20 +11:00
Alistair Leslie-Hughes
73480ec459 Rebase against c1824d578ac514d29e79a5a00d6759f11dbe4813. 2021-01-27 11:13:11 +11:00
Alistair Leslie-Hughes
fd3372e71c Rebase against 2d6462cdee2bd87a49382794e5a554f33c367f09. 2021-01-26 15:37:12 +11:00
Alistair Leslie-Hughes
3dec70bf32 Updated dsound-EAX patchset 2021-01-25 19:18:14 +11:00
Zebediah Figura
b201ee708b ntdll-NtAlertThreadByThreadId: Various fixes for Mac compilation from Gijs Vermeulen. 2021-01-24 21:49:17 -06:00
Alistair Leslie-Hughes
74534094a0 Added xactengine3_7-Notification patchset 2021-01-23 18:15:12 +11:00
Alistair Leslie-Hughes
1830eaa655 Updated msxml3-FreeThreadedXMLHTTP60 patchset
Moved coclass inside the library to ensure it's registered correctly.
2021-01-23 17:30:52 +11:00
Alistair Leslie-Hughes
f168899ce1 Rebase against 2d4dd4252b0cf6526b3cc8194cce642b16eb12f6. 2021-01-23 11:32:31 +11:00
Zebediah Figura
f8ce6cbb21 ntdll-NtAlertThreadByThreadId: Add explicit memory barriers.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50448
2021-01-21 23:32:19 -06:00
Zebediah Figura
64877514fb Rebase against 158a9e738421cd16f2e8296f11baa724c64c8ca7. 2021-01-21 17:44:50 -06:00
Alistair Leslie-Hughes
310072bb63 Updated mfplat-streaming-support patchset 2021-01-21 14:28:59 +11:00
Alistair Leslie-Hughes
2f619b2a53 Rebase against a952453888fb5df3c70edf357820bc924b4f3e7f. 2021-01-21 12:00:14 +11:00
Alistair Leslie-Hughes
76f8eb15f1 Added imm32-com-initialization patchset 2021-01-20 16:13:06 +11:00
Alistair Leslie-Hughes
6364ada0ad Rebase against 04a9c9eba77f56d61d615f1147590c67b466bdf8. 2021-01-20 10:56:34 +11:00
Alistair Leslie-Hughes
caa2471e20 Rebase against 88220e0ee41640940e7686fe0cab7f1e0bfb42f1. 2021-01-19 11:50:03 +11:00
Alistair Leslie-Hughes
2414b1da6a Release v6.0 2021-01-15 07:40:07 +11:00
Alistair Leslie-Hughes
7ab49f09a2 Release v6.0-rc6 2021-01-09 10:12:38 +11:00
Alistair Leslie-Hughes
a3d08de2b8 Rebase against 7d3186e029fb4cf417fab59483a37d8aece95b5d. 2021-01-09 09:59:05 +11:00
Alistair Leslie-Hughes
1c969cbbed Rebase against 9bc3a9f78bf5e6a09d4e9811f645def4a477f3d0. 2021-01-08 10:04:17 +11:00
Alistair Leslie-Hughes
0e7472e7a3 Added dsound-localder patchset 2021-01-07 13:22:54 +11:00
Alistair Leslie-Hughes
f3e785a3a8 Rebase against 4ac05afd39aff3030e3379ee06e32d6544ef5d62. 2021-01-07 13:15:41 +11:00
Zebediah Figura
dfddef9654 ntdll-NtAlertThreadByThreadId: Reset a thread's Win32 futex entry when waking it.
Avoid a race where two simultaneous calls to RtlWakeAddressSingle() wake the same address.
2021-01-05 19:53:40 -06:00
Alistair Leslie-Hughes
d87ec36ccf Rebase against 221fdb09b4c20da45e9834aa0cae27dcc75ea27b. 2021-01-05 09:57:51 +11:00
Alistair Leslie-Hughes
a3710ff21f Release v6.0-rc5 2021-01-03 10:25:03 +11:00
Alistair Leslie-Hughes
0e67af3d09 Updated dsound-EAX patchset
Enable this feature by default, to allow for more testing.
2021-01-01 13:48:55 +11:00
Zebediah Figura
8b1e0eec1d ntdll-NtAlertThreadByThreadId: Free the address wait entry on thread exit. 2020-12-28 12:36:15 -06:00
Zebediah Figura
b8ca0eae9f ntdll-NtAlertThreadByThreadId: Use a lock-free (list of) arrays to map thread IDs to addresses. 2020-12-28 12:22:10 -06:00
Alistair Leslie-Hughes
350eb136a5 Release v6.0-rc4 2020-12-27 10:59:24 +11:00
Alistair Leslie-Hughes
f40763d8a5 Updated dxdiag-new-dlls patchset 2020-12-27 10:03:16 +11:00
Alistair Leslie-Hughes
4462586c80 Updated mfplat-streaming-support patchset 2020-12-27 10:03:16 +11:00
Zebediah Figura
aae98229b0 libs-Unicode_Collation: Add another bug reference. 2020-12-25 14:02:42 -06:00
Zebediah Figura
7ad10427be server-File_Permissions: Clarify patch 0008 (DACL mapping) a bit.
This code should be effectively identical, but it makes the diff against
upstream a bit clearer.
2020-12-21 22:04:22 -06:00
Alistair Leslie-Hughes
9912133b6a Release v6.0-rc3 2020-12-19 14:48:29 +11:00
Alistair Leslie-Hughes
14450482bc Updated mfplat-streaming-support patchset 2020-12-19 13:09:14 +11:00
Alistair Leslie-Hughes
a8947d8016 Rebase against 0aa6f8e2ea1e3f2e852bef1a07d0d1f983870150. 2020-12-19 12:29:38 +11:00
Alistair Leslie-Hughes
a5a402a003 Added ntdll-RtlQueryProcessPlaceholderCompatibilityMode patchset 2020-12-18 09:44:36 +11:00
Alistair Leslie-Hughes
2505882bc6 Rebase against 0aa6f8e2ea1e3f2e852bef1a07d0d1f983870150. 2020-12-18 09:21:49 +11:00
Alistair Leslie-Hughes
760b2fbc35 Updated widl-winrt-support patchset 2020-12-18 08:06:29 +11:00
Zebediah Figura
909415c8d0 setupapi-DiskSpaceList: Add a bug reference. 2020-12-17 14:50:58 -06:00
Alistair Leslie-Hughes
5cd622f667 Added dxdiag-new-dlls patchset 2020-12-17 20:57:15 +11:00
Alistair Leslie-Hughes
4004f81390 Added odbccp32-SQLWriteDSNToIni patchset 2020-12-17 10:01:37 +11:00
Alistair Leslie-Hughes
28c6e62cb9 Added d3drm-IDirect3D3-support patchset 2020-12-17 09:46:35 +11:00
Alistair Leslie-Hughes
df37ef7599 Updated mfplat-streaming-support patchset
Restore file.
2020-12-17 09:37:21 +11:00
Alistair Leslie-Hughes
3b4ce945a6 Updated dxva2-Video_Decoder patchset 2020-12-17 08:14:07 +11:00
Alistair Leslie-Hughes
6d67766abd Updated mfplat-streaming-support patchset 2020-12-17 07:44:48 +11:00
Paul Gofman
143e59bfe2 Updated bcrypt-ECDHSecretAgreement patchset.
Also fix fallback function table and backend function resolution.
2020-12-16 16:23:54 +03:00
Paul Gofman
7dbce711de Updated ntdll-Syscall_Emulation patchset. 2020-12-16 12:08:17 +03:00
Paul Gofman
53bbade133 Updated bcrypt-ECDHSecretAgreement patchset.
Update key_funcs[] in gcrypt.c and thus fix the crash
on attempt to compute ECDH secret agreement.
2020-12-16 00:30:51 +03:00
Alistair Leslie-Hughes
fe5b02cbbc Rebase against 04ddabfdff644561adf0e36050db1bbc63cad83a. 2020-12-15 10:55:34 +11:00
Paul Gofman
abb7ae8b1c Updated and reenabled ntdll-NtQueryVirtualMemory patchset. 2020-12-15 00:53:49 +03:00
Alistair Leslie-Hughes
0fc2f15ac5 Updated Staging patchset
Restore file removed by mistake.
2020-12-14 15:33:15 +11:00
Alistair Leslie-Hughes
c646dc9283 Release v6.0-rc2 2020-12-13 14:02:53 +11:00
Alistair Leslie-Hughes
d0b0b5be24 Updated ntdll-Junction_Points patchset
Fixes: https://bugs.winehq.org/show_bug.cgi?id=50303
2020-12-13 13:18:23 +11:00
Alistair Leslie-Hughes
8cbc70df46 Disable ntdll-NtAlertThreadByThreadId patchset
This patchset is causing applications to freeze on startup (intermittently).

Disabled until the root cause can be fixed.
2020-12-13 09:08:36 +11:00
Alistair Leslie-Hughes
a8684593e2 Updated mfplat-streaming-support patchset 2020-12-13 08:44:17 +11:00
Alistair Leslie-Hughes
e015f0590c Updated mfplat-streaming-support patchset
Godfall intro movie playback - Still crashes though if you dont click to skip before it ends.
2020-12-10 17:15:10 +11:00
Alistair Leslie-Hughes
dea57ccd5f Revert "Updated mfplat-streaming-support patchset"
This update cause regressions with UE4 based games.

This reverts commit 3511fe03ee.
2020-12-10 17:15:10 +11:00
Zebediah Figura
fd8727a320 eventfd_synchronization: Try harder to make sure hunks are applied in the right place.
As of dc77e28 hunks were getting swapped when applied after ntdll-NtAlertThreadByThreadId. Spotted by Etienne Juvigny.
2020-12-09 23:38:36 -06:00
Zebediah Figura
dc77e28b0f ntdll-NtAlertThreadByThreadId: New patch set. 2020-12-08 20:56:56 -06:00
Zebediah Figura
213037cb33 libs-Unicode_Collation: Replace with new patches from Fabian Maurer. 2020-12-08 20:14:26 -06:00
Zebediah Figura
fce121fcd9 ntdll-Junction_Points: Do not use O_SYMLINK if it is not defined.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50255
2020-12-05 22:16:49 -06:00
Zebediah Figura
2dc013940d ntdll-DOS_Attributes: Restore a definition for FreeBSD. 2020-12-05 21:48:19 -06:00
Zebediah Figura
8229c98169 server-Stored_ACLs: Define xattr_valid_namespace() where it's first used. 2020-12-05 21:46:14 -06:00
Alistair Leslie-Hughes
d7b71f0bb4 Release v6.0rc1 2020-12-05 15:50:13 +11:00
Alistair Leslie-Hughes
3511fe03ee Updated mfplat-streaming-support patchset 2020-12-05 11:15:09 +11:00
Alistair Leslie-Hughes
7ffd7fc333 Removed libs-Debug_Channel patchset
This patch would have to completely rewriten and hasn't been used for quite sometime.
2020-12-05 10:31:59 +11:00
Alistair Leslie-Hughes
7be9c41c35 Rebase against 842b38e29166a429d59331be40761335807c85d2. 2020-12-05 10:25:39 +11:00
Alistair Leslie-Hughes
e002d94a8b Rebase against 727168a9e116a43f851df2673a9169ad280a9ec8.
Includes an updated mfplat patchset.
2020-12-04 11:22:01 +11:00
Alistair Leslie-Hughes
5eb920dd83 Rebase against e4fbae832c868e9fcf5a91c58255fe3f4ea1cb30. 2020-12-03 10:02:16 +11:00
Zebediah Figura
968e22f2ed server-unix_name: New patch set. 2020-12-02 10:35:06 -06:00
Zebediah Figura
f9e86098b3 ntdll-Junction_Points: Updates from Erich E. Hoover. 2020-12-02 10:34:50 -06:00
Alistair Leslie-Hughes
023588ac34 Rebase against 447924a6d68f7919bd451661314a52aa99cab709. 2020-12-02 09:52:16 +11:00
Alistair Leslie-Hughes
d3b70d6278 Rebase against 2ad09b01673381261815bfc804a2f69ce4d85f86. 2020-12-01 10:45:13 +11:00
Alistair Leslie-Hughes
47fea9ffa2 Updated mfplat-streaming-support patchset 2020-11-30 14:14:26 +11:00
Alistair Leslie-Hughes
2a073f334b Rebase against cbca9f847f60773b4e7e5408f6a079f4896c5c1e. 2020-11-28 15:07:12 +11:00
Alistair Leslie-Hughes
3b0de86bf9 Rebase against 9faa5eeddd24a057d9ff522259c9dbdc6203c098. 2020-11-27 11:25:44 +11:00
Alistair Leslie-Hughes
b9d3415f29 Rebase against 40d4fbe45997a1820296e7909ba2212518bcfacc. 2020-11-26 09:32:07 +11:00
Alistair Leslie-Hughes
84bb779a9b Added user32-message-order patchset 2020-11-26 08:22:51 +11:00
Alistair Leslie-Hughes
3553024da0 Updated widl-winrt-support patchset
Thanks Rémi Bernon.
2020-11-25 22:14:33 +11:00
Alistair Leslie-Hughes
991f2e8ebf Rebase against 4807a8f588c67e2296474399368a96c0046120fd. 2020-11-24 09:12:33 +11:00
Zebediah Figura
837404f454 crypt32-CRYPT_KEY_PROV_INFO: New patch set. 2020-11-22 21:03:03 -06:00
Zebediah Figura
18032936f1 ntdll-Junction_Points: Updates from Erich E. Hoover. 2020-11-22 20:16:54 -06:00
Alistair Leslie-Hughes
0ae7315541 Updated mfplat-streaming-support patchset
Already handled upstream.
2020-11-22 17:57:24 +11:00
Alistair Leslie-Hughes
f257f37b92 Updated msvcrt-Math_Precision patchset
Fixes: https://bugs.winehq.org/show_bug.cgi?id=50161
Fixes: https://bugs.winehq.org/show_bug.cgi?id=50162
2020-11-22 11:21:53 +11:00
Alistair Leslie-Hughes
371d6ff606 Release v5.22 2020-11-21 11:24:11 +11:00
Alistair Leslie-Hughes
88ffa8d374 Rebase against bedfb9cae224a369efa4588332a5518dbee57035. 2020-11-21 09:56:05 +11:00
Alistair Leslie-Hughes
7734f7a808 Rebase against 65d917402f43d6c061668cff811f5fd6729d5750. 2020-11-19 14:33:39 +11:00
Alistair Leslie-Hughes
0192a7b36c Rebase against 764a93f121c6b0f88c3444454ebb85eb7cb63295. 2020-11-18 09:40:10 +11:00
Alistair Leslie-Hughes
5566259fb5 Rebase against 86e6c0bc28177a3794950fe2a13b8208400b6194. 2020-11-17 10:18:40 +11:00
Alistair Leslie-Hughes
7bdc1d6bac Updated eventfd_synchronization patchset 2020-11-15 14:23:28 +11:00
Alistair Leslie-Hughes
852a7d9a7d Removed dwmapi-DwmGetTransportAttributes patchset
Only contains tests, and DwmGetTransportAttributes is upstream.
2020-11-15 09:47:44 +11:00
Alistair Leslie-Hughes
3b6b470bca Rebase against cf49617c1a378dd4a37ab7226187708c501b046f. 2020-11-14 21:51:08 +11:00
Alistair Leslie-Hughes
cd3ee9b25d Rebase against 1f15ddce9c7d0ee71521d7b98c698488b76d3f01. 2020-11-12 09:22:07 +11:00
Alistair Leslie-Hughes
c7ea1850c7 Rebase against b940c5e7c91bff963336dd7d2c4defc3a82c75a1. 2020-11-11 10:26:07 +11:00
Alistair Leslie-Hughes
41c7c741d7 Updated mfplat-streaming-support patchset 2020-11-10 16:42:53 +11:00
Alistair Leslie-Hughes
009f571ba1 Rebase against 572aa09de1b0e3ba0e8b19f48d5e96539625bb0a. 2020-11-10 14:02:03 +11:00
320 changed files with 16433 additions and 25824 deletions

View File

@@ -1,4 +1,4 @@
From 7529755fcc41fda650aac6b27f34438354435d34 Mon Sep 17 00:00:00 2001
From b51fdc7e211f676d169c937209bf689e57252c5d Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 21:58:40 +0100
Subject: [PATCH] dwrite: Avoid implicit cast of interface pointer.
@@ -9,10 +9,10 @@ Subject: [PATCH] dwrite: Avoid implicit cast of interface pointer.
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c
index 9280b5d32..2f0974a4c 100644
index aa51c744297..7cad015480f 100644
--- a/dlls/dwrite/font.c
+++ b/dlls/dwrite/font.c
@@ -1887,7 +1887,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
@@ -2130,7 +2130,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (IDWriteFontVtbl*)&dwritefontvtbl);
@@ -21,7 +21,7 @@ index 9280b5d32..2f0974a4c 100644
}
struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
@@ -1895,7 +1895,7 @@ struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
@@ -2138,7 +2138,7 @@ struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (IDWriteFontFaceVtbl*)&dwritefontfacevtbl);
@@ -31,10 +31,10 @@ index 9280b5d32..2f0974a4c 100644
static struct dwrite_fontfacereference *unsafe_impl_from_IDWriteFontFaceReference(IDWriteFontFaceReference *iface)
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index b9321157a..76ea23ba6 100644
index 1f6201a6a93..35791d5c22e 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -5895,7 +5895,7 @@ static const IDWriteTextFormat3Vtbl dwritetextformatvtbl =
@@ -5886,7 +5886,7 @@ static const IDWriteTextFormat3Vtbl dwritetextformatvtbl =
static struct dwrite_textformat *unsafe_impl_from_IDWriteTextFormat(IDWriteTextFormat *iface)
{
return (iface->lpVtbl == (IDWriteTextFormatVtbl*)&dwritetextformatvtbl) ?
@@ -42,7 +42,7 @@ index b9321157a..76ea23ba6 100644
+ CONTAINING_RECORD((IDWriteTextFormat3 *)iface, struct dwrite_textformat, IDWriteTextFormat3_iface) : NULL;
}
HRESULT create_textformat(const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style,
HRESULT create_textformat(const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight,
--
2.24.0
2.29.2

View File

@@ -1 +1 @@
#Depends: ntdll-FLS_Callbacks
#Depends: ntdll-NtAlertThreadByThreadId

View File

@@ -1,81 +0,0 @@
From 7e73f449d158f0d6a6b6b421d073dbaf1741e1c7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 7 Aug 2017 02:22:11 +0200
Subject: server: Correctly treat zero access mask in duplicate_token
wineserver call.
---
dlls/advapi32/tests/security.c | 14 +++++++-------
server/token.c | 3 ++-
2 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index 4a03db27e69..f1a64e29dea 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -7438,7 +7438,7 @@ static void test_token_security_descriptor(void)
ret = DuplicateTokenEx(token4, 0, NULL, SecurityImpersonation, TokenImpersonation, &token5);
ok(ret, "DuplicateTokenEx failed with error %u\n", GetLastError());
ret = SetThreadToken(NULL, token5);
- todo_wine ok(ret, "SetThreadToken failed with error %u\n", GetLastError());
+ ok(ret, "SetThreadToken failed with error %u\n", GetLastError());
CloseHandle(token4);
/* Restrict current process token while impersonating a medium integrity token */
@@ -7503,16 +7503,16 @@ static void test_token_security_descriptor(void)
size = 0;
ret = GetKernelObjectSecurity(token6, LABEL_SECURITY_INFORMATION, NULL, 0, &size);
- todo_wine ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER,
+ ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"Unexpected GetKernelObjectSecurity return value %u, error %u\n", ret, GetLastError());
sd3 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
ret = GetKernelObjectSecurity(token6, LABEL_SECURITY_INFORMATION, sd3, size, &size);
- todo_wine ok(ret, "GetKernelObjectSecurity failed with error %u\n", GetLastError());
+ ok(ret, "GetKernelObjectSecurity failed with error %u\n", GetLastError());
sacl = NULL;
ret = GetSecurityDescriptorSacl(sd3, &present, &sacl, &defaulted);
- todo_wine ok(ret, "GetSecurityDescriptorSacl failed with error %u\n", GetLastError());
+ ok(ret, "GetSecurityDescriptorSacl failed with error %u\n", GetLastError());
todo_wine ok(present, "No SACL in the security descriptor\n");
todo_wine ok(sacl != NULL, "NULL SACL in the security descriptor\n");
@@ -7606,16 +7606,16 @@ static void test_token_security_descriptor(void)
size = 0;
ret = GetKernelObjectSecurity(token4, LABEL_SECURITY_INFORMATION, NULL, 0, &size);
- todo_wine ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER,
+ ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER,
"Unexpected GetKernelObjectSecurity return value %u, error %u\n", ret, GetLastError());
sd3 = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, size);
ret = GetKernelObjectSecurity(token4, LABEL_SECURITY_INFORMATION, sd3, size, &size);
- todo_wine ok(ret, "GetKernelObjectSecurity failed with error %u\n", GetLastError());
+ ok(ret, "GetKernelObjectSecurity failed with error %u\n", GetLastError());
sacl = NULL;
ret = GetSecurityDescriptorSacl(sd3, &present, &sacl, &defaulted);
- todo_wine ok(ret, "GetSecurityDescriptorSacl failed with error %u\n", GetLastError());
+ ok(ret, "GetSecurityDescriptorSacl failed with error %u\n", GetLastError());
todo_wine ok(present, "No SACL in the security descriptor\n");
todo_wine ok(sacl != NULL, "NULL SACL in the security descriptor\n");
diff --git a/server/token.c b/server/token.c
index 6a1085bae12..292e1df80fd 100644
--- a/server/token.c
+++ b/server/token.c
@@ -1376,7 +1376,8 @@ DECL_HANDLER(duplicate_token)
struct token *token = token_duplicate( src_token, req->primary, req->impersonation_level, sd, NULL, 0, NULL, 0 );
if (token)
{
- reply->new_handle = alloc_handle_no_access_check( current->process, token, req->access, objattr->attributes );
+ unsigned int access = req->access ? req->access : get_handle_access( current->process, req->handle );
+ reply->new_handle = alloc_handle_no_access_check( current->process, token, access, objattr->attributes );
release_object( token );
}
release_object( src_token );
--
2.13.1

View File

@@ -1,4 +1,4 @@
From ef218059ebea8a860dea6b12a7b28984c51d2777 Mon Sep 17 00:00:00 2001
From 3478a4e41c07a66e7e913c54bcf5ad52e16a8fee Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 2 Oct 2020 11:29:24 -0500
Subject: [PATCH] bcrypt: Allow multiple backends to coexist.
@@ -8,13 +8,13 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
dlls/bcrypt/Makefile.in | 3 +-
dlls/bcrypt/bcrypt_internal.h | 3 +
dlls/bcrypt/gnutls.c | 32 ++++--
dlls/bcrypt/macos.c | 18 +++-
dlls/bcrypt/unixlib.c | 194 ++++++++++++++++++++++++++++++++++
5 files changed, 235 insertions(+), 15 deletions(-)
dlls/bcrypt/macos.c | 18 ++-
dlls/bcrypt/unixlib.c | 211 ++++++++++++++++++++++++++++++++++
5 files changed, 252 insertions(+), 15 deletions(-)
create mode 100644 dlls/bcrypt/unixlib.c
diff --git a/dlls/bcrypt/Makefile.in b/dlls/bcrypt/Makefile.in
index 24803fb2d7c..46a20d473dd 100644
index 24803fb2d7cb..46a20d473dd7 100644
--- a/dlls/bcrypt/Makefile.in
+++ b/dlls/bcrypt/Makefile.in
@@ -11,6 +11,7 @@ C_SRCS = \
@@ -27,11 +27,11 @@ index 24803fb2d7c..46a20d473dd 100644
RC_SRCS = version.rc
diff --git a/dlls/bcrypt/bcrypt_internal.h b/dlls/bcrypt/bcrypt_internal.h
index 463672db470..90551868cf0 100644
index eb1361115093..3c7110d05f84 100644
--- a/dlls/bcrypt/bcrypt_internal.h
+++ b/dlls/bcrypt/bcrypt_internal.h
@@ -215,4 +215,7 @@ struct key_funcs
NTSTATUS (CDECL *key_import_ecc)( struct key *, UCHAR *, ULONG );
@@ -218,4 +218,7 @@ struct key_funcs
NTSTATUS (CDECL *key_import_rsa)( struct key *, UCHAR *, ULONG );
};
+struct key_funcs *gnutls_lib_init(DWORD reason);
@@ -39,10 +39,10 @@ index 463672db470..90551868cf0 100644
+
#endif /* __BCRYPT_INTERNAL_H */
diff --git a/dlls/bcrypt/gnutls.c b/dlls/bcrypt/gnutls.c
index 5ed51e8704c..7a1eada329c 100644
index c065ac31fba3..9490ea8612a8 100644
--- a/dlls/bcrypt/gnutls.c
+++ b/dlls/bcrypt/gnutls.c
@@ -347,9 +347,12 @@ fail:
@@ -371,9 +371,12 @@ fail:
static void gnutls_uninitialize(void)
{
@@ -58,8 +58,8 @@ index 5ed51e8704c..7a1eada329c 100644
}
struct buffer
@@ -1848,19 +1851,28 @@ static const struct key_funcs key_funcs =
key_import_ecc
@@ -1949,19 +1952,28 @@ static const struct key_funcs key_funcs =
key_import_rsa
};
-NTSTATUS CDECL __wine_init_unix_lib( HMODULE module, DWORD reason, const void *ptr_in, void *ptr_out )
@@ -95,11 +95,11 @@ index 5ed51e8704c..7a1eada329c 100644
+}
+#endif
diff --git a/dlls/bcrypt/macos.c b/dlls/bcrypt/macos.c
index d8bba46ad5c..8df5ca8645f 100644
index 44906519cef0..2a88aec8362c 100644
--- a/dlls/bcrypt/macos.c
+++ b/dlls/bcrypt/macos.c
@@ -287,11 +287,21 @@ static const struct key_funcs key_funcs =
key_import_ecc
@@ -302,11 +302,21 @@ static const struct key_funcs key_funcs =
key_import_rsa
};
-NTSTATUS CDECL __wine_init_unix_lib( HMODULE module, DWORD reason, const void *ptr_in, void *ptr_out )
@@ -126,10 +126,10 @@ index d8bba46ad5c..8df5ca8645f 100644
#endif
diff --git a/dlls/bcrypt/unixlib.c b/dlls/bcrypt/unixlib.c
new file mode 100644
index 00000000000..a158ec1630a
index 000000000000..9cbb25f5740c
--- /dev/null
+++ b/dlls/bcrypt/unixlib.c
@@ -0,0 +1,194 @@
@@ -0,0 +1,211 @@
+#if 0
+#pragma makedep unix
+#endif
@@ -261,6 +261,19 @@ index 00000000000..a158ec1630a
+ FIXME( "not implemented\n" );
+}
+
+static NTSTATUS CDECL key_asymmetric_decrypt( struct key *key, UCHAR *input, ULONG input_len,
+ UCHAR *output, ULONG *output_len )
+{
+ FIXME( "not implemented\n" );
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+static NTSTATUS CDECL key_import_rsa( struct key *key, UCHAR *input, ULONG input_len )
+{
+ FIXME( "not implemented\n" );
+ return STATUS_NOT_IMPLEMENTED;
+}
+
+static struct key_funcs key_funcs =
+{
+ key_set_property,
@@ -273,6 +286,7 @@ index 00000000000..a158ec1630a
+ key_symmetric_destroy,
+ key_asymmetric_init,
+ key_asymmetric_generate,
+ key_asymmetric_decrypt,
+ key_asymmetric_duplicate,
+ key_asymmetric_sign,
+ key_asymmetric_verify,
@@ -280,7 +294,8 @@ index 00000000000..a158ec1630a
+ key_export_dsa_capi,
+ key_export_ecc,
+ key_import_dsa_capi,
+ key_import_ecc
+ key_import_ecc,
+ key_import_rsa,
+};
+
+NTSTATUS CDECL __wine_init_unix_lib( HMODULE module, DWORD reason, const void *ptr_in, void *ptr_out )
@@ -306,6 +321,7 @@ index 00000000000..a158ec1630a
+ RESOLVE_FUNC(symmetric_destroy)
+ RESOLVE_FUNC(asymmetric_init)
+ RESOLVE_FUNC(asymmetric_generate)
+ RESOLVE_FUNC(asymmetric_decrypt)
+ RESOLVE_FUNC(asymmetric_duplicate)
+ RESOLVE_FUNC(asymmetric_sign)
+ RESOLVE_FUNC(asymmetric_verify)
@@ -314,6 +330,7 @@ index 00000000000..a158ec1630a
+ RESOLVE_FUNC(export_ecc)
+ RESOLVE_FUNC(import_dsa_capi)
+ RESOLVE_FUNC(import_ecc)
+ RESOLVE_FUNC(import_rsa)
+
+#undef RESOLVE_FUNC
+
@@ -325,5 +342,5 @@ index 00000000000..a158ec1630a
+
+#endif
--
2.28.0
2.29.2

View File

@@ -1,4 +1,4 @@
From 6f2d3fa75e7fd783816d52af0ca9b3c16f2a947e Mon Sep 17 00:00:00 2001
From e2442f39015a5982bfd15479ee06d7163d36771d Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 2 Oct 2020 12:11:49 -0500
Subject: [PATCH] bcrypt: Implement BCryptSecretAgreement with libgcrypt.
@@ -9,19 +9,19 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
dlls/bcrypt/Makefile.in | 1 +
dlls/bcrypt/bcrypt_internal.h | 4 +
dlls/bcrypt/bcrypt_main.c | 55 ++++++-
dlls/bcrypt/gcrypt.c | 290 ++++++++++++++++++++++++++++++++++
dlls/bcrypt/gcrypt.c | 292 ++++++++++++++++++++++++++++++++++
dlls/bcrypt/gnutls.c | 3 +-
dlls/bcrypt/macos.c | 3 +-
dlls/bcrypt/tests/bcrypt.c | 2 +-
dlls/bcrypt/unixlib.c | 15 +-
9 files changed, 377 insertions(+), 10 deletions(-)
dlls/bcrypt/unixlib.c | 13 +-
9 files changed, 378 insertions(+), 9 deletions(-)
create mode 100644 dlls/bcrypt/gcrypt.c
diff --git a/configure.ac b/configure.ac
index 372785ee0fd..68fff9bf6d8 100644
index b6b8d49342f3..7c1c8a7ddaf4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -45,6 +45,7 @@ AC_ARG_WITH(faudio, AS_HELP_STRING([--without-faudio],[do not use FAudio (XAu
@@ -46,6 +46,7 @@ AC_ARG_WITH(faudio, AS_HELP_STRING([--without-faudio],[do not use FAudio (XAu
AC_ARG_WITH(float-abi, AS_HELP_STRING([--with-float-abi=abi],[specify the ABI (soft|softfp|hard) for ARM platforms]))
AC_ARG_WITH(fontconfig,AS_HELP_STRING([--without-fontconfig],[do not use fontconfig]))
AC_ARG_WITH(freetype, AS_HELP_STRING([--without-freetype],[do not use the FreeType library]))
@@ -29,7 +29,7 @@ index 372785ee0fd..68fff9bf6d8 100644
AC_ARG_WITH(gettext, AS_HELP_STRING([--without-gettext],[do not use gettext]))
AC_ARG_WITH(gettextpo, AS_HELP_STRING([--with-gettextpo],[use the GetTextPO library to rebuild po files]),
[if test "x$withval" = "xno"; then ac_cv_header_gettext_po_h=no; fi])
@@ -2000,6 +2001,19 @@ WINE_NOTICE_WITH(vkd3d,[test "x$ac_cv_lib_soname_vkd3d" = "x"],
@@ -1989,6 +1990,19 @@ WINE_NOTICE_WITH(vkd3d,[test "x$ac_cv_lib_soname_vkd3d" = "x"],
[vkd3d ${notice_platform}development files not found (or too old), Direct3D 12 won't be supported.])
test "x$ac_cv_lib_soname_vkd3d" != "x" || enable_d3d12=${enable_d3d12:-no}
@@ -50,7 +50,7 @@ index 372785ee0fd..68fff9bf6d8 100644
AC_SUBST(EXTRACFLAGS,"")
diff --git a/dlls/bcrypt/Makefile.in b/dlls/bcrypt/Makefile.in
index 46a20d473dd..4a3016784af 100644
index 46a20d473dd7..4a3016784af3 100644
--- a/dlls/bcrypt/Makefile.in
+++ b/dlls/bcrypt/Makefile.in
@@ -7,6 +7,7 @@ EXTRADLLFLAGS = -mno-cygwin
@@ -62,10 +62,10 @@ index 46a20d473dd..4a3016784af 100644
macos.c \
md2.c \
diff --git a/dlls/bcrypt/bcrypt_internal.h b/dlls/bcrypt/bcrypt_internal.h
index 90551868cf0..03254f72d92 100644
index 3c7110d05f84..e7991eac077a 100644
--- a/dlls/bcrypt/bcrypt_internal.h
+++ b/dlls/bcrypt/bcrypt_internal.h
@@ -191,6 +191,8 @@ struct key
@@ -192,6 +192,8 @@ struct key
struct secret
{
struct object hdr;
@@ -74,10 +74,10 @@ index 90551868cf0..03254f72d92 100644
};
struct key_funcs
@@ -213,9 +215,11 @@ struct key_funcs
NTSTATUS (CDECL *key_export_ecc)( struct key *, UCHAR *, ULONG, ULONG * );
@@ -216,9 +218,11 @@ struct key_funcs
NTSTATUS (CDECL *key_import_dsa_capi)( struct key *, UCHAR *, ULONG );
NTSTATUS (CDECL *key_import_ecc)( struct key *, UCHAR *, ULONG );
NTSTATUS (CDECL *key_import_rsa)( struct key *, UCHAR *, ULONG );
+ NTSTATUS (CDECL *key_compute_secret_ecc)( unsigned char *privkey_in, struct key *pubkey_in, struct secret *secret );
};
@@ -87,10 +87,10 @@ index 90551868cf0..03254f72d92 100644
#endif /* __BCRYPT_INTERNAL_H */
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
index 85d06f6001e..0f023d02076 100644
index a1423dcd8368..0655c5dcfe81 100644
--- a/dlls/bcrypt/bcrypt_main.c
+++ b/dlls/bcrypt/bcrypt_main.c
@@ -1828,9 +1828,12 @@ NTSTATUS WINAPI BCryptSecretAgreement(BCRYPT_KEY_HANDLE privatekey, BCRYPT_KEY_H
@@ -1932,9 +1932,12 @@ NTSTATUS WINAPI BCryptSecretAgreement(BCRYPT_KEY_HANDLE privatekey, BCRYPT_KEY_H
{
struct key *privkey = privatekey;
struct key *pubkey = publickey;
@@ -104,7 +104,7 @@ index 85d06f6001e..0f023d02076 100644
if (!privkey || privkey->hdr.magic != MAGIC_KEY) return STATUS_INVALID_HANDLE;
if (!pubkey || pubkey->hdr.magic != MAGIC_KEY) return STATUS_INVALID_HANDLE;
@@ -1839,18 +1842,39 @@ NTSTATUS WINAPI BCryptSecretAgreement(BCRYPT_KEY_HANDLE privatekey, BCRYPT_KEY_H
@@ -1943,18 +1946,39 @@ NTSTATUS WINAPI BCryptSecretAgreement(BCRYPT_KEY_HANDLE privatekey, BCRYPT_KEY_H
if (!(secret = heap_alloc_zero( sizeof(*secret) ))) return STATUS_NO_MEMORY;
secret->hdr.magic = MAGIC_SECRET;
@@ -146,7 +146,7 @@ index 85d06f6001e..0f023d02076 100644
heap_free( secret );
return STATUS_SUCCESS;
}
@@ -1860,12 +1884,33 @@ NTSTATUS WINAPI BCryptDeriveKey(BCRYPT_SECRET_HANDLE handle, LPCWSTR kdf, BCrypt
@@ -1964,12 +1988,33 @@ NTSTATUS WINAPI BCryptDeriveKey(BCRYPT_SECRET_HANDLE handle, LPCWSTR kdf, BCrypt
{
struct secret *secret = handle;
@@ -184,10 +184,10 @@ index 85d06f6001e..0f023d02076 100644
BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved )
diff --git a/dlls/bcrypt/gcrypt.c b/dlls/bcrypt/gcrypt.c
new file mode 100644
index 00000000000..00849358c68
index 000000000000..e72c27feb519
--- /dev/null
+++ b/dlls/bcrypt/gcrypt.c
@@ -0,0 +1,290 @@
@@ -0,0 +1,292 @@
+#if 0
+#pragma makedep unix
+#endif
@@ -450,6 +450,8 @@ index 00000000000..00849358c68
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ key_compute_secret_ecc
+};
+
@@ -479,38 +481,38 @@ index 00000000000..00849358c68
+}
+#endif
diff --git a/dlls/bcrypt/gnutls.c b/dlls/bcrypt/gnutls.c
index 7a1eada329c..4505a8d965c 100644
index 9490ea8612a8..78d0f2d95966 100644
--- a/dlls/bcrypt/gnutls.c
+++ b/dlls/bcrypt/gnutls.c
@@ -1848,7 +1848,8 @@ static const struct key_funcs key_funcs =
key_export_dsa_capi,
@@ -1949,7 +1949,8 @@ static const struct key_funcs key_funcs =
key_export_ecc,
key_import_dsa_capi,
- key_import_ecc
+ key_import_ecc,
key_import_ecc,
- key_import_rsa
+ key_import_rsa,
+ NULL
};
struct key_funcs * gnutls_lib_init( DWORD reason )
diff --git a/dlls/bcrypt/macos.c b/dlls/bcrypt/macos.c
index 8df5ca8645f..e44436a73fb 100644
index 2a88aec8362c..3ee3515f9de2 100644
--- a/dlls/bcrypt/macos.c
+++ b/dlls/bcrypt/macos.c
@@ -284,7 +284,8 @@ static const struct key_funcs key_funcs =
key_export_dsa_capi,
@@ -299,7 +299,8 @@ static const struct key_funcs key_funcs =
key_export_ecc,
key_import_dsa_capi,
- key_import_ecc
+ key_import_ecc,
key_import_ecc,
- key_import_rsa
+ key_import_rsa,
+ NULL
};
struct key_funcs * macos_lib_init( DWORD reason )
diff --git a/dlls/bcrypt/tests/bcrypt.c b/dlls/bcrypt/tests/bcrypt.c
index 0ae4b5dad53..559f49ec78c 100644
index 456727d04a96..6be406dee21f 100644
--- a/dlls/bcrypt/tests/bcrypt.c
+++ b/dlls/bcrypt/tests/bcrypt.c
@@ -2102,7 +2102,7 @@ static void test_ECDH(void)
@@ -2163,7 +2163,7 @@ static void test_ECDH(void)
goto raw_secret_end;
}
@@ -520,11 +522,11 @@ index 0ae4b5dad53..559f49ec78c 100644
if (status != STATUS_SUCCESS)
{
diff --git a/dlls/bcrypt/unixlib.c b/dlls/bcrypt/unixlib.c
index c122df63f0b..fabb0ea40aa 100644
index 9cbb25f5740c..6f8ff7f97887 100644
--- a/dlls/bcrypt/unixlib.c
+++ b/dlls/bcrypt/unixlib.c
@@ -129,6 +129,12 @@ static void CDECL key_asymmetric_destroy( struct key *key )
FIXME( "not implemented\n" );
@@ -142,6 +142,12 @@ static NTSTATUS CDECL key_import_rsa( struct key *key, UCHAR *input, ULONG input
return STATUS_NOT_IMPLEMENTED;
}
+static NTSTATUS CDECL key_compute_secret_ecc (unsigned char *privkey_in, struct key *pubkey_in, struct secret *secret)
@@ -536,13 +538,11 @@ index c122df63f0b..fabb0ea40aa 100644
static struct key_funcs key_funcs =
{
key_set_property,
@@ -148,13 +154,15 @@ static struct key_funcs key_funcs =
key_export_dsa_capi,
key_export_ecc,
@@ -164,12 +170,14 @@ static struct key_funcs key_funcs =
key_import_dsa_capi,
- key_import_ecc
+ key_import_ecc,
+ key_compute_secret_ecc
key_import_ecc,
key_import_rsa,
+ key_compute_secret_ecc,
};
NTSTATUS CDECL __wine_init_unix_lib( HMODULE module, DWORD reason, const void *ptr_in, void *ptr_out )
@@ -553,7 +553,7 @@ index c122df63f0b..fabb0ea40aa 100644
if (reason == DLL_PROCESS_ATTACH)
{
@@ -162,7 +170,9 @@ NTSTATUS CDECL __wine_init_unix_lib( HMODULE module, DWORD reason, const void *p
@@ -177,7 +185,9 @@ NTSTATUS CDECL __wine_init_unix_lib( HMODULE module, DWORD reason, const void *p
if (macos_funcs && macos_funcs->key_##name) \
key_funcs.key_##name = macos_funcs->key_##name; \
if (gnutls_funcs && gnutls_funcs->key_##name) \
@@ -564,14 +564,14 @@ index c122df63f0b..fabb0ea40aa 100644
RESOLVE_FUNC(set_property)
RESOLVE_FUNC(symmetric_init)
@@ -181,6 +191,7 @@ NTSTATUS CDECL __wine_init_unix_lib( HMODULE module, DWORD reason, const void *p
RESOLVE_FUNC(export_ecc)
@@ -199,6 +209,7 @@ NTSTATUS CDECL __wine_init_unix_lib( HMODULE module, DWORD reason, const void *p
RESOLVE_FUNC(import_dsa_capi)
RESOLVE_FUNC(import_ecc)
RESOLVE_FUNC(import_rsa)
+ RESOLVE_FUNC(compute_secret_ecc)
#undef RESOLVE_FUNC
--
2.28.0
2.29.2

View File

@@ -1,4 +1,4 @@
From 01530fae68970b0c0af8811c5f6c5ea85c14372c Mon Sep 17 00:00:00 2001
From 305131e59c071ca84e4447ab053b04bf4023fee8 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 7 Jan 2020 14:22:49 -0600
Subject: [PATCH] bcrypt: Implement BCRYPT_KDF_HASH.
@@ -11,10 +11,10 @@ Signed-off-by: Derek Lesho <dlesho at codeweavers.com>
2 files changed, 108 insertions(+), 3 deletions(-)
diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c
index 8dae41a2e2e..67be417aa61 100644
index 0655c5dcfe81..70e914bd41f1 100644
--- a/dlls/bcrypt/bcrypt_main.c
+++ b/dlls/bcrypt/bcrypt_main.c
@@ -1837,7 +1837,113 @@ NTSTATUS WINAPI BCryptDeriveKey(BCRYPT_SECRET_HANDLE handle, LPCWSTR kdf, BCrypt
@@ -1993,7 +1993,113 @@ NTSTATUS WINAPI BCryptDeriveKey(BCRYPT_SECRET_HANDLE handle, LPCWSTR kdf, BCrypt
if (!secret || secret->hdr.magic != MAGIC_SECRET) return STATUS_INVALID_HANDLE;
if (!kdf) return STATUS_INVALID_PARAMETER;
@@ -130,10 +130,10 @@ index 8dae41a2e2e..67be417aa61 100644
ULONG n;
ULONG secret_length = secret->len;
diff --git a/dlls/bcrypt/tests/bcrypt.c b/dlls/bcrypt/tests/bcrypt.c
index 5701a0a30ce..d4ffb3fe69c 100644
index 6be406dee21f..b13432523d15 100644
--- a/dlls/bcrypt/tests/bcrypt.c
+++ b/dlls/bcrypt/tests/bcrypt.c
@@ -2132,7 +2132,7 @@ static void test_ECDH(void)
@@ -2180,7 +2180,7 @@ static void test_ECDH(void)
raw_secret_end:
status = pBCryptDeriveKey(secret, BCRYPT_KDF_HASH, &hash_params, NULL, 0, &size, 0);
@@ -142,7 +142,7 @@ index 5701a0a30ce..d4ffb3fe69c 100644
if (status != STATUS_SUCCESS)
{
@@ -2666,7 +2666,6 @@ static void test_SecretAgreement(void)
@@ -2716,7 +2716,6 @@ static void test_SecretAgreement(void)
ok(status == STATUS_INVALID_PARAMETER, "got %08x\n", status);
status = pBCryptDeriveKey(secret, L"HASH", NULL, NULL, 0, &size, 0);
@@ -151,5 +151,5 @@ index 5701a0a30ce..d4ffb3fe69c 100644
status = pBCryptDestroyHash(secret);
--
2.28.0
2.29.2

View File

@@ -1,8 +1,7 @@
From 25b5e818272cf6fc52a8707c80b9ade3a5ca5df5 Mon Sep 17 00:00:00 2001
From a207d7f2c77296798e047ed03d88d8a060139aff Mon Sep 17 00:00:00 2001
From: Jason Edmeades <us@edmeades.me.uk>
Date: Tue, 16 Jul 2019 13:49:18 +1000
Subject: [PATCH 1/2] cmd: Support for launching programs based on file
association
Subject: [PATCH] cmd: Support for launching programs based on file association
cmd already handles exe, cmd, bat etc but if you run a file with another extension,
then use the associations set in the registry (for example via ftype / assoc) to
@@ -12,14 +11,14 @@ fred.msi for msiexec to be launched.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=18154
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=36646
---
programs/cmd/wcmdmain.c | 140 +++++++++++++++++++++++++++++-----------
1 file changed, 104 insertions(+), 36 deletions(-)
programs/cmd/wcmdmain.c | 138 +++++++++++++++++++++++++++++-----------
1 file changed, 102 insertions(+), 36 deletions(-)
diff --git a/programs/cmd/wcmdmain.c b/programs/cmd/wcmdmain.c
index 29e498a48d..2a9e4c75ee 100644
index cacb7ea7751..19a807c1624 100644
--- a/programs/cmd/wcmdmain.c
+++ b/programs/cmd/wcmdmain.c
@@ -1142,8 +1142,10 @@ void WCMD_run_program (WCHAR *command, BOOL called)
@@ -1135,8 +1135,10 @@ void WCMD_run_program (WCHAR *command, BOOL called)
/* 1. If extension supplied, see if that file exists */
if (extensionsupplied) {
@@ -31,7 +30,7 @@ index 29e498a48d..2a9e4c75ee 100644
}
}
@@ -1174,6 +1176,7 @@ void WCMD_run_program (WCHAR *command, BOOL called)
@@ -1166,6 +1168,7 @@ void WCMD_run_program (WCHAR *command, BOOL called)
}
if (GetFileAttributesW(thisDir) != INVALID_FILE_ATTRIBUTES) {
@@ -39,17 +38,9 @@ index 29e498a48d..2a9e4c75ee 100644
found = TRUE;
thisExt = NULL;
}
@@ -1191,58 +1194,123 @@ void WCMD_run_program (WCHAR *command, BOOL called)
WCHAR *ext = wcsrchr( thisDir, '.' );
static const WCHAR batExt[] = {'.','b','a','t','\0'};
static const WCHAR cmdExt[] = {'.','c','m','d','\0'};
+ static const WCHAR exeExt[] = {'.','e','x','e','\0'};
+ static const WCHAR comExt[] = {'.','c','o','m','\0'};
WINE_TRACE("Found as %s\n", wine_dbgstr_w(thisDir));
@@ -1187,52 +1190,115 @@ void WCMD_run_program (WCHAR *command, BOOL called)
/* Special case BAT and CMD */
if (ext && (!wcsicmp(ext, batExt) || !wcsicmp(ext, cmdExt))) {
if (ext && (!wcsicmp(ext, L".bat") || !wcsicmp(ext, L".cmd"))) {
BOOL oldinteractive = interactive;
+ WINE_TRACE("Calling batch program\n");
interactive = FALSE;
@@ -95,7 +86,7 @@ index 29e498a48d..2a9e4c75ee 100644
+
+ /* If it is not a .com or .exe, try to launch through ShellExecuteExW
+ which takes into account the association for the extension. */
+ if (ext && (wcsicmp(ext, exeExt) && wcsicmp(ext, comExt))) {
+ if (ext && (wcsicmp(ext, L".exe") && wcsicmp(ext, L".com"))) {
+
+ SHELLEXECUTEINFOW shexw;
+ BOOL rc;
@@ -199,5 +190,5 @@ index 29e498a48d..2a9e4c75ee 100644
}
--
2.17.1
2.29.2

View File

@@ -1,167 +0,0 @@
From b037d19858277d7dde0df6cdf4678a55517366af Mon Sep 17 00:00:00 2001
From: Alex Henrie <alexhenrie24@gmail.com>
Date: Tue, 22 Sep 2020 22:00:11 -0600
Subject: [PATCH] winspool: Add sRGB color profile
"This profile is made available by the International Color Consortium,
and may be copied, distributed, embedded, made, used, and sold without
restriction. Altered versions of this profile shall have the original
identification and copyright information removed and shall not be
misrepresented as the original profile."
See http://www.color.org/srgbprofiles.xalter
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=37396
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
---
.../winspool.drv/sRGB_Color_Space_Profile.icm | Bin 0 -> 3024 bytes
dlls/winspool.drv/winspool.rc | 3 ++
dlls/winspool.drv/wspool.c | 38 ++++++++++++++++++
dlls/winspool.drv/wspool.h | 2 +
4 files changed, 43 insertions(+)
create mode 100644 dlls/winspool.drv/sRGB_Color_Space_Profile.icm
diff --git a/dlls/winspool.drv/sRGB_Color_Space_Profile.icm b/dlls/winspool.drv/sRGB_Color_Space_Profile.icm
new file mode 100644
index 0000000000000000000000000000000000000000..49afbfef10f22a1832590b68369d2f248ea553b9
GIT binary patch
literal 3024
zcmb`Jc{r5o8^@pboqe;-klom~#=Z=)?<7n1RL0C;EQ4W?v`H$Qlq6e;oU(N2=!6`p
zq_j9fq0&N*O8IqkN}I~>9j@P{b6vkb&vRYx^M3C8x$pP6pZoda{Q^K51jvAqCy}2f
z2yl0zhlYjIaZeGKxM&3c7CSY0nf@_DE7pfmuw>n3h<vtUtxuW{AMLJ;(HbZuIuESG
z{a=#ca8ua;KrYBCI||tx;d+E=QGo%@2zLR1C&&E2f*+WZ$l(A$xPip)i&@Gg`iXKA
zgo!)=h{zhCC30D*2xlU!5fz`DhH#b0FIbL0E8;XRI~MWxB1}#fa*;fus4sgn(nRs3
zP*Ds!Ss>yBge}>zEF^|hhw$p<`Vm43NktlHVq|Q#Wc`bi=uVbDr*Q%R@mv7f?y!Y|
z^kpAf^uhola$__g2b6(2&;bl!0xW?IZ~(5r3;2RS5C%2@Hi!j@Kmam8HrNI7Kmj-i
zj(`eK4eCGxXa=pI9dv;!;5xVs2Ehmz2NPf#yasdN16Y6{2nSIhDkKM~K$?&~WCAfE
zJIEDU3k5)7P$U!s@gX6U4ef>spkk;3s(~7yU!e=o73d~31U-Nzp&96J=nIU3$uJF8
zg0)~nm<c<=-f$qi5sraV;4C;7J^+`&weT6Z4ZZ^3hDYED_%%F_0w@wn2BnH(pqMCU
zlrJhA6^#<0wxjY<rKnm|GpZBShq{ZJK+U2)qp@fznvQ0mZO|U*AT%4Dg5HiUL|35e
z(QW8n^j-8MdJg>^L%}Fw^fA^LPfRE#29trw!<1r9Va{W&VMZ|1m=9PiRtBq$wZwX0
z!?1DKt=K~BF>DL=GIj_%g`LOYaB?_(oGs25$HJxI@^Iz2Gq_8*VcazC6P|=u!JFXS
z@ZoqqJ_lclZ^U=whw(4)3j_&*Cc&EEOW+W;5Q+$OgigX8!ZcxlC`r^N+7bhaal~E3
zGGa6F8u1bF9f?FzBUzFBNj%a{QW@zi=>}<%^qDM0)+0NUBgjJX0rF|`W%2{^I|_xO
zMRA~nQ_?60C=HaWlqZx=VpK5$F;6j$*bcEuu{N<`u{YubaZPbY@lE1c;-%u}#P5jD
zN)RNpB%CE!65AyzB`!#eNz6-9C5<J0B@-nJB^xDgO1_lBNoh&BN^zuerA|s+m71cW
zsOnT_Dx12ST1UM`ou*-F+B8pE9Ib%%3vGZlCoLsyCLJuDDP1XjQF=lKC8H(dDU%>m
zB-1K0D)VKP(kjPQ+*SKmHLn_8^-)$q)<Kpln=jiUJ0kl<jxOga7cX~6u3hf2JX&5)
z-d{dL{<!=#`B?>;f{g-OAzz_Y;h`d|sHYg9xK;6_V!z_NlCqM!QnFIH(p9BdWf^4$
z<v8UM<!<E}6{?Dz3Qwg(<&w%Px-{L9o<J|7_tNK76;(Y{g{n2G1F8#Z+G;^+IchCx
zkJX9lO!a8>67?SSISmyJAB}8{CXI)h1Wl%9tmaY8KFyC>+FBu6d$roNUTVu~dunHC
zH)%i8q3GD_r0CS@+|$MCGIis1kLeET!FuL;v3iwycl2R>3w@scG5w*{nAKLR`KxPJ
zk1@y$M@BlMi7{y)W3bjB$DrNdjiH8NxZxqgKEv-u=0*udbw=aHQpR4!ImVsFf1Bu;
zuuUpW?wL|d-As3wc9_03(>LRq9XGpgPBr&2-)r7u{>{SDLSWHsF=MG=8EIK%ImV<h
z{g{Q!8&()AC#xM+T~?p1Ev(b5Tdn`HVc5jmG}^peqrHZ^rf$uYt(q;%w#IhCj&2ue
zcfxMMUe%suUu*x&LEVAlaLVC@qpo9|;~B>{PDV}wr}Iu9ovod>IbU``xwyOJy9~HW
zxdypbxIS@HbBl3na+`BEci-xM*#qO@?QzIs%u~se?b+Zt=Vj@&&8yd&?7iN*!u#1;
zy|se1oj$OSm(O9JN9#1#@z=Hc0$)$x!@iIGwEa^2e)q@v`}tS;KMybt$PVaRPhG!x
zedGEMflh%%f#X3sLBgP(VDaFH;D+FjAub`sArqm7q1!@lhslTW!aBln;lbgj!sj=*
zZaA`GI>J06FJg3~_QuSOH#f;|O4xL9v-oD#=5vvl$dJg!$geD4RxN8j$}_4eYL4y9
zKFWU0ap072X1KQ8V(yD*+vwuxmoc_6hht`9?PE)0XL-)N3f|i|kGSf%kMX|or{fnB
zLK0dM@rjX%7x+^Acz$n^a#Ci}P_lk<Uh+hWb;^;HIf1v}R4SCZF|{L&hWtqSg*w7L
z!pU^I^vd*48NnInG9@$lnf+Vzw(Q^XBFio7=dI|i?5#c7s@c1;C$~9ntJw~1kJ{d|
zLw!f?j_IB5JL`85cg64eBgZJGIOqNDklmfRO1V38r}nt-Y04AJ6XcEUwb@&}5514K
zZ(zUa{__3b^Evsq3XBR$3%(Yz3vc~o{8QOaiwB|)3=~-u9Y2UY$UiuG$o^1$v1D;p
z@zi0T!)+z>lKhhQM>Ze1S!z~VeUx}qcyyv{ZCOXTM)|?=uNAQsBb82-EmewD`>Q@4
z;~X14?r^-hTB*9A`pXI4iTgF~HEp$8wWTMqC(}<puM4j0`<eN3!zuYw1*g89=AWLZ
z52){Luxw~(RBSA2f}4a*GiM^s4F2NsOGh)Kxu!*?rQj?$D?Iz^*T`Q-TfJL*&N0t5
z|EBp{)p_dq{5Gg<OWRy~Z2Lq<SjW%>uM0h$Hl62xH~9T@mugq#Md^!0-Nf$P?!`-4
zm*y`gU!J`Zb7iV$bI<tI(5v@){d)(ld0)G6-R=6-KF7XGH*9Zo-L$@W;TH2&`)!Nc
zZT;r`=l?MO<NScdK-(S5I~{{ogPlWbhPsFChp*gqxqJPd=e^q_>qdq~gGTR<MT||{
z=iGn!AmPE=hv^R&#&<r#Jj#D8@woJf;*;8^x=&jsEG8~ax=i*zTmNi)iaquE&(uG^
zPUk+SJTHBr@}l9T$;+-8x0%6L8(vMnPJX>GoA)2d|5UxvdGp&}4uAE}h0aaC6}(;i
zyYQXdyVLK@-uKM=%|H2&_+jB={wKLl^`Dua`@V#Hd9jf375BC5o9?&H@7~`ZEha85
z{-8k&JYAjX7RFW<77P=HG2Mk5%@QW0(M8J6IVmAYD4?%TX0f?+23;gpmIcJWHm~TE
zsB!?>_W&UKaK(pgBT{F`Sk`1q_=ApIvi~>1Kja-poFc8Ycg2@f3jlK-0Mx-$UJPB7
z<Qx!4|Dg|z0B$r_z~v)H4d!t(c>EaT{Co~CjhDoy^Z4|Cv`LizZ;q8ZSF~{&Hxtp1
zNS#T^TLiqA*fhE)KaDHkvqTlK5|(a9AgVDnNsz`9Ca$I<O41yF)M!(arP?5}3nKHL
eE-t>)0svP6z_+5s#f6&1#cxP2P~!kx7XBBF2+<<|
literal 0
HcmV?d00001
diff --git a/dlls/winspool.drv/winspool.rc b/dlls/winspool.drv/winspool.rc
index 50772ce60bb..1b573be096e 100644
--- a/dlls/winspool.drv/winspool.rc
+++ b/dlls/winspool.drv/winspool.rc
@@ -47,6 +47,9 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
/* @makedep: generic.ppd */
1 PPDFILE generic.ppd
+/* @makedep: sRGB_Color_Space_Profile.icm */
+IDR_SRGB_ICM RCDATA sRGB_Color_Space_Profile.icm
+
#define WINE_FILENAME_STR "winspool.drv"
#define WINE_FILEDESCRIPTION_STR "Wine core printer driver"
diff --git a/dlls/winspool.drv/wspool.c b/dlls/winspool.drv/wspool.c
index bbfb0fb0f42..baa7bfdb455 100644
--- a/dlls/winspool.drv/wspool.c
+++ b/dlls/winspool.drv/wspool.c
@@ -104,6 +104,43 @@ BOOL load_backend(void)
return FALSE;
}
+static void create_color_profiles(void)
+{
+ static const WCHAR color_dir[] = {'\\','s','p','o','o','l',
+ '\\','d','r','i','v','e','r','s',
+ '\\','c','o','l','o','r','\\',0};
+ static const WCHAR srgb_icm[] = {'s','R','G','B',' ',
+ 'C','o','l','o','r',' ',
+ 'S','p','a','c','e',' ',
+ 'P','r','o','f','i','l','e','.','i','c','m',0};
+ WCHAR profile_path[MAX_PATH];
+ HANDLE file;
+ HRSRC res;
+ DWORD size, written;
+ char *data;
+ BOOL ret;
+
+ GetSystemDirectoryW(profile_path, ARRAY_SIZE(profile_path));
+ lstrcatW(profile_path, color_dir);
+ lstrcatW(profile_path, srgb_icm);
+
+ file = CreateFileW(profile_path, GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
+ if (file == INVALID_HANDLE_VALUE)
+ return;
+
+ ret = ((res = FindResourceA(WINSPOOL_hInstance, MAKEINTRESOURCEA(IDR_SRGB_ICM), (const char *)RT_RCDATA)) &&
+ (size = SizeofResource(WINSPOOL_hInstance, res)) &&
+ (data = LoadResource(WINSPOOL_hInstance, res)) &&
+ WriteFile(file, data, size, &written, NULL) &&
+ written == size);
+ CloseHandle(file);
+ if (!ret)
+ {
+ ERR("Failed to create %s\n", wine_dbgstr_w(profile_path));
+ DeleteFileW(profile_path);
+ }
+}
+
/******************************************************************************
* DllMain
*
@@ -118,6 +155,7 @@ BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD reason, LPVOID lpReserved)
WINSPOOL_hInstance = hInstance;
DisableThreadLibraryCalls(hInstance);
WINSPOOL_LoadSystemPrinters();
+ create_color_profiles();
break;
}
case DLL_PROCESS_DETACH:
diff --git a/dlls/winspool.drv/wspool.h b/dlls/winspool.drv/wspool.h
index 06c28231330..a229b1ffe88 100644
--- a/dlls/winspool.drv/wspool.h
+++ b/dlls/winspool.drv/wspool.h
@@ -33,5 +33,7 @@ extern void WINSPOOL_LoadSystemPrinters(void) DECLSPEC_HIDDEN;
#define IDS_FILE_EXISTS 11
#define IDS_CANNOT_OPEN 12
+#define IDR_SRGB_ICM 2
+
#define FILENAME_DIALOG 100
#define EDITBOX 201
--
2.28.0

View File

@@ -1 +0,0 @@
Fixes: [37396] Add sRGB color profile.

View File

@@ -1,4 +1,4 @@
From 39c92b48498d080c4d90e9b8d16c580dd72b1941 Mon Sep 17 00:00:00 2001
From 645cdde83d5430c5096fcb4ec4191aab7e8063ce Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Fri, 5 Jul 2019 13:20:23 +0800
Subject: [PATCH] cryptext: Implement CryptExtOpenCER.
@@ -17,31 +17,31 @@ Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
create mode 100644 dlls/cryptext/tests/cryptext.c
diff --git a/configure b/configure
index f1de2c4052..ed79a35e0e 100755
index 8567a9ca4ef..9b4ff8a2d7a 100755
--- a/configure
+++ b/configure
@@ -20063,6 +20063,7 @@ wine_fn_config_makefile dlls/crypt32/tests enable_tests
@@ -20276,6 +20276,7 @@ wine_fn_config_makefile dlls/crypt32/tests enable_tests
wine_fn_config_makefile dlls/cryptdlg enable_cryptdlg
wine_fn_config_makefile dlls/cryptdll enable_cryptdll
wine_fn_config_makefile dlls/cryptext enable_cryptext
+wine_fn_config_makefile dlls/cryptext/tests enable_tests
wine_fn_config_makefile dlls/cryptnet enable_cryptnet
wine_fn_config_makefile dlls/cryptnet/tests enable_tests
wine_fn_config_makefile dlls/cryptui enable_cryptui
wine_fn_config_makefile dlls/cryptsp enable_cryptsp
diff --git a/configure.ac b/configure.ac
index a7c45ace73..e801c35c46 100644
index 0549a9ee78a..b58b05d4dd7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3049,6 +3049,7 @@ WINE_CONFIG_MAKEFILE(dlls/crypt32/tests)
@@ -3070,6 +3070,7 @@ WINE_CONFIG_MAKEFILE(dlls/crypt32/tests)
WINE_CONFIG_MAKEFILE(dlls/cryptdlg)
WINE_CONFIG_MAKEFILE(dlls/cryptdll)
WINE_CONFIG_MAKEFILE(dlls/cryptext)
+WINE_CONFIG_MAKEFILE(dlls/cryptext/tests)
WINE_CONFIG_MAKEFILE(dlls/cryptnet)
WINE_CONFIG_MAKEFILE(dlls/cryptnet/tests)
WINE_CONFIG_MAKEFILE(dlls/cryptui)
WINE_CONFIG_MAKEFILE(dlls/cryptsp)
diff --git a/dlls/cryptext/Makefile.in b/dlls/cryptext/Makefile.in
index 9c9f84cee8..0e817ffda6 100644
index 9c9f84cee87..0e817ffda6c 100644
--- a/dlls/cryptext/Makefile.in
+++ b/dlls/cryptext/Makefile.in
@@ -1,4 +1,5 @@
@@ -52,7 +52,7 @@ index 9c9f84cee8..0e817ffda6 100644
EXTRADLLFLAGS = -mno-cygwin
diff --git a/dlls/cryptext/cryptext.spec b/dlls/cryptext/cryptext.spec
index 0dba38e393..911ab2f4ba 100644
index 0dba38e3934..911ab2f4ba4 100644
--- a/dlls/cryptext/cryptext.spec
+++ b/dlls/cryptext/cryptext.spec
@@ -12,8 +12,8 @@
@@ -67,7 +67,7 @@ index 0dba38e393..911ab2f4ba 100644
@ stub CryptExtOpenCRLW
@ stub CryptExtOpenCTL
diff --git a/dlls/cryptext/cryptext_main.c b/dlls/cryptext/cryptext_main.c
index f7c7bd1f55..2a381782d6 100644
index f7c7bd1f554..2a381782d68 100644
--- a/dlls/cryptext/cryptext_main.c
+++ b/dlls/cryptext/cryptext_main.c
@@ -22,10 +22,29 @@
@@ -151,7 +151,7 @@ index f7c7bd1f55..2a381782d6 100644
+}
diff --git a/dlls/cryptext/tests/Makefile.in b/dlls/cryptext/tests/Makefile.in
new file mode 100644
index 0000000000..522fc60a4a
index 00000000000..522fc60a4af
--- /dev/null
+++ b/dlls/cryptext/tests/Makefile.in
@@ -0,0 +1,4 @@
@@ -161,7 +161,7 @@ index 0000000000..522fc60a4a
+ cryptext.c
diff --git a/dlls/cryptext/tests/cryptext.c b/dlls/cryptext/tests/cryptext.c
new file mode 100644
index 0000000000..cc62a772b5
index 00000000000..cc62a772b59
--- /dev/null
+++ b/dlls/cryptext/tests/cryptext.c
@@ -0,0 +1,61 @@
@@ -227,5 +227,5 @@ index 0000000000..cc62a772b5
+ test_CryptExtOpenCER();
+}
--
2.17.1
2.20.1

View File

@@ -0,0 +1,76 @@
From 9ea60091ba885b5f63266374f49f0d63e2cf2767 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Wed, 16 Dec 2020 11:07:05 +1100
Subject: [PATCH] d3drm: Support IDirect3D3 when creating device
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=39346
---
dlls/d3drm/device.c | 26 ++++++++++++++++++++++++--
1 file changed, 24 insertions(+), 2 deletions(-)
diff --git a/dlls/d3drm/device.c b/dlls/d3drm/device.c
index 2e1b5f2d24f..fff272197bf 100644
--- a/dlls/d3drm/device.c
+++ b/dlls/d3drm/device.c
@@ -124,7 +124,9 @@ HRESULT d3drm_device_init(struct d3drm_device *device, UINT version, IDirectDraw
IDirectDrawSurface *ds = NULL;
IDirect3DDevice *device1 = NULL;
IDirect3DDevice2 *device2 = NULL;
+ IDirect3DDevice3 *device3 = NULL;
IDirect3D2 *d3d2 = NULL;
+ IDirect3D3 *d3d3 = NULL;
DDSURFACEDESC desc, surface_desc;
HRESULT hr;
@@ -171,19 +173,29 @@ HRESULT d3drm_device_init(struct d3drm_device *device, UINT version, IDirectDraw
if (version == 1)
hr = IDirectDrawSurface_QueryInterface(surface, &IID_IDirect3DRGBDevice, (void **)&device1);
- else
+ else if (version == 2)
{
IDirectDraw_QueryInterface(ddraw, &IID_IDirect3D2, (void**)&d3d2);
hr = IDirect3D2_CreateDevice(d3d2, &IID_IDirect3DRGBDevice, surface, &device2);
IDirect3D2_Release(d3d2);
}
+ else
+ {
+ IDirectDrawSurface4 *surface4 = NULL;
+
+ IDirectDrawSurface_QueryInterface(surface, &IID_IDirectDrawSurface4, (void**)&surface4);
+ IDirectDraw_QueryInterface(ddraw, &IID_IDirect3D3, (void**)&d3d3);
+ hr = IDirect3D3_CreateDevice(d3d3, &IID_IDirect3DRGBDevice, surface4, &device3, NULL);
+ IDirectDrawSurface4_Release(surface4);
+ IDirect3D3_Release(d3d3);
+ }
if (FAILED(hr))
{
IDirectDrawSurface_DeleteAttachedSurface(surface, 0, ds);
return hr;
}
- if (version != 1)
+ if (version == 2)
{
hr = IDirect3DDevice2_QueryInterface(device2, &IID_IDirect3DDevice, (void**)&device1);
IDirect3DDevice2_Release(device2);
@@ -193,6 +205,16 @@ HRESULT d3drm_device_init(struct d3drm_device *device, UINT version, IDirectDraw
return hr;
}
}
+ else if (version == 3)
+ {
+ hr = IDirect3DDevice3_QueryInterface(device3, &IID_IDirect3DDevice, (void**)&device1);
+ IDirect3DDevice3_Release(device3);
+ if (FAILED(hr))
+ {
+ IDirectDrawSurface_DeleteAttachedSurface(surface, 0, ds);
+ return hr;
+ }
+ }
device->device = device1;
device->width = desc.dwWidth;
device->height = desc.dwHeight;
--
2.29.2

View File

@@ -0,0 +1 @@
Fixes: [39346] Support IDirect3D3 when creating device.

View File

@@ -1,56 +0,0 @@
From bbc93f065045b7854f4446d9199c2c22c6251d3d Mon Sep 17 00:00:00 2001
From: Christian Costa <titan.costa@gmail.com>
Date: Sun, 30 Jul 2017 23:50:18 +0200
Subject: [PATCH] d3dx9: Return D3DFMT_A8R8G8B8 in
D3DXGetImageInfoFromFileInMemory for 32 bpp BMP with alpha.
---
dlls/d3dx9_36/surface.c | 18 ++++++++++++++++++
dlls/d3dx9_36/tests/surface.c | 2 +-
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/dlls/d3dx9_36/surface.c b/dlls/d3dx9_36/surface.c
index a2eca9cbdb..b670657125 100644
--- a/dlls/d3dx9_36/surface.c
+++ b/dlls/d3dx9_36/surface.c
@@ -980,6 +980,24 @@ HRESULT WINAPI D3DXGetImageInfoFromFileInMemory(const void *data, UINT datasize,
}
}
+ /* For 32 bpp BMP, windowscodecs.dll never returns a format with alpha while
+ * d3dx9_xx.dll returns one if at least 1 pixel has a non zero alpha component */
+ if (SUCCEEDED(hr) && (info->Format == D3DFMT_X8R8G8B8) && (info->ImageFileFormat == D3DXIFF_BMP)) {
+ DWORD size = sizeof(DWORD) * info->Width * info->Height;
+ BYTE *buffer = HeapAlloc(GetProcessHeap(), 0, size);
+ hr = IWICBitmapFrameDecode_CopyPixels(frame, NULL, sizeof(DWORD) * info->Width, size, buffer);
+ if (SUCCEEDED(hr)) {
+ DWORD i;
+ for (i = 0; i < info->Width * info->Height; i++) {
+ if (buffer[i*4+3]) {
+ info->Format = D3DFMT_A8R8G8B8;
+ break;
+ }
+ }
+ }
+ HeapFree(GetProcessHeap(), 0, buffer);
+ }
+
if (frame)
IWICBitmapFrameDecode_Release(frame);
diff --git a/dlls/d3dx9_36/tests/surface.c b/dlls/d3dx9_36/tests/surface.c
index 04ce57fa4f..db0c9c7291 100644
--- a/dlls/d3dx9_36/tests/surface.c
+++ b/dlls/d3dx9_36/tests/surface.c
@@ -616,7 +616,7 @@ static void test_D3DXGetImageInfo(void)
ok(info.Format == D3DFMT_X8R8G8B8, "Got unexpected format %u.\n", info.Format);
hr = D3DXGetImageInfoFromFileInMemory(bmp_32bpp_argb, sizeof(bmp_32bpp_argb), &info);
ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
- todo_wine ok(info.Format == D3DFMT_A8R8G8B8, "Got unexpected format %u.\n", info.Format);
+ ok(info.Format == D3DFMT_A8R8G8B8, "Got unexpected format %u.\n", info.Format);
/* Grayscale PNG */
hr = D3DXGetImageInfoFromFileInMemory(png_grayscale, sizeof(png_grayscale), &info);
--
2.21.0

View File

@@ -1 +0,0 @@
Fixes: [48563] Runaway: A Twist of Fate renders its cursor incorrectly

View File

@@ -0,0 +1,25 @@
From 25450e6cf073bde4f26fec40c59224087017f332 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Fri, 1 Jan 2021 13:32:48 +1100
Subject: [PATCH] dsound: Enable EAX by default
---
dlls/dsound/dsound_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index e12c2208199..bda9a446a08 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -93,7 +93,7 @@ const WCHAR wine_vxd_drv[] = L"winemm.vxd";
/* All default settings, you most likely don't want to touch these, see wiki on UsefulRegistryKeys */
int ds_hel_buflen = 32768 * 2;
int ds_hq_buffers_max = 4;
-BOOL ds_eax_enabled = FALSE;
+BOOL ds_eax_enabled = TRUE;
static HINSTANCE instance;
#define IS_OPTION_TRUE(ch) \
--
2.29.2

View File

@@ -0,0 +1,48 @@
From f8f6f53f2bb3d138717ac7a82c78010bce874d4a Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Mon, 25 Jan 2021 19:14:32 +1100
Subject: [PATCH] dsound: Fake success for EAX Set Buffer/ListenerProperties
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50551
---
dlls/dsound/buffer.c | 3 ++-
dlls/dsound/eax.c | 8 ++++----
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/dlls/dsound/buffer.c b/dlls/dsound/buffer.c
index 6393656c9fa..24ff1a6198c 100644
--- a/dlls/dsound/buffer.c
+++ b/dlls/dsound/buffer.c
@@ -1299,7 +1299,8 @@ static HRESULT WINAPI IKsPropertySetImpl_Set(IKsPropertySet *iface, REFGUID guid
TRACE("(%p,%s,%d,%p,%d,%p,%d)\n",This,debugstr_guid(guidPropSet),dwPropID,pInstanceData,cbInstanceData,pPropData,cbPropData);
- if (IsEqualGUID(&DSPROPSETID_EAX_ReverbProperties, guidPropSet) || IsEqualGUID(&DSPROPSETID_EAXBUFFER_ReverbProperties, guidPropSet))
+ if (IsEqualGUID(&DSPROPSETID_EAX_ReverbProperties, guidPropSet) || IsEqualGUID(&DSPROPSETID_EAXBUFFER_ReverbProperties, guidPropSet) ||
+ IsEqualGUID(&DSPROPSETID_EAX20_ListenerProperties, guidPropSet) || IsEqualGUID(&DSPROPSETID_EAX20_BufferProperties, guidPropSet))
return EAX_Set(This, guidPropSet, dwPropID, pInstanceData, cbInstanceData, pPropData, cbPropData);
return E_PROP_ID_UNSUPPORTED;
diff --git a/dlls/dsound/eax.c b/dlls/dsound/eax.c
index 6a6d22bc031..b3f48cdb5bd 100644
--- a/dlls/dsound/eax.c
+++ b/dlls/dsound/eax.c
@@ -1082,11 +1082,11 @@ HRESULT WINAPI EAX_Set(IDirectSoundBufferImpl *buf, REFGUID guidPropSet,
return S_OK;
} else if (IsEqualGUID(&DSPROPSETID_EAX20_ListenerProperties, guidPropSet)) {
- FIXME("Unsupported DSPROPSETID_EAX20_ListenerProperties: %d\n", dwPropID);
- return E_PROP_ID_UNSUPPORTED;
+ FIXME("Unsupported DSPROPSETID_EAX20_ListenerProperties: %d - Faking Success\n", dwPropID);
+ return S_OK;
} else if (IsEqualGUID(&DSPROPSETID_EAX20_BufferProperties, guidPropSet)) {
- FIXME("Unsupported DSPROPSETID_EAX20_BufferProperties: %d\n", dwPropID);
- return E_PROP_ID_UNSUPPORTED;
+ FIXME("Unsupported DSPROPSETID_EAX20_BufferProperties: %d - Faking Success\n", dwPropID);
+ return S_OK;
}
FIXME("(%p,%s,%d,%p,%d,%p,%d)\n",
--
2.29.2

View File

@@ -1,2 +1,3 @@
Fixes: Software support for Environmental Audio Extensions (EAX)
Fixes: [42886] Mushroom Wars - Has no sounds.
Depends: dsound-Fast_Mixer

View File

@@ -1,36 +0,0 @@
From b9eb0aeed5bc09d8a54c383c9d5149cacf36f1c3 Mon Sep 17 00:00:00 2001
From: Louis Lenders <xerox.xerox2000x@gmail.com>
Date: Wed, 5 Dec 2018 13:18:26 +0100
Subject: [PATCH] dwmapi: Add tests for DwmGetTransportAttributes().
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
---
dlls/dwmapi/tests/dwmapi.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/dlls/dwmapi/tests/dwmapi.c b/dlls/dwmapi/tests/dwmapi.c
index 1904e283bba..d79861f53ed 100644
--- a/dlls/dwmapi/tests/dwmapi.c
+++ b/dlls/dwmapi/tests/dwmapi.c
@@ -33,7 +33,18 @@ static void test_DwmIsCompositionEnabled(void)
ok(enabled == TRUE || enabled == FALSE, "Got unexpected %#x.\n", enabled);
}
+static void test_dwm_get_transport_attributes(void)
+{
+ BOOL isremoting, isconnected;
+ DWORD generation;
+ HRESULT hr;
+
+ hr = DwmGetTransportAttributes(&isremoting, &isconnected, &generation);
+ ok(hr == S_OK || hr == DWM_E_COMPOSITIONDISABLED, "Got unexpected %#x.\n", hr);
+}
+
START_TEST(dwmapi)
{
test_DwmIsCompositionEnabled();
+ test_dwm_get_transport_attributes();
}
--
2.27.0

View File

@@ -1 +0,0 @@
# Tests for bug 31350.

View File

@@ -1,4 +1,4 @@
From 6242434571910c686887b51cbbee8f6cb9b83389 Mon Sep 17 00:00:00 2001
From 73b91ff2ff705bf35d9603a6446b424af90fb199 Mon Sep 17 00:00:00 2001
From: Lucian Poston <lucianposton@pm.me>
Date: Wed, 23 May 2018 00:01:42 -0700
Subject: [PATCH] dwrite: Test GetMetrics with custom fontcollection
@@ -9,10 +9,10 @@ Signed-off-by: Lucian Poston <lucianposton@pm.me>
1 file changed, 279 insertions(+), 1 deletion(-)
diff --git a/dlls/dwrite/tests/layout.c b/dlls/dwrite/tests/layout.c
index d89ccc9d995..bf003376f86 100644
index 4cba57764fd..26f4693e862 100644
--- a/dlls/dwrite/tests/layout.c
+++ b/dlls/dwrite/tests/layout.c
@@ -3297,7 +3297,7 @@ todo_wine
@@ -3339,7 +3339,7 @@ todo_wine
DWRITE_FONT_STRETCH_NORMAL, 10.0, L"en-us", &format);
ok(hr == S_OK, "got 0x%08x\n", hr);
@@ -21,7 +21,7 @@ index d89ccc9d995..bf003376f86 100644
ok(hr == S_OK, "got 0x%08x\n", hr);
count = 0;
@@ -4480,6 +4480,7 @@ static void test_SetWordWrapping(void)
@@ -4522,6 +4522,7 @@ static void test_SetWordWrapping(void)
/* Collection dedicated to fallback testing */
static const WCHAR g_blahfontW[] = {'B','l','a','h',0};
@@ -29,7 +29,7 @@ index d89ccc9d995..bf003376f86 100644
static HRESULT WINAPI fontcollection_QI(IDWriteFontCollection *iface, REFIID riid, void **obj)
{
if (IsEqualIID(riid, &IID_IDWriteFontCollection) || IsEqualIID(riid, &IID_IUnknown)) {
@@ -4541,6 +4542,9 @@ static HRESULT WINAPI fontcollection_FindFamilyName(IDWriteFontCollection *iface
@@ -4583,6 +4584,9 @@ static HRESULT WINAPI fontcollection_FindFamilyName(IDWriteFontCollection *iface
*index = 123456;
*exists = TRUE;
return S_OK;
@@ -39,8 +39,8 @@ index d89ccc9d995..bf003376f86 100644
}
ok(0, "unexpected call, name %s\n", wine_dbgstr_w(name));
return E_NOTIMPL;
@@ -5781,6 +5785,279 @@ todo_wine {
IDWriteFactory_Release(factory);
@@ -5992,6 +5996,279 @@ if (SUCCEEDED(hr))
IDWriteFactory6_Release(factory);
}
+static void test_GetMetrics_with_custom_fontcollection(void)
@@ -319,7 +319,7 @@ index d89ccc9d995..bf003376f86 100644
START_TEST(layout)
{
IDWriteFactory *factory;
@@ -5814,6 +6091,7 @@ START_TEST(layout)
@@ -6025,6 +6302,7 @@ START_TEST(layout)
test_SetFontStretch();
test_SetStrikethrough();
test_GetMetrics();
@@ -328,5 +328,5 @@ index d89ccc9d995..bf003376f86 100644
test_SetDrawingEffect();
test_GetLineMetrics();
--
2.17.1
2.29.2

Some files were not shown because too many files have changed in this diff Show More