Compare commits

...

333 Commits

Author SHA1 Message Date
Alistair Leslie-Hughes
d163510e1e Release v5.0-rc3 2019-12-28 18:27:35 +11:00
Alistair Leslie-Hughes
c675804204 Rebase against fa97cbdf14883fb301dcc0a5264369f8ed184182 2019-12-28 09:32:05 +11:00
Zebediah Figura
d729a7b132 Update some documentation. 2019-12-23 22:29:13 -06:00
Alistair Leslie-Hughes
2782e6db1e Updated user32-rawinput-mouse-experimental patchset 2019-12-24 08:50:21 +11:00
Alistair Leslie-Hughes
a08376bca0 Correct commit id 2019-12-24 07:58:24 +11:00
Zebediah Figura
3371e62824 gdiplus-GdipCreateBitmapFromHBITMAP: Add reference to a bug report. 2019-12-23 09:52:45 -06:00
Alistair Leslie-Hughes
8218a78955 Updated rawinput patchsets
This is a completely updated rawinput patchsets from Rémi Bernon,
replacing the current user32-rawinput.
2019-12-23 21:47:16 +11:00
Alistair Leslie-Hughes
a8cb853708 Added gdiplus-GdipCreateBitmapFromHBITMAP patchset 2019-12-23 18:07:23 +11:00
Alistair Leslie-Hughes
6cbb6dc117 Updated directmanipulation-new-dll patchset 2019-12-22 20:59:58 +11:00
Alistair Leslie-Hughes
34302e77dd Release v5.0-rc2 2019-12-21 14:31:48 +11:00
Alistair Leslie-Hughes
ae0343f628 Rebase against 6dd84c53b55ecfa2e2735a914cb126fa0c4b23a5 2019-12-21 14:28:42 +11:00
Alistair Leslie-Hughes
5905340060 Updated dmime-PChannel-range patchset 2019-12-20 10:21:04 +11:00
Paul Gofman
c8e3795e69 Updated ntoskrnl-safedisc-2 patchset
Fix kernel32 pipe tests and crash in GTAV launcher.
2019-12-19 12:40:41 +03:00
Alistair Leslie-Hughes
108662b1cc Rebase against fa66c1b3011a32036b42c436320212aa3b30ae3f 2019-12-19 09:45:39 +11:00
Paul Gofman
088d7f9ddf Added include-LdrData patchset 2019-12-18 13:23:52 +03:00
Alistair Leslie-Hughes
b788fe9549 Rebase against 238c6be5b81cbfcf8cd147b1cbb25d16803efbe1 2019-12-18 09:13:09 +11:00
Alistair Leslie-Hughes
b8b836e43d Added activeds-ADsOpenObject patchset 2019-12-17 19:08:25 +11:00
Alistair Leslie-Hughes
d44f4885f2 Added user32-window-activation patchset 2019-12-17 11:31:16 +11:00
Alistair Leslie-Hughes
73caf7ace2 Added ntoskrnl-safedisc-2 patchset 2019-12-17 11:12:41 +11:00
Paul Gofman
d36d63ac84 Updated winebuild-Fake_Dlls patchset.
Fix stack alignment in x64 syscall thunks, again.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48274
2019-12-16 16:45:05 +03:00
Alistair Leslie-Hughes
8e8259db69 Release v5.0-rc1 2019-12-14 18:41:55 +11:00
Zebediah Figura
e6aac5d240 Rebase against ce7e10868a1279573acc5be5a9659d254e936b27. 2019-12-13 21:47:52 -06:00
Paul Gofman
40d020d66e Updated winebuild-Fake_Dlls patchset.
Fix stack alignment in x64 syscall thunks.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48274
2019-12-13 19:18:23 +03:00
Alistair Leslie-Hughes
0db8c6ad3c Updated dsdmo-new-dll patchset
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48255
2019-12-13 20:58:23 +11:00
Paul Gofman
45d69ec48b Rebase against 750d382f54e494771128c6b331122be2bc747484 2019-12-13 02:37:28 +03:00
Alistair Leslie-Hughes
2326756550 Updated wintab32-improvements patchset 2019-12-12 11:46:00 +11:00
Alistair Leslie-Hughes
4522654f1c Rebase against 5f0b5d350566a46f0f999e4cff7ad9e280fcfa05 2019-12-12 11:16:40 +11:00
Alistair Leslie-Hughes
dc9fa12a14 Rebase against 626162f7db979360d231698ab1288cda97940bb9 2019-12-11 09:43:03 +11:00
Alistair Leslie-Hughes
b011002d55 comctrl-rebar-capture: Update email address 2019-12-10 18:45:50 +11:00
Zebediah Figura
3e6d6e3909 Rebase against f870aa4988fa8e980919c144682da72865364ff0. 2019-12-09 21:29:30 -06:00
Alistair Leslie-Hughes
62c069eb9f Rebase against ac245040345e2039252b26f5c44841fc730f0854 2019-12-07 14:51:02 +11:00
Zebediah Figura
cb9aa710d5 Rebase against 7ca1c4900e42d608150822ef87a7ce2847a59b6f. 2019-12-05 22:31:23 -06:00
Zebediah Figura
3a14d63abf kernelbase-ReOpenFile: Use a handle we know is invalid.
Also fixes a compiler warning spotted by Marcus Meissner.
2019-12-05 10:43:54 -06:00
Alistair Leslie-Hughes
af616c5fc3 Rebase against 67d1321c2b8eb5d54aa8fbe0807d9052ae56c1ed 2019-12-05 09:32:37 +11:00
Alistair Leslie-Hughes
7167c4d6ad Rebase against 5cf64084fb6f277c3453099a65a78817d5c9f1db 2019-12-04 10:46:54 +11:00
Alistair Leslie-Hughes
d388288e2e Updated Compiler_Warnings 2019-12-03 15:57:36 +11:00
Alistair Leslie-Hughes
7b177b15fa Updated d2d1-ID2D1Factory1 patchset 2019-12-03 15:47:34 +11:00
Alistair Leslie-Hughes
70aaee4bf8 Updated wusa-MSU_Package_Installer patchset 2019-12-03 15:27:38 +11:00
Zebediah Figura
f23d30bc06 wusa-MSU_Package_Installer: Rebase and re-enable. 2019-12-02 19:28:46 -06:00
Paul Gofman
2f95fb4782 Rebase against 5536df1ee1042c6cf20a7d96c43520003a547092 2019-12-03 03:43:30 +03:00
Alistair Leslie-Hughes
9be789b289 Release v4.21 2019-11-30 15:52:08 +11:00
Paul Gofman
0da25307db Rebase against 2935bab96569dcd734a8e855ec9a20ae27c18973 2019-11-29 22:41:24 +03:00
Alistair Leslie-Hughes
9f10bba729 Rebase against ec9eddf86b144cc0fcf975a9cc864cf08ba84eaf 2019-11-29 09:39:35 +11:00
Alistair Leslie-Hughes
14a1f8bd0c Rebase against 4ccdf3e58a816ebf9c58000e985fd21737ffd485 2019-11-28 18:31:59 +11:00
Alistair Leslie-Hughes
3ba119e67c Rebase against ce275f38a02dd5f809eea45ff3fa02f645b56a7c 2019-11-27 11:11:51 +11:00
Paul Gofman
f4987b47e3 ntdll-ForceBottomUpAlloc: Add patch. 2019-11-26 15:05:31 +03:00
Paul Gofman
ced0f96514 ntdll-RtlGetNativeSystemInformation: Add patch. 2019-11-26 14:54:35 +03:00
Alistair Leslie-Hughes
f62913bfc3 Rebase against ddec23013e39b563a3a50c0fe42c2ae8b518d538 2019-11-26 12:16:52 +11:00
Torge Matthies
3fe9b83fa4 winecfg-Staging: Fix check for GTK3 support.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48155
2019-11-22 20:08:53 -06:00
Zebediah Figura
194199011a Rebase against 190fb605c34ac1365076dff0a6560ddb42ca1ef2. 2019-11-22 20:02:37 -06:00
Alistair Leslie-Hughes
7e4e808869 Rebase against 90fc020400c06c163d4ab117d8da755b0f0e0861 2019-11-22 09:51:24 +11:00
Zebediah Figura
38efd9d1bc ntdll-x86_64_SegDs: Add patch. 2019-11-21 10:58:02 -06:00
Zebediah Figura
29cc042257 ntdll-ThreadHideFromDebugger: Add patch. 2019-11-20 18:54:23 -06:00
Zebediah Figura
1f5394ae51 Rebase against aa3d01e65019fb2f135f74cf26cfa1661ca09325. 2019-11-20 18:48:50 -06:00
Alistair Leslie-Hughes
a9639c412f Rebase against a9c4b309f6af82b624604bd0df898ad88d59ab5a 2019-11-20 10:28:28 +11:00
Zebediah Figura
d391086546 d3d9-Direct3DShaderValidatorCreate9: The last argument to "stub2" is at most 32 bits in size.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48132
2019-11-18 21:45:03 -06:00
Alistair Leslie-Hughes
41ebbee85d Rebase agaisnt 288a6625ad0177e258a0db1da166d292ff420b1e 2019-11-19 09:46:15 +11:00
Alistair Leslie-Hughes
69cf026375 Added kernelbase-ReOpenFile patchset 2019-11-18 09:51:47 +11:00
Alistair Leslie-Hughes
356f228262 Release v4.20 2019-11-16 14:10:37 +11:00
Alistair Leslie-Hughes
f94a274729 Rebase against 5725ed3b46309b62469e4f305cb0b5a9b292dd43 2019-11-14 12:08:19 +11:00
Alistair Leslie-Hughes
cec9c7c73e Restore ole32-STGPROP patch 0001 2019-11-13 16:13:53 +11:00
Zebediah Figura
411f2a9702 d3d9-Direct3DShaderValidatorCreate9: Add patch set. 2019-11-12 21:15:58 -06:00
Zebediah Figura
ef0e88407e Rebase against 292b728908563952f56b0585d072f3d7a08e93b2. 2019-11-12 19:56:51 -06:00
Zebediah Figura
8148194353 Rebase against 34ed1e37da1e1c1cfd641f1f16b0e00030cbb357. 2019-11-11 19:53:15 -06:00
Zebediah Figura
ca018c8079 ntdll-NtContinue: Fix arguments to NtContinue(). 2019-11-10 20:47:35 -06:00
Zebediah Figura
7a3f594df2 evenfd_synchronization: Fix rebase, again.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48069
2019-11-09 13:56:25 -06:00
Alistair Leslie-Hughes
01a3c15320 Rebase against 070cfc358c8ed67ba08a49ae78c20205ab4e2d00 2019-11-09 15:13:58 +11:00
Zebediah Figura
fb40c21c72 Fix some errors in the last rebase, and add more dependencies. 2019-11-07 20:28:05 -06:00
Alistair Leslie-Hughes
0a469905c2 Rebase against 88d30985ddd534e8bafed531e619846bc8d10839 2019-11-08 11:55:03 +11:00
Zebediah Figura
e1ac8f20fe ntdll-MemoryWorkingSetExInformation: Fix a typo. 2019-11-07 10:00:59 -06:00
Zebediah Figura
471dc198a8 ntdll-NtContinue: Also use NtContinue() to continue after an exception on x86_64.
Patch by David Torok.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47970
2019-11-06 21:50:56 -06:00
Zebediah Figura
6c44e84e74 ntdll-NtContinue: Get rid of the check for CONTEXT_FULL.
Returning an error (silently!) is not an improvement over printing a message
and doing nothing, especially since I suspect no caller is going to be able
to cope with NtContinue() returning.

More saliently, Legends of Runeterra apparently accidentally passes the wrong
CPU flag. We don't do anything with the CPU flag, and manual testing shows
that Windows doesn't validate it in NtGetContextThread() at least, so it
probably doesn't validate it here either.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47970
2019-11-06 21:50:52 -06:00
Zebediah Figura
0c89d96edc winebuild-Fake_Dlls: Put the RET at the end of the 64-bit syscall thunk back.
I will pretend I did not see that
2019-11-06 20:15:26 -06:00
Zebediah Figura
5fbf201ea8 winebuild-Fake_Dlls: Adjust the 64-bit syscall dispatcher to return to the first "ret" instruction.
Diagnosed by David Torok: https://bugs.winehq.org/show_bug.cgi?id=47970
2019-11-06 19:06:57 -06:00
Alistair Leslie-Hughes
8c5d374d5a Rebase agaisnt 7f469b689a2dccc0863952cd73e592df391dc607 2019-11-06 10:16:40 +11:00
Alistair Leslie-Hughes
ded2e22686 Rebase against 2b29d02aa5ba65465b4adc017cdca9a8932b0dbe 2019-11-05 12:23:05 +11:00
Alistair Leslie-Hughes
1f77584097 Release v4.19 2019-11-02 10:37:40 +11:00
Alistair Leslie-Hughes
6e793996ba Rebase against ccec532879ec14b2e79da08288152a69221ec4d1 2019-11-01 18:10:58 +11:00
Paul Gofman
6f1ebb84a2 Added ntdll-BitmaskAllocAreaSearch patchset. 2019-10-31 16:42:52 +03:00
Alistair Leslie-Hughes
d26687d90a Updated ntdll-User_Shared_Data patchset
Silence a noisy FIXME, by github user Guy1524
2019-10-31 11:48:18 +11:00
Alistair Leslie-Hughes
067a975495 Rebase against 666f7501d03983f84833a7a1952e78fd0650fde6 2019-10-30 11:26:22 +11:00
Alistair Leslie-Hughes
bc4e00ae02 Rebase against 5b62f89baa82daecd430897de0bb5cab32c5fc5e 2019-10-29 09:50:40 +11:00
Alistair Leslie-Hughes
086d99f83e Rebase against 237d5636271a1a78b02a0eb7feaab7dfb9dfed57 2019-10-28 09:12:06 +11:00
Alistair Leslie-Hughes
bc7627cdf1 Rebase against 717109ce79bbf92b5e3e93e49f96b78ece00a952 2019-10-24 08:29:06 +11:00
Alistair Leslie-Hughes
e380c1e9a7 Rebase against d82f06c07556408e9584d2a1f8b275df39c93d74 2019-10-23 10:20:30 +11:00
Alistair Leslie-Hughes
a568bd3e79 Rebase against 98c2c9a9c98d174851fa7a87db79599dd7d8af89 2019-10-22 09:01:23 +11:00
Alistair Leslie-Hughes
9807a02bb3 Release v4.18 2019-10-19 13:37:33 +11:00
Alistair Leslie-Hughes
eab8fd69f7 Rebase against 8c74027ba60a360f24cf232ee233e71262d8f1ff 2019-10-19 13:36:30 +11:00
Alistair Leslie-Hughes
b95882c061 Updated advapi32-LsaLookupSids patchset
Fix test in last rebase.
2019-10-18 10:10:00 +11:00
Alistair Leslie-Hughes
49b240d88c Rebase against 0fe003435e90dc32dd405a62af8fbcc20afc925d 2019-10-18 08:54:48 +11:00
Alistair Leslie-Hughes
c96aa29030 Added user32-InternalGetWindowIcon patchset 2019-10-14 10:40:38 +11:00
Alistair Leslie-Hughes
d432608737 Updated dinput-joy-mappings patchset 2019-10-11 14:20:41 +11:00
Alistair Leslie-Hughes
db09443c86 Updated ntdll-RtlIpv4StringToAddress reference 2019-10-11 13:34:43 +11:00
Alistair Leslie-Hughes
da73254259 Updated dinput-joy-mappings patchset
- Use heap_alloc/free
- Remove use of const buffers.
- Add "dinput: Dont allow Fixed actions to be changed."
2019-10-11 13:30:49 +11:00
Alistair Leslie-Hughes
a246130f81 Rebase against 89d9bcb1f19a03ffafa9a93a5f32049b4bfdaa00 2019-10-09 08:38:54 +11:00
Paul Gofman
042a633c8a Rebase against 15bf3eee2cf05ce98011458fc5e715f4524c4ebd 2019-10-04 02:11:27 +03:00
Zebediah Figura
cf04b8d6ac eventfd_synchronization: Cherry-pick some fixes. 2019-10-02 20:37:48 -05:00
Alistair Leslie-Hughes
6be963ebfd Rebase against 5e8eb5f4c54c3a6d3c92fd414372da2fbd5bd91a 2019-10-03 08:54:04 +10:00
Alistair Leslie-Hughes
5b066d6aed Disable user32-rawinput patchset
This is causing regressions across the board.
https://bugs.winehq.org/show_bug.cgi?id=47834

Star Craft 2, Borderlands, StarCitizen, Halo Online
2019-10-02 10:41:41 +10:00
Alistair Leslie-Hughes
c24cb89257 Rebase against b360cd67e8f7f8c01f09457bacb032fd4a248d0a 2019-10-02 10:11:40 +10:00
Paul Gofman
3d5bb83e05 Updated wined3d-zero-inf-shaders patchset.
Avoid infinity resulting from overflow in POW with multiply_setting set to 1.
2019-10-01 21:52:15 +03:00
Alistair Leslie-Hughes
0c7512f5f5 Updated user32-rawinput patchset 2019-09-29 18:06:18 +10:00
Alistair Leslie-Hughes
9fe5cabf21 Release v4.17 2019-09-28 13:26:48 +10:00
Paul Gofman
99c474f018 Updated d3d11-Deferred_Context patchset.
Fix device reference leak on command list release.
2019-09-27 17:30:48 +03:00
Paul Gofman
c942f42ee5 Remove wined3d-DXTn patchset.
Should be obsolete since 5a6efe632918fd18758897c39910d52791d46053
mainstream commit.
2019-09-27 17:30:48 +03:00
Paul Gofman
670a9e20c0 Updated d3d11-Deferred_Context patchset.
Add basic test for drawing with deferred context.
2019-09-27 17:30:27 +03:00
Paul Gofman
0c815a486b Updated d3d11-Deferred_Context patchset.
Fix test failures.
2019-09-27 16:42:57 +03:00
Paul Gofman
cdfddb170a Updated d3dx9_36-CloneEffect patchset.
Fix test failures.
2019-09-27 16:42:57 +03:00
Paul Gofman
c58f817de8 Updated d3dx9-32bpp_Alpha_Channel patchset.
Removed todo_wine from relevant test.
2019-09-27 16:42:57 +03:00
Paul Gofman
c7d0330ce8 Updated ddraw-Rendering_Targets patchset. 2019-09-27 04:09:44 +03:00
Paul Gofman
c6f7b46951 Updated d3dx9_36-Texture_Align patchset. 2019-09-27 04:04:51 +03:00
Paul Gofman
84a644848c Updated wined3d-SWVP-shaders patchset. 2019-09-27 03:53:25 +03:00
Paul Gofman
b24b3a88cc Rebase against f4ecef456595325f973487173cad3ac1269d87f9. 2019-09-27 01:05:22 +03:00
Alistair Leslie-Hughes
ced72a6a0a Add missing file 2019-09-25 19:35:51 +10:00
Alistair Leslie-Hughes
e09468ec17 Updated user32-rawinput patchset 2019-09-25 14:26:05 +10:00
Alistair Leslie-Hughes
81ac4ea01a Fix rebase 2019-09-25 14:05:04 +10:00
Alistair Leslie-Hughes
053de1b617 Drop mfplat-MFGetConfigurationDWORD patchset
Mixing Native/Builtin mfplat isn't supported.
2019-09-25 12:55:41 +10:00
Alistair Leslie-Hughes
47891c1826 Disable user32-rawinput
As Rémi Bernon patches will soon supersede this, disabled once again.
2019-09-25 12:55:30 +10:00
Alistair Leslie-Hughes
dd7f7cc1ba Rebase against ae8f605ede0054c8e380e809c196f2621d9cf423 2019-09-25 12:45:16 +10:00
Zebediah Figura
649c35ff92 Rebase against ae8f605ede0054c8e380e809c196f2621d9cf423. 2019-09-23 18:54:36 -05:00
Zebediah Figura
7c57b6eba4 Rebase against 27da4fa4498c3b6e0e46c72a9cdd13b620726e92. 2019-09-20 17:04:56 -05:00
Alistair Leslie-Hughes
c0389b0479 Enable user32-rawinput patchset 2019-09-20 08:59:46 +10:00
Alistair Leslie-Hughes
fd3b1a04e7 Added dsdmo-new-dll patchset 2019-09-19 11:54:33 +10:00
Alistair Leslie-Hughes
fab929969c Added dmime-PChannel-range patchset 2019-09-19 11:47:24 +10:00
Zebediah Figura
ccdf3d98ff uxtheme-GTK_Theming: Depend on uxtheme-CloseThemeClass. 2019-09-18 20:35:15 -05:00
Alistair Leslie-Hughes
1e58aad446 Correct GTK patchset change 2019-09-19 11:14:24 +10:00
Zebediah Figura
8dc124ce70 uxtheme-GTK_Theming: Various build fixes.
Don't add a new autoconf macro, just use the existing one.
2019-09-18 19:24:49 -05:00
Zebediah Figura
b6054fa105 Add some references to bug reports. 2019-09-18 18:39:54 -05:00
Zebediah Figura
fe6b2652ef ntdll-NtContinue: Fix rebase. 2019-09-18 18:23:55 -05:00
Alistair Leslie-Hughes
692d7d43e0 Rebase against e83f427a65726bfdefd2712a96f228e720c8b274 2019-09-19 08:53:36 +10:00
Alistair Leslie-Hughes
6bee4b6e76 Rebase against 12c09051b48507cf8bb37d500719661d0c6ad9f0 2019-09-18 08:15:22 +10:00
Alistair Leslie-Hughes
c323ef47c7 Release v4.16 2019-09-14 17:17:30 +10:00
Zebediah Figura
9e6693ed13 ntdll-Interrupt-0x2e: Fully handle interrupt 0x2e on the signal stack. 2019-09-13 17:12:40 -05:00
Zebediah Figura
29bdd4cd85 ntdll-Signal_Handler: Restore accidentally deleted hunk. 2019-09-13 17:03:26 -05:00
Zebediah Figura
39d7dcb2c6 Rebase against 3bf7473b880eea8b8dcaa43487afda2d7b1fbd03. 2019-09-13 17:03:00 -05:00
Alistair Leslie-Hughes
2e4d0f4727 Updated wined3d-zero-inf-shaders patchset 2019-09-13 09:28:30 +10:00
Alistair Leslie-Hughes
fd818b1914 Update mfplat-MFGetConfigurationDWORD patchset 2019-09-13 09:28:30 +10:00
Alistair Leslie-Hughes
26e542b4e5 Rebase against 85d8d1390467147fca416236fd50bb6ea2e2c8e4 2019-09-13 09:28:30 +10:00
Alistair Leslie-Hughes
6ef7be2566 Updated directmanipulation-new-dll patchset 2019-09-12 09:00:15 +10:00
Alistair Leslie-Hughes
5b012f08d5 Added mfplat-MFGetConfigurationDWORD patchset 2019-09-12 09:00:15 +10:00
Alistair Leslie-Hughes
8390ba0d95 Added wined3d-zero-inf-shaders patchset 2019-09-12 08:33:01 +10:00
Alistair Leslie-Hughes
fb18deb95f Rebase against 1413f577c592cd4aaeb3dba1a8adbe3e04d62d29 2019-09-11 09:26:34 +10:00
Alistair Leslie-Hughes
27b33a4be9 Remove setupapi-Display_Device patchset
This has been reported as fixed upstream and is no longer required.

Thanks Zhiyi Zhang.
2019-09-10 18:16:20 +10:00
Zebediah Figura
a15bdaa0ba Rebase against 01b19b63a454aa455928c10c694895fdba901aba. 2019-09-09 18:52:44 -05:00
Zebediah Figura
734918298c Rebase against 765815729fc4af2472e60551364e3b29dccfbcff. 2019-09-06 17:38:54 -05:00
Alistair Leslie-Hughes
bc1aa54891 Rebase against 92c00c51b21594987d342b5ce00c174ab4e84595 2019-09-05 08:52:02 +10:00
Alistair Leslie-Hughes
2da0d341f6 Rebase against 363b8809f37b3ea5915ea4240b3d397fd2355e2e 2019-09-04 08:23:20 +10:00
Alistair Leslie-Hughes
155cb0b051 Rebase against 0c2f5f8b15a4f7bb7008c3efb12b4cd3c774a3a1 2019-09-04 08:02:11 +10:00
Alistair Leslie-Hughes
498c9eae60 Added macos-compile patchset 2019-09-04 07:58:11 +10:00
Alistair Leslie-Hughes
a46b9ff3dc Release v4.15 2019-08-31 17:01:02 +10:00
Alistair Leslie-Hughes
6589142220 Updated ntdll-RtlIpv4StringToAddress patchset 2019-08-31 17:01:02 +10:00
Alistair Leslie-Hughes
fd3bb06a4c Disabled user32-rawinput patchset
This is currently causing a regression in Overwatch.
Disabled until an updated patch corrects the regression found.
2019-08-31 17:01:02 +10:00
Zebediah Figura
49aafeb17b Rebase against a4aaf3f3d184c2cdad8c4bf06dc10980744a9d15. 2019-08-30 17:36:34 -05:00
Alistair Leslie-Hughes
841e2a8cda Rebase against e54f1cf9fba1ae8748e8e5c577530138baaf9e3d 2019-08-30 08:51:18 +10:00
Alistair Leslie-Hughes
4aa460b8cd Rebase against 124f48d3114fe86f5feda2ce200d87b97c4009de 2019-08-29 10:21:37 +10:00
Alistair Leslie-Hughes
512d0b1d30 Added wined3d-inverted-objects patchset 2019-08-28 10:25:51 +10:00
Alistair Leslie-Hughes
ff10ae6e74 Rebase against 480bae108c96dfe370feba2680dbefc42ef97571 2019-08-27 09:19:43 +10:00
Alistair Leslie-Hughes
fcfeaf092c Drop mailing-list-patches patchset 2019-08-26 16:14:56 +10:00
Zebediah Figura
2da5f18812 Rebase against f238e846e701d2039eceb51f2f6e9d936f8c791c. 2019-08-23 16:10:19 -05:00
Zebediah Figura
004a5a5717 ntoskrnl.exe-IoInvalidateDeviceRelations: Create separate patch set. 2019-08-23 15:33:28 -05:00
Alistair Leslie-Hughes
7447216104 Rebase against fb5b0c64639c056d55e14011a3b4e6f2d83e7cda 2019-08-23 08:14:11 +10:00
Alistair Leslie-Hughes
938dddf7df Added user32-rawinput patchset
This include patch from winex11-mouse-movements.
2019-08-22 14:33:14 +10:00
Alistair Leslie-Hughes
618e349c72 Rebase against a64b9c93b1eeef151221b5a100547fdae85435f4 2019-08-21 08:19:29 +10:00
Alistair Leslie-Hughes
2007f010ac Rebase against 5ea3a044b83c4cd55a3c647f5e80511a85b9f536 2019-08-20 08:39:18 +10:00
Alistair Leslie-Hughes
fb4fcb4da6 Updated ntdll-NtQuerySection patchset 2019-08-19 11:56:35 +10:00
Alistair Leslie-Hughes
74068f2cab Updated uxtheme-GTK_Theming patchset
Correct warnings this time.
2019-08-19 10:36:41 +10:00
Alistair Leslie-Hughes
31157f5ed4 Updated kernel32-SetProcessDEPPolicy patchset 2019-08-19 10:35:46 +10:00
Alistair Leslie-Hughes
3813f414ed Updated directmanipulation-new-dll patchset 2019-08-19 10:07:18 +10:00
Alistair Leslie-Hughes
c6f239ef2e Updated ddraw-Texture_Wrong_Caps patchset 2019-08-19 10:06:24 +10:00
Alistair Leslie-Hughes
3b3cb09acc Added kernel32-EnumSystemFirmwareTables patchset 2019-08-19 09:45:23 +10:00
Alistair Leslie-Hughes
5734c2c2df Added cryptext-CryptExtOpenCER patchset 2019-08-19 09:45:23 +10:00
Alistair Leslie-Hughes
8ceae1a2a3 Updated uxtheme-GTK_Theming patchset 2019-08-19 09:45:23 +10:00
Alistair Leslie-Hughes
31c73c6b53 Release v4.14 2019-08-17 16:37:01 +10:00
Alistair Leslie-Hughes
c205df71c7 Updated advapi32-Token_Integrity_Level patchset 2019-08-16 21:47:24 +10:00
Alistair Leslie-Hughes
010c308abd Updated fsutil-Stub_Program patchset 2019-08-16 20:10:02 +10:00
Alistair Leslie-Hughes
924665da6f Updated wusa-MSU_Package_Installer patchset 2019-08-16 20:10:02 +10:00
Alistair Leslie-Hughes
523d4ac996 Rebase against dc23cca322a93915465a1ea3ca6f360106cd2018 2019-08-16 08:54:07 +10:00
Alistair Leslie-Hughes
67035d62f7 Rebase against 4c6aa8b2fa1678c39aa5a89d9b26cfc4002e744e 2019-08-15 14:07:34 +10:00
Alistair Leslie-Hughes
35a5f7db93 Rebase against 4c6aa8b2fa1678c39aa5a89d9b26cfc4002e744e 2019-08-14 10:02:43 +10:00
Alistair Leslie-Hughes
ca09e8918c Rebase against cf5ccf29a9ae341cebe03634b3c4220c0c59ea53 2019-08-13 10:40:13 +10:00
Zebediah Figura
49b441e0df Rebase against 5e8ded1646579a597c029531f2612930b17c7627. 2019-08-09 20:12:17 -05:00
Zebediah Figura
f901156486 Rebase against 6e3d68b14120563fd584fe9c5a27885f51e7ae66. 2019-08-08 20:33:13 -05:00
Zebediah Figura
c7780d90cb Rebase against 9855fbe252ff3664d879e8cd9f5d1ea879af47dd. 2019-08-08 20:14:29 -05:00
Alistair Leslie-Hughes
73f58bac41 Rebase against 15dd8e2b981ca32cae94409153627b3300bbeab8 2019-08-06 09:06:07 +10:00
Alistair Leslie-Hughes
ad822b6405 Added user32-recursive-activation patchset 2019-08-05 10:27:34 +10:00
Alistair Leslie-Hughes
9917fb4559 Updated wintab32-improvements patchset
Dropped scalling patch as it's causing regressions.
2019-08-05 08:56:26 +10:00
Alistair Leslie-Hughes
3f06c18b19 Release v4.13 2019-08-03 13:35:02 +10:00
Alistair Leslie-Hughes
2474aff2c1 Rebase against 559842ffc15f85b54a8731b6c6603468f9dd740b 2019-08-03 09:37:53 +10:00
Alistair Leslie-Hughes
c9b8050f9d Rebase against 559842ffc15f85b54a8731b6c6603468f9dd740b 2019-08-02 08:48:28 +10:00
Alistair Leslie-Hughes
2394b08005 Rebase against fdf8d7176f59043999b34ff4facdcbee14a7d6aa 2019-08-01 08:46:58 +10:00
Alistair Leslie-Hughes
276ed085b7 Updated wuauserv-Dummy_Service patchset 2019-07-30 14:18:24 +10:00
Alistair Leslie-Hughes
b5010c55e8 Updated winedevice-Default_Drivers patchset 2019-07-30 14:15:05 +10:00
Alistair Leslie-Hughes
391055dbe1 Updated directmanipulation-new-dll patchset 2019-07-29 09:49:00 +10:00
Alistair Leslie-Hughes
7ebc640edb Updated user32-Implement-CascadeWindows patchset 2019-07-26 10:38:35 +10:00
Alistair Leslie-Hughes
4413770af1 Updated mailing-list-patches patchset 2019-07-26 10:38:35 +10:00
Alistair Leslie-Hughes
aad0b50e62 Updated directmanipulation-new-dll patchset 2019-07-26 10:38:35 +10:00
Alistair Leslie-Hughes
9fd7972c2b Updated mailing-list-patches 2019-07-23 08:56:49 +10:00
Alistair Leslie-Hughes
a67dca35a1 Updated directmanipulation-new-dll 2019-07-23 08:56:49 +10:00
Alistair Leslie-Hughes
5d7a86d054 Updated mailing-list-patches patchset 2019-07-19 11:01:02 +10:00
Alistair Leslie-Hughes
a12c030bd9 Updated directmanipulation-new-dll patchset 2019-07-19 09:18:06 +10:00
Alistair Leslie-Hughes
a0735f083d Added directmanipulation-new-dll patchset 2019-07-18 11:44:22 +10:00
Alistair Leslie-Hughes
460094e600 Updated mailing-list-patches patchset 2019-07-18 08:38:41 +10:00
Alistair Leslie-Hughes
c95aae1049 Updated mailing-list-patches patchset
Thanks Tk-Glitch for the update.
2019-07-16 15:04:24 +10:00
Alistair Leslie-Hughes
394c51bd20 Added cmd-launch-association patchset 2019-07-16 14:18:17 +10:00
Alistair Leslie-Hughes
0bdc57245a Updated mailing-list-patches patchset 2019-07-16 11:36:29 +10:00
Alistair Leslie-Hughes
9092f3922a Updated mailing-list-patches and loader-KeyboardLayouts patchset
Just some cleanups, no actual code changes.
2019-07-16 11:25:13 +10:00
Alistair Leslie-Hughes
e298cdfaf9 Added d3dx9_36-D3DXCreateKeyframedAnimationSet patchset 2019-07-16 10:37:07 +10:00
Alistair Leslie-Hughes
b95b9109b8 Use FAudio library now 2019-07-15 09:35:57 +10:00
Alistair Leslie-Hughes
8d19b3fc4b Added wined3d-swapchain-buffers patchset 2019-07-15 09:02:55 +10:00
Alistair Leslie-Hughes
aa2ec8b32c Added dbgeng-IDebugClient7 patchset 2019-07-15 08:36:48 +10:00
Alistair Leslie-Hughes
944b464511 Added msctf-ITfActiveLanguageProfileNotifySink patchset 2019-07-15 08:35:24 +10:00
Alistair Leslie-Hughes
1b15ab1bdc Updated mailing-list-patches patchset 2019-07-13 09:09:27 +10:00
Alistair Leslie-Hughes
6e530333e6 Updated mailing-list-patches patchset 2019-07-12 09:03:03 +10:00
Alistair Leslie-Hughes
5ed9211eab Added mailing list patchset 2019-07-11 09:40:22 +10:00
Alistair Leslie-Hughes
e0bf5ac738 Added ntdll-RtlIpv4StringToAddress patchset 2019-07-10 09:49:35 +10:00
Alistair Leslie-Hughes
accf189516 Updated loader-KeyboardLayouts patchset 2019-07-10 08:37:16 +10:00
Alistair Leslie-Hughes
f07181375b Release v4.12.1 2019-07-07 21:17:23 +10:00
Alistair Leslie-Hughes
35f28c4538 Rebase against 40a83b2ff3bca9ef58d03400a3c8e4aac94a0dc7 2019-07-07 13:18:09 +10:00
Alistair Leslie-Hughes
4babcaf231 Release v4.12 2019-07-06 17:50:06 +10:00
Alistair Leslie-Hughes
eba1e9b28a Rebase against 8c34add3bd747d8ff267974de67880b7eb50bc8d 2019-07-06 15:21:16 +10:00
Alistair Leslie-Hughes
52076762ec Rebase against 201d13a3c31131f204f89d61be37bf75d58dc6dd 2019-07-05 08:25:41 +10:00
Alistair Leslie-Hughes
e1bfd97e2b Reenabled d3dx9_36-DXTn patchset 2019-07-04 10:38:41 +10:00
Alistair Leslie-Hughes
ca8ae3e929 Rebase against 436fb03a87ae6dcbbbe149e401942b7eb8369f51 2019-07-03 09:33:31 +10:00
Alistair Leslie-Hughes
c08046e1cc Rebase against 95be042be3f116db38eb4a255c2667a6b46fcc1e 2019-07-02 08:32:28 +10:00
Alistair Leslie-Hughes
53dad92c83 Added loader-KeyboardLayouts patchset 2019-07-01 10:41:41 +10:00
Alistair Leslie-Hughes
82c59d7eca Added user32-LoadKeyboardLayoutEx patchset 2019-07-01 09:19:46 +10:00
Alistair Leslie-Hughes
507cb29933 Added kernel32-SetProcessDEPPolicy patchset 2019-07-01 08:26:17 +10:00
Alistair Leslie-Hughes
dff74f4169 Added wined3d-unset-flip-gdi patchset 2019-07-01 08:25:21 +10:00
Alistair Leslie-Hughes
292e3c87d9 Added shlwapi-UrlCanonicalize patchset 2019-07-01 08:25:04 +10:00
Alistair Leslie-Hughes
fbb8eac819 Rebase against 90a1e5d943724f8cb5e51fe806cb38ce6c98c4c1 2019-06-28 19:46:18 +10:00
Alistair Leslie-Hughes
41d6d5f39a Updated wined3d-SWVP-shaders patchset 2019-06-28 19:32:50 +10:00
Alistair Leslie-Hughes
ca67426420 Rebase against 6d417f7890ee94dd17acc18eb2ef81f152dd0ed0 2019-06-28 08:38:47 +10:00
Alistair Leslie-Hughes
3ad0475779 Rebase against 6e9746158030c4a8f876bf411e598e2b42ff1032 2019-06-27 09:06:23 +10:00
Alistair Leslie-Hughes
fad0c725ae Rebase against 887a57fadd00b39b266b421fe1a04ab09e0d917d 2019-06-26 12:57:43 +10:00
Alistair Leslie-Hughes
be41345d31 Rebase against d83b71ebfdfe83704c313d7c11e8c87c9a8b0419 2019-06-25 08:22:06 +10:00
Alistair Leslie-Hughes
e6f1cafdd8 Release v4.11 2019-06-22 11:32:30 +10:00
Alistair Leslie-Hughes
79ed5e86aa Rebase against 07afb240a87d097c83ca5263c61145a170894a22 2019-06-22 11:06:58 +10:00
Alistair Leslie-Hughes
3bba693408 Added mshtml-TranslateAccelerator patchset 2019-06-21 11:01:13 +10:00
Alistair Leslie-Hughes
be5814e428 Rebase against cce8074aa9fb2191faba25ce7fd24e2678d3bd17 2019-06-21 09:51:08 +10:00
Alistair Leslie-Hughes
ed630b8146 Updated kernel32-PE_Loader_Fixes patchset
Thanks Paul.
2019-06-20 09:10:31 +10:00
Alistair Leslie-Hughes
11194ea339 Rebase against 48f93bc3290596b8da4455496fa88cd13ea6f3c9 2019-06-20 08:28:26 +10:00
Alistair Leslie-Hughes
694f513d71 Rebase against 1bc9c4fdb2e6c2762105c14cdafb7d4ea3370625 2019-06-19 21:05:55 +10:00
Alistair Leslie-Hughes
b5055c0b1b Rebase against 4aa7fbe0561e6a27f098a05a63c5a7d12397e678 2019-06-18 09:07:13 +10:00
Alistair Leslie-Hughes
e07b0fa042 Disabled setupapi-Display_Device patchset
This patchset need to be revisited since it causing a stack
overflow after the improved EnumDisplayDevicesW patches
were accepted.
2019-06-14 19:22:45 +10:00
Alistair Leslie-Hughes
e7110e5153 Rebase against c13351c05af43aa542938e0c0935b154a8166905 2019-06-14 09:36:53 +10:00
Alistair Leslie-Hughes
e2fa6bd9c0 Rebase against 83ca9a95de80083d906a2aeb5d1e5ca2ed611199 2019-06-12 08:31:14 +10:00
Alistair Leslie-Hughes
ed9681d9df Release v4.10 2019-06-11 09:23:11 +10:00
Alistair Leslie-Hughes
1196bcb86b Updated wined3d-SWVP-shaders patchset 2019-06-11 09:19:17 +10:00
Alistair Leslie-Hughes
9afb244a8e Rebase against 78f74446b9806f63a27c2d643b8e29156b5bdcbe 2019-06-11 09:17:17 +10:00
Alistair Leslie-Hughes
5681cd5466 Added dinput-SetActionMap-genre patchset 2019-06-07 11:33:47 +10:00
Alistair Leslie-Hughes
1d3c799e6f Added ntdll-ext4-case-folder patchset 2019-06-07 10:53:43 +10:00
Alistair Leslie-Hughes
a49aa40ac8 Rebase against 48a74277f5f9e0c87d8c01457236a89d94cb71d3 2019-06-07 08:52:10 +10:00
Alistair Leslie-Hughes
1998c0570d Rebase against 4d5c874f42e27ac992f361c71490985d7553571a 2019-06-06 08:56:13 +10:00
Alistair Leslie-Hughes
245fc7913d Updated wined3d-Dual_Source_Blending patchset
Fixes a regression introduced in 3287f0fc9b
2019-06-05 10:23:45 +10:00
Alistair Leslie-Hughes
a1afc6f151 Rebase against 7d77d330a5b60be918dbf17d9d9ca357d93bff29 2019-06-05 09:35:37 +10:00
Alistair Leslie-Hughes
3287f0fc9b Rebase against c92fddae8661233e7699e1914987f0cc4caa8217 2019-06-04 09:10:22 +10:00
Alistair Leslie-Hughes
671295089e Updated user32-msgbox-Support-WM_COPY-mesg patchset
Thanks Gabriel Ivăncescu
2019-06-01 14:50:56 +10:00
Zebediah Figura
197e08b441 Rebase against 1d9a3f6d12322891a2af4aadd66a92ea66479233. 2019-05-30 22:27:25 -05:00
Alistair Leslie-Hughes
cd1862609a Updated tdll-Junction_Points patchset 2019-05-30 11:43:08 +10:00
Alistair Leslie-Hughes
8725e273cc Rebase against 6d05fae6f7ebab83a2f1c6621d9619bbe91833fd 2019-05-29 09:41:06 +10:00
Alistair Leslie-Hughes
b9204d93c9 Rebase against 3139727a97a91b91e74d57ec97a8c19b0093b68e 2019-05-28 08:31:07 +10:00
Alistair Leslie-Hughes
e1259ef094 Drop ddraw-Fix_Typos patchset
This is never going to accepted upstream and doesn't add
any benifit to staging.
2019-05-27 10:52:34 +10:00
Alistair Leslie-Hughes
bccec28691 Drop wined3d-Restore-DirectX10-Support patchset
The nVidia Legacy driver hasn't been updated in nearly a year
and is unlikely to see another update.

Use the nouveau driver.
2019-05-27 10:42:34 +10:00
Alistair Leslie-Hughes
f25c0ce411 Updated libs-Debug_Channel patchset
Thanks Derek Lesho.
2019-05-27 09:32:00 +10:00
Alistair Leslie-Hughes
7fd92efae8 Release v4.9 2019-05-26 10:26:29 +10:00
Zebediah Figura
968a9068f4 winebuild-Fake_Dlls: Also change fake DLL syscall thunks.
Thanks to Andrew Wesie.
2019-05-25 15:17:50 -05:00
Zebediah Figura
5e5b163eba winebuild-Fake_Dlls: another fixup
user_shared_data_init() copies the internal data to the external data, but at the same time kernel32 makes calls down to ntdll before this happens, so we need both of these.
2019-05-25 11:44:35 -05:00
Zebediah Figura
5bc08f5e70 winebuild-Fake_Dlls: fixup 2019-05-25 00:04:40 -05:00
Zebediah Figura
eb91fab43e ntdll-Junction_Points: Fix for bug 47169.
From Erich E. Hoover.
2019-05-24 19:29:03 -05:00
Zebediah Figura
5b59788752 winebuild-Fake_Dlls: Change layout of system call thunks.
Based on patches by Fabian Maurer.
2019-05-24 19:20:28 -05:00
Alistair Leslie-Hughes
5634d119e0 Rebase against 27bf52d12c0eb13ec797a5d81177954faac00fa4 2019-05-24 08:57:32 +10:00
Alistair Leslie-Hughes
52f92a42de Rebase against 9cfe6094773929d9dd61db51da094324337ecab0 2019-05-23 09:01:49 +10:00
Alistair Leslie-Hughes
6f185a694c Rebase against 6a610a325809d47f48bc72f3a757e1a62b193ea8 2019-05-22 08:24:22 +10:00
Alistair Leslie-Hughes
0bb3121273 Updated bcrypt-BCryptSecretAgreement patchset 2019-05-21 08:47:26 +10:00
Alistair Leslie-Hughes
77619384a4 Rebase against 21ae9ba1ba8ddba3ba49e916ef2b7fbd5ae9713d 2019-05-21 08:40:13 +10:00
Zebediah Figura
77ef8ff7ef Rebase against 61aea5a9879f41224022d4775cce28d28618ea89. 2019-05-17 16:51:57 -05:00
Alistair Leslie-Hughes
831b1f895e Updated include-macos-compile patchset 2019-05-17 10:45:44 +10:00
Alistair Leslie-Hughes
071fe01910 Rebase against 07e249e431c5009fa6ab8d274b4a8fe62a286358 2019-05-17 09:18:43 +10:00
Alistair Leslie-Hughes
1b7ebd3bb8 Rebase against 042e0625695a82aa71ddf825c693680d5d8aa0dd 2019-05-16 09:08:56 +10:00
Alistair Leslie-Hughes
6ce73c283d Rebase against 99114803b80f6e687f1d4ed11e0808b821cdbf22 2019-05-15 09:26:21 +10:00
Alistair Leslie-Hughes
f3e2363b52 Rebase against 40fef0fb71b079c1bf9667d80384cc43ec7f11fd 2019-05-14 08:20:42 +10:00
Alistair Leslie-Hughes
6e49a945cf Added comctl32-alpha-bitmaps patchset 2019-05-13 08:24:17 +10:00
Alistair Leslie-Hughes
92cc7818b2 Updated ntdll-Junction_Points patchset 2019-05-13 08:21:41 +10:00
Alistair Leslie-Hughes
3134cc0b2d Release v4.8 2019-05-11 11:27:45 +10:00
Alistair Leslie-Hughes
1308207a63 Rebase against aaf9c833ee1b9dca8cffcb2a60c96093fdd36405 2019-05-11 11:12:22 +10:00
Alistair Leslie-Hughes
082a898ad4 Updated ntdll-Junction_Points patchset 2019-05-10 09:55:20 +10:00
Alistair Leslie-Hughes
992845eae7 Rebase against 9bcaf9769c5ae834f0f6e8fe2b28a85b286833b0 2019-05-10 08:53:33 +10:00
Alistair Leslie-Hughes
247e77f2e8 Rebase against 08a899d433e5b638b5cc18d5c81330dea38d7c04 2019-05-09 10:22:04 +10:00
Alistair Leslie-Hughes
76004cd4c4 Updated winex11.drv-mouse-coorrds patchset 2019-05-09 08:49:02 +10:00
Zebediah Figura
770269393f Rebase against 622422e67bfd9da487102aee4ca42681a24a8e65. 2019-05-07 19:52:35 -05:00
Alistair Leslie-Hughes
29db3393bc Updated dinput-joy-directX3 patchset 2019-05-07 09:50:41 +10:00
Alistair Leslie-Hughes
b105021410 Rebase against 10dcee21c4b28b7f1cedc9ade01c09616521b628 2019-05-07 09:41:02 +10:00
Alistair Leslie-Hughes
5f18c8565c Remove winepulse-PulseAudio_Support_old patchset 2019-05-06 20:41:25 +10:00
Alistair Leslie-Hughes
f0f856a7ea Removed wined3d-Improved-RCP_Support patchset
This caused a major regression.
2019-05-06 16:26:21 +10:00
Alistair Leslie-Hughes
7332164d55 Remove wined3d-Interpolation_Modifiers patchset
This is fixed upstream for some time.
2019-05-06 16:23:48 +10:00
Alistair Leslie-Hughes
0a153ac1a0 Remove d3d11-dynamic-cpu-access patchset
This caused major regression and is unlikely to be updated to
work correctly.  Using the nouveau driver it a better solution then
trying to stay with the Legacy nVidia binary driver.
2019-05-06 15:08:08 +10:00
Zebediah Figura
90ef849e7b ntdll-RtlCreateUserThread: Add dependency on winebuild-Fake_Dlls.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47124
2019-05-05 00:30:54 -05:00
Zebediah Figura
9bfe1fe1f2 server-Desktop_Refcount: Swap dependency with ws2_32-WSACleanup.
To avoid a circular dependency.
2019-05-05 00:24:28 -05:00
Zebediah Figura
b1997e35c9 ws2_32-WSACleanup: Restore dependency on server-Desktop_Refcount.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47124
2019-05-04 23:52:03 -05:00
Zebediah Figura
8cbbf850d1 Rebase against b479382737f9ee110bc61b1dd765c5b81d56c900. 2019-05-03 23:09:43 -05:00
Alistair Leslie-Hughes
dc2e2153f3 Added dinput-joy-directX3 patchset 2019-05-03 11:57:31 +10:00
Alistair Leslie-Hughes
d6ab62c2be Added dinput-joy-mappings patchset 2019-05-03 10:37:32 +10:00
Alistair Leslie-Hughes
a3faa8ac8a Updated ddraw-Rendering_Targets patchset 2019-05-03 09:56:59 +10:00
Alistair Leslie-Hughes
c9f414b9e7 Rebase against 0ece679210897774b3b43e483658fe6511a84676 2019-05-03 09:40:08 +10:00
Alistair Leslie-Hughes
57370fd9ae Rebase against d48ffbdc014954907d3280a3b53eb9b478b10195 2019-05-02 08:42:59 +10:00
Alistair Leslie-Hughes
7d9b7bbdf5 Updated ntdll-Junction_Points patchset 2019-05-01 08:50:08 +10:00
Alistair Leslie-Hughes
05f918ddb4 Rebase against 8039941c52758113955d376bd7b6b6e1e5b5f76c 2019-05-01 08:14:20 +10:00
Alistair Leslie-Hughes
133bed10d3 Rebase against 5bd1b2652c844a2522131bd26feb95231f718986 2019-04-30 08:23:23 +10:00
Alistair Leslie-Hughes
00b434ec7f Added ntdll-aarch64-TEB patchset 2019-04-29 11:06:42 +10:00
Alistair Leslie-Hughes
8f33477760 Updated server-Desktop_Refcount patchset
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47091
2019-04-29 05:44:15 +10:00
Zebediah Figura
c48811407e eventfd_synchronization: Fix support for directory change notification objects.
I had misread the code at first and was under the impression these were also
pseudo-fds, but they are not, they are true fds and asyncs just manually
tinker with their signaled status.
2019-04-27 10:22:09 -05:00
Alistair Leslie-Hughes
547e7c81fb Release v4.7 2019-04-27 12:56:43 +10:00
Zebediah Figura
99d6f16c4e ntdll-SystemExtendedProcessInformation: Restore mistakenly deleted patchset. 2019-04-26 20:35:04 -05:00
Zebediah Figura
2e99ff1d6e Rebase against 6e3f39a4c59fd529c7b532dcde1bb8c37c467b35. 2019-04-26 16:21:57 -05:00
Alistair Leslie-Hughes
a9282e6425 Added gdi32-D3DKMTQueryStatistics patchset 2019-04-26 13:36:39 +10:00
Alistair Leslie-Hughes
63eedc8289 Updated ntdll-Junction_Points patchset 2019-04-26 10:01:46 +10:00
Alistair Leslie-Hughes
fea87f9a23 Rebase against 85826158947637f790b68742a5448c483f47234f 2019-04-26 09:42:11 +10:00
Alistair Leslie-Hughes
f883c66e40 Updated server-Desktop_Refcount patchset 2019-04-25 18:07:55 +10:00
Zebediah Figura
d8568c947a eventfd_synchronization: Handle directory change notification objects. 2019-04-24 23:57:07 -05:00
Zebediah Figura
f61fe9f16b Rebase against 9b6d198a3c7c8a02aa69c0d3d11829712e9778a6. 2019-04-24 23:57:07 -05:00
Alistair Leslie-Hughes
4969e2759b Updated ntdll-Junction_Points patchset 2019-04-24 11:20:07 +10:00
Alistair Leslie-Hughes
4423ea716e Removed kernel32-CreateSymbolicLink patchset.
The updated ntdll-Junction_Points has replace this patchset.

Thanks for testing Gijs Vermeulen.
2019-04-24 10:24:20 +10:00
Alistair Leslie-Hughes
38c1f5e4d5 Rebase against 75aa4ab16b03a11464ab0d3e4c4cfbff0180c269 2019-04-24 10:09:47 +10:00
Alistair Leslie-Hughes
4e7071e4f1 Updated server-Desktop_Refcount patchset 2019-04-23 16:02:50 +10:00
Alistair Leslie-Hughes
a0708adf42 Updated ntdll-Junction_Points patchset
Changed dependencies to allow ntdll-Junction_Points to be applied
on top of wine.
2019-04-23 11:08:07 +10:00
Alistair Leslie-Hughes
9e53a45319 Added winex11.drv-Query_server_position patchset 2019-04-23 10:40:25 +10:00
Alistair Leslie-Hughes
7cc69d7707 Added winex11.drv-mouse-coorrds patchset 2019-04-23 10:09:57 +10:00
Alistair Leslie-Hughes
39738f05d6 Added windowscodecs-png-network patchset 2019-04-23 10:03:55 +10:00
Alistair Leslie-Hughes
477e9faba2 Rebase against 9d75caf4e1deea0ec8d5ad3f829e7218bc1e3c16 2019-04-23 09:44:01 +10:00
Alistair Leslie-Hughes
6f1e25e1c0 Rebase against 9d7d68747b06a03893df99c4beea36b762508603 2019-04-20 18:45:05 +10:00
Alistair Leslie-Hughes
36e84f2951 Updated ntdll-Junction_Points patchset 2019-04-16 11:14:52 +10:00
Alistair Leslie-Hughes
bfd8af12aa Rebase against f9301c2b66450a1cdd986e9052fcaa76535ba8b7 2019-04-16 09:30:17 +10:00
Alistair Leslie-Hughes
cbb09031a6 Added combase-GetRestrictedErrorInfo patchset 2019-04-15 09:24:55 +10:00
587 changed files with 29772 additions and 31759 deletions

View File

@@ -1,30 +0,0 @@
Contributing to Wine Staging
----------------------------
First of all, thank you for taking the time to contribute to this project.
### Reporting bugs
Since WineConf 2015 Wine Staging is an official part of WineHQ, which means you
can report problems directly at [bugs.winehq.org](https://bugs.winehq.org/).
Most of the time bugs found in Wine Staging also turn out to be present in the
development branch, so its recommended to open your bug in the "Wine" product,
unless you are sure its really "Wine Staging" specific. For bugs related to our
binary packages, please open a bug report in the "Packaging" product.
### Submitting patches
**IMPORTANT:** Please use [dev.wine-staging.com](https://dev.wine-staging.com/patches)
for patch submissions, we currently do not accept Pull requests on GitHub.
Wine Staging mainly concentrates on experimental features and patches which are
difficult to get into the development branch. If you have a very simple bug fix
including tests, there is usually no need to send it to Wine Staging. You can
directly contribute it to the
[development branch](http://wiki.winehq.org/SubmittingPatches). However, if you
already tried that without success, or are working on such a complex area that
you do not really think its ready for inclusion, you might want to submit it to
our Staging tree. Please open a patch submission request on
[dev.wine-staging.com](https://dev.wine-staging.com/patches) including the patch.
More information is also available in our
[Wiki](https://wiki.winehq.org/Wine-Staging_Patches).

View File

@@ -8,7 +8,8 @@ are part of **Wine Staging** and are licensed under the terms of the
```
Copyright (C) 2014-2017 the Wine Staging project authors.
Copyright (C) 2018 Alistair Leslie-Hughes
Copyright (C) 2018 Alistair Leslie-Hughes, Zebediah Figura
Copyright (C) 2019 Alistair Leslie-Hughes, Zebediah Figura, Paul Gofman
Wine Staging is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public

View File

@@ -6,15 +6,14 @@ features, which have not been integrated into the development branch yet. The
idea of Wine Staging is to provide experimental features faster to end users and
to give developers the possibility to discuss and improve their patches before
they are integrated into the main branch. More information about Wine Staging
can also be found on our website [wine-staging.com](http://wine-staging.com).
can also be found [on the WineHQ wiki](https://wiki.winehq.org/Wine-Staging).
Installation
------------
Ready-to-use packages for Wine Staging are available for a variety of Linux
distributions and for Mac OS X. Just follow the
[installation instructions](https://wine-staging.com/installation.html)
for your operating system.
distributions and for Mac OS X. Just follow the [installation
instructions](https://wiki.winehq.org/Download) for your operating system.
On most distributions the `wine-staging` package is installed to
`/opt/wine-staging`, such that multiple Wine versions can be installed in
@@ -78,5 +77,6 @@ in our [Wiki](https://wiki.winehq.org/Wine-Staging).
Contributing
------------
Please see CONTRIBUTING.md for more information about contributing to Wine
Staging.
For information on contributing to Wine-Staging, please see
<https://wiki.winehq.org/Wine-Staging_Contributing>. Note that GitHub pull
requests are strongly dispreferred, especially for patches.

View File

@@ -1,25 +0,0 @@
From bd48f0d6b1476a77520f0bf5f82ac08e9dbf9acd Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 21:54:01 +0100
Subject: amstream: Avoid implicit cast of interface pointer.
---
dlls/amstream/mediastreamfilter.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/amstream/mediastreamfilter.c b/dlls/amstream/mediastreamfilter.c
index 5abcb2f..a7ff6e8 100644
--- a/dlls/amstream/mediastreamfilter.c
+++ b/dlls/amstream/mediastreamfilter.c
@@ -42,7 +42,7 @@ typedef struct {
static inline IMediaStreamFilterImpl *impl_from_IMediaStreamFilter(IMediaStreamFilter *iface)
{
- return CONTAINING_RECORD(iface, IMediaStreamFilterImpl, filter);
+ return CONTAINING_RECORD((IBaseFilter *)iface, IMediaStreamFilterImpl, filter.IBaseFilter_iface);
}
/*** IUnknown methods ***/
--
2.7.4

View File

@@ -1,4 +1,4 @@
From 2aeb3a9e57142c3f4ff86cb81b206bdbc146552d Mon Sep 17 00:00:00 2001
From a0211ba2069af11a64588a49222dcdcce1d805be Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 21:54:26 +0100
Subject: [PATCH] d2d1: Avoid implicit cast of interface pointer.
@@ -7,17 +7,16 @@ Subject: [PATCH] d2d1: Avoid implicit cast of interface pointer.
dlls/d2d1/bitmap.c | 2 +-
dlls/d2d1/brush.c | 8 ++++----
dlls/d2d1/dc_render_target.c | 2 +-
dlls/d2d1/device.c | 2 +-
dlls/d2d1/geometry.c | 6 +++---
dlls/d2d1/geometry.c | 8 ++++----
dlls/d2d1/hwnd_render_target.c | 2 +-
dlls/d2d1/state_block.c | 2 +-
7 files changed, 12 insertions(+), 12 deletions(-)
6 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/dlls/d2d1/bitmap.c b/dlls/d2d1/bitmap.c
index c0aef3c..8a4b517 100644
index bc958e50a1..76ecc7f02a 100644
--- a/dlls/d2d1/bitmap.c
+++ b/dlls/d2d1/bitmap.c
@@ -626,5 +626,5 @@ struct d2d_bitmap *unsafe_impl_from_ID2D1Bitmap(ID2D1Bitmap *iface)
@@ -617,5 +617,5 @@ struct d2d_bitmap *unsafe_impl_from_ID2D1Bitmap(ID2D1Bitmap *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (ID2D1BitmapVtbl *)&d2d_bitmap_vtbl);
@@ -25,10 +24,10 @@ index c0aef3c..8a4b517 100644
+ return CONTAINING_RECORD((ID2D1Bitmap1*)iface, struct d2d_bitmap, ID2D1Bitmap1_iface);
}
diff --git a/dlls/d2d1/brush.c b/dlls/d2d1/brush.c
index 9c73ae1..a748669 100644
index 80fc0f5331..a612e683b6 100644
--- a/dlls/d2d1/brush.c
+++ b/dlls/d2d1/brush.c
@@ -256,7 +256,7 @@ static void d2d_brush_init(struct d2d_brush *brush, ID2D1Factory *factory,
@@ -253,7 +253,7 @@ static void d2d_brush_init(struct d2d_brush *brush, ID2D1Factory *factory,
static inline struct d2d_brush *impl_from_ID2D1SolidColorBrush(ID2D1SolidColorBrush *iface)
{
@@ -37,7 +36,7 @@ index 9c73ae1..a748669 100644
}
static HRESULT STDMETHODCALLTYPE d2d_solid_color_brush_QueryInterface(ID2D1SolidColorBrush *iface,
@@ -399,7 +399,7 @@ HRESULT d2d_solid_color_brush_create(ID2D1Factory *factory, const D2D1_COLOR_F *
@@ -396,7 +396,7 @@ HRESULT d2d_solid_color_brush_create(ID2D1Factory *factory, const D2D1_COLOR_F *
static inline struct d2d_brush *impl_from_ID2D1LinearGradientBrush(ID2D1LinearGradientBrush *iface)
{
@@ -46,7 +45,7 @@ index 9c73ae1..a748669 100644
}
static HRESULT STDMETHODCALLTYPE d2d_linear_gradient_brush_QueryInterface(ID2D1LinearGradientBrush *iface,
@@ -586,7 +586,7 @@ HRESULT d2d_linear_gradient_brush_create(ID2D1Factory *factory,
@@ -583,7 +583,7 @@ HRESULT d2d_linear_gradient_brush_create(ID2D1Factory *factory,
static inline struct d2d_brush *impl_from_ID2D1RadialGradientBrush(ID2D1RadialGradientBrush *iface)
{
@@ -55,7 +54,7 @@ index 9c73ae1..a748669 100644
}
static HRESULT STDMETHODCALLTYPE d2d_radial_gradient_brush_QueryInterface(ID2D1RadialGradientBrush *iface,
@@ -818,7 +818,7 @@ HRESULT d2d_radial_gradient_brush_create(ID2D1Factory *factory,
@@ -815,7 +815,7 @@ HRESULT d2d_radial_gradient_brush_create(ID2D1Factory *factory,
static inline struct d2d_brush *impl_from_ID2D1BitmapBrush1(ID2D1BitmapBrush1 *iface)
{
@@ -65,10 +64,10 @@ index 9c73ae1..a748669 100644
static HRESULT STDMETHODCALLTYPE d2d_bitmap_brush_QueryInterface(ID2D1BitmapBrush1 *iface,
diff --git a/dlls/d2d1/dc_render_target.c b/dlls/d2d1/dc_render_target.c
index b095008..6030826 100644
index 47aa99697d..0efa3ebeaf 100644
--- a/dlls/d2d1/dc_render_target.c
+++ b/dlls/d2d1/dc_render_target.c
@@ -26,7 +26,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
@@ -23,7 +23,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
static inline struct d2d_dc_render_target *impl_from_IUnknown(IUnknown *iface)
{
@@ -77,24 +76,11 @@ index b095008..6030826 100644
}
static HRESULT d2d_dc_render_target_present(IUnknown *outer_unknown)
diff --git a/dlls/d2d1/device.c b/dlls/d2d1/device.c
index 45b2258..bf32c23 100644
--- a/dlls/d2d1/device.c
+++ b/dlls/d2d1/device.c
@@ -207,7 +207,7 @@ static inline struct d2d_device_context *impl_from_ID2D1DeviceContext(ID2D1Devic
static inline struct d2d_device_context *impl_from_ID2D1RenderTarget(ID2D1RenderTarget *iface)
{
- return CONTAINING_RECORD(iface, struct d2d_device_context, ID2D1DeviceContext_iface);
+ return CONTAINING_RECORD((ID2D1DeviceContext*)iface, struct d2d_device_context, ID2D1DeviceContext_iface);
}
static HRESULT STDMETHODCALLTYPE d2d_device_context_inner_QueryInterface(IUnknown *iface, REFIID iid, void **out)
diff --git a/dlls/d2d1/geometry.c b/dlls/d2d1/geometry.c
index 421ba2b..f8db51c 100644
index 79850f1c20..b9b6a32f76 100644
--- a/dlls/d2d1/geometry.c
+++ b/dlls/d2d1/geometry.c
@@ -2987,7 +2987,7 @@ static const struct ID2D1GeometrySinkVtbl d2d_geometry_sink_vtbl =
@@ -2982,7 +2982,7 @@ static const struct ID2D1GeometrySinkVtbl d2d_geometry_sink_vtbl =
static inline struct d2d_geometry *impl_from_ID2D1PathGeometry(ID2D1PathGeometry *iface)
{
@@ -103,7 +89,7 @@ index 421ba2b..f8db51c 100644
}
static HRESULT STDMETHODCALLTYPE d2d_path_geometry_QueryInterface(ID2D1PathGeometry *iface, REFIID iid, void **out)
@@ -3503,7 +3503,7 @@ void d2d_path_geometry_init(struct d2d_geometry *geometry, ID2D1Factory *factory
@@ -3502,7 +3502,7 @@ void d2d_path_geometry_init(struct d2d_geometry *geometry, ID2D1Factory2 *factor
static inline struct d2d_geometry *impl_from_ID2D1RectangleGeometry(ID2D1RectangleGeometry *iface)
{
@@ -112,7 +98,7 @@ index 421ba2b..f8db51c 100644
}
static HRESULT STDMETHODCALLTYPE d2d_rectangle_geometry_QueryInterface(ID2D1RectangleGeometry *iface,
@@ -3838,7 +3838,7 @@ fail:
@@ -3841,7 +3841,7 @@ fail:
static inline struct d2d_geometry *impl_from_ID2D1TransformedGeometry(ID2D1TransformedGeometry *iface)
{
@@ -121,11 +107,20 @@ index 421ba2b..f8db51c 100644
}
static HRESULT STDMETHODCALLTYPE d2d_transformed_geometry_QueryInterface(ID2D1TransformedGeometry *iface,
@@ -4122,7 +4122,7 @@ void d2d_transformed_geometry_init(struct d2d_geometry *geometry, ID2D1Factory2
static inline struct d2d_geometry *impl_from_ID2D1GeometryGroup(ID2D1GeometryGroup *iface)
{
- return CONTAINING_RECORD(iface, struct d2d_geometry, ID2D1Geometry_iface);
+ return CONTAINING_RECORD( (ID2D1Geometry*)iface, struct d2d_geometry, ID2D1Geometry_iface);
}
static HRESULT STDMETHODCALLTYPE d2d_geometry_group_QueryInterface(ID2D1GeometryGroup *iface,
diff --git a/dlls/d2d1/hwnd_render_target.c b/dlls/d2d1/hwnd_render_target.c
index d0b9695..429561e 100644
index 625f101eaa..f3626c42ce 100644
--- a/dlls/d2d1/hwnd_render_target.c
+++ b/dlls/d2d1/hwnd_render_target.c
@@ -26,7 +26,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
@@ -23,7 +23,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(d2d);
static inline struct d2d_hwnd_render_target *impl_from_IUnknown(IUnknown *iface)
{
@@ -135,10 +130,10 @@ index d0b9695..429561e 100644
static HRESULT d2d_hwnd_render_target_present(IUnknown *outer_unknown)
diff --git a/dlls/d2d1/state_block.c b/dlls/d2d1/state_block.c
index b15384e..4e7e34b 100644
index e3175146a6..b66752983e 100644
--- a/dlls/d2d1/state_block.c
+++ b/dlls/d2d1/state_block.c
@@ -190,5 +190,5 @@ struct d2d_state_block *unsafe_impl_from_ID2D1DrawingStateBlock(ID2D1DrawingStat
@@ -187,5 +187,5 @@ struct d2d_state_block *unsafe_impl_from_ID2D1DrawingStateBlock(ID2D1DrawingStat
if (!iface)
return NULL;
assert(iface->lpVtbl == (ID2D1DrawingStateBlockVtbl *)&d2d_state_block_vtbl);
@@ -146,5 +141,5 @@ index b15384e..4e7e34b 100644
+ return CONTAINING_RECORD((ID2D1DrawingStateBlock1*)iface, struct d2d_state_block, ID2D1DrawingStateBlock1_iface);
}
--
1.9.1
2.17.1

View File

@@ -1,4 +1,4 @@
From 5e4c31d0796f2e559889d4f84cdb571130217e7d Mon Sep 17 00:00:00 2001
From 7529755fcc41fda650aac6b27f34438354435d34 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 f50133d..1bc7b59 100644
index 9280b5d32..2f0974a4c 100644
--- a/dlls/dwrite/font.c
+++ b/dlls/dwrite/font.c
@@ -1815,7 +1815,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
@@ -1887,7 +1887,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (IDWriteFontVtbl*)&dwritefontvtbl);
@@ -21,28 +21,28 @@ index f50133d..1bc7b59 100644
}
struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
@@ -1823,7 +1823,7 @@ struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
@@ -1895,7 +1895,7 @@ struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (IDWriteFontFaceVtbl*)&dwritefontfacevtbl);
- return CONTAINING_RECORD(iface, struct dwrite_fontface, IDWriteFontFace4_iface);
+ return CONTAINING_RECORD((IDWriteFontFace4 *)iface, struct dwrite_fontface, IDWriteFontFace4_iface);
- return CONTAINING_RECORD(iface, struct dwrite_fontface, IDWriteFontFace5_iface);
+ return CONTAINING_RECORD((IDWriteFontFace5 *)iface, struct dwrite_fontface, IDWriteFontFace5_iface);
}
void get_logfont_from_font(IDWriteFont *iface, LOGFONTW *lf)
static struct dwrite_fontfacereference *unsafe_impl_from_IDWriteFontFaceReference(IDWriteFontFaceReference *iface)
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index f27fe9f..ee1eb5a 100644
index b9321157a..76ea23ba6 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -5622,7 +5622,7 @@ static const IDWriteTextFormat2Vtbl dwritetextformatvtbl = {
@@ -5895,7 +5895,7 @@ static const IDWriteTextFormat3Vtbl dwritetextformatvtbl =
static struct dwrite_textformat *unsafe_impl_from_IDWriteTextFormat(IDWriteTextFormat *iface)
{
return (iface->lpVtbl == (IDWriteTextFormatVtbl*)&dwritetextformatvtbl) ?
- CONTAINING_RECORD(iface, struct dwrite_textformat, IDWriteTextFormat2_iface) : NULL;
+ CONTAINING_RECORD((IDWriteTextFormat2 *)iface, struct dwrite_textformat, IDWriteTextFormat2_iface) : NULL;
- CONTAINING_RECORD(iface, struct dwrite_textformat, IDWriteTextFormat3_iface) : NULL;
+ 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,
--
1.9.1
2.24.0

View File

@@ -1,25 +0,0 @@
From b4586e37df817f205c8bebe319b4765dea5c62d5 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 24 Sep 2017 19:21:06 +0200
Subject: evr: Avoid implicit cast of interface pointer.
---
dlls/evr/evr.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/evr/evr.c b/dlls/evr/evr.c
index c2d2933211e..5533f38a649 100644
--- a/dlls/evr/evr.c
+++ b/dlls/evr/evr.c
@@ -136,7 +136,7 @@ static const IUnknownVtbl evr_inner_vtbl =
static inline evr_filter *impl_from_IBaseFilter(IBaseFilter *iface)
{
- return CONTAINING_RECORD(iface, evr_filter, filter);
+ return CONTAINING_RECORD(iface, evr_filter, filter.IBaseFilter_iface);
}
static HRESULT WINAPI filter_QueryInterface(IBaseFilter *iface, REFIID riid, void **ppv)
--
2.14.1

View File

@@ -0,0 +1 @@
Fixes: Fixes compile warnings.

View File

@@ -1,7 +1,7 @@
From 08d8e1c398ed6f3e237ad9fd3d29e10d09dcff3d Mon Sep 17 00:00:00 2001
From 40630c14377561e90a4be405d2124338002a88f7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 2 May 2014 20:46:19 +0200
Subject: user32: Decrease minimum SetTimer interval to 5 ms. (try 2)
Subject: [PATCH] user32: Decrease minimum SetTimer interval to 5 ms. (try 2)
---
dlls/user32/message.c | 2 +-
@@ -9,10 +9,10 @@ Subject: user32: Decrease minimum SetTimer interval to 5 ms. (try 2)
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/user32/message.c b/dlls/user32/message.c
index d122980..aec0938 100644
index 1336865112a..cbe9920384f 100644
--- a/dlls/user32/message.c
+++ b/dlls/user32/message.c
@@ -4443,7 +4443,7 @@ UINT_PTR WINAPI SetTimer( HWND hwnd, UINT_PTR id, UINT timeout, TIMERPROC proc )
@@ -4496,7 +4496,7 @@ UINT_PTR WINAPI SetCoalescableTimer( HWND hwnd, UINT_PTR id, UINT timeout, TIMER
if (proc) winproc = WINPROC_AllocProc( (WNDPROC)proc, FALSE );
@@ -22,25 +22,25 @@ index d122980..aec0938 100644
SERVER_START_REQ( set_win_timer )
{
diff --git a/dlls/user32/tests/msg.c b/dlls/user32/tests/msg.c
index d92fbc7..dbaddb7 100644
index c0ba5834cf9..a6bc158e8a7 100644
--- a/dlls/user32/tests/msg.c
+++ b/dlls/user32/tests/msg.c
@@ -8521,6 +8521,7 @@ static void test_timers(void)
@@ -10282,6 +10282,7 @@ static void test_timers(void)
start = GetTickCount();
while (GetTickCount()-start < 1001 && GetMessageA(&msg, info.hWnd, 0, 0))
DispatchMessageA(&msg);
+todo_wine
ok(abs(count-TIMER_COUNT_EXPECTED) < TIMER_COUNT_TOLERANCE /* xp */
|| broken(abs(count-64) < TIMER_COUNT_TOLERANCE) /* most common */
|| broken(abs(count-43) < TIMER_COUNT_TOLERANCE) /* w2k3, win8 */,
@@ -8589,6 +8590,7 @@ static void test_timers_no_wnd(void)
|| broken(abs(count-64) <= TIMER_COUNT_TOLERANCE) /* most common */
|| broken(abs(count-43) <= TIMER_COUNT_TOLERANCE) /* w2k3, win8 */,
@@ -10352,6 +10353,7 @@ static void test_timers_no_wnd(void)
start = GetTickCount();
while (GetTickCount()-start < 1001 && GetMessageA(&msg, NULL, 0, 0))
DispatchMessageA(&msg);
+todo_wine
ok(abs(count-TIMER_COUNT_EXPECTED) < TIMER_COUNT_TOLERANCE /* xp */
|| broken(abs(count-64) < TIMER_COUNT_TOLERANCE) /* most common */,
"did not get expected count for minimum timeout (%d != ~%d).\n",
|| broken(abs(count-64) <= TIMER_COUNT_TOLERANCE) /* most common */
|| broken(abs(count-43) <= TIMER_COUNT_TOLERANCE) /* w1064v1809 */,
--
2.5.1
2.17.1

View File

@@ -1,4 +1,4 @@
From ee1533db82fa2a955765b6a00f5300900350d2fe Mon Sep 17 00:00:00 2001
From 9e585de1f2f28e1ef18c1edca875779c491375cb Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 2 Oct 2014 19:44:31 +0200
Subject: [PATCH] kernel32: Add winediag message to show warning, that this
@@ -9,7 +9,7 @@ Subject: [PATCH] kernel32: Add winediag message to show warning, that this
1 file changed, 10 insertions(+)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 0a3fd70..206224f 100644
index 36ed82bff8c..b8a677c5485 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -65,6 +65,7 @@
@@ -18,9 +18,9 @@ index 0a3fd70..206224f 100644
WINE_DECLARE_DEBUG_CHANNEL(relay);
+WINE_DECLARE_DEBUG_CHANNEL(winediag);
#ifdef __APPLE__
extern char **__wine_get_main_environment(void);
@@ -1090,6 +1091,15 @@ void WINAPI start_process( LPTHREAD_START_ROUTINE entry, PEB *peb )
typedef struct
{
@@ -997,6 +998,15 @@ void WINAPI start_process( LPTHREAD_START_ROUTINE entry, PEB *peb )
__TRY
{
@@ -37,5 +37,5 @@ index 0a3fd70..206224f 100644
being_debugged = FALSE;
--
1.9.1
2.23.0

View File

@@ -0,0 +1,72 @@
From f517c6095f355529ccbd44585d22458fb52f9197 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Fri, 15 Nov 2019 15:46:23 +0800
Subject: [PATCH 1/5] include: Add adserr.h.
Content-Type: text/plain; charset=UTF-8
To: wine-devel@winehq.org
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
---
include/adserr.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
create mode 100644 include/adserr.h
diff --git a/include/adserr.h b/include/adserr.h
new file mode 100644
index 0000000000..83da568763
--- /dev/null
+++ b/include/adserr.h
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2019 Dmitry Timoshkov
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#ifndef __ADSERR_H
+#define __ADSERR_H
+
+#ifdef RC_INVOKED
+#define _HRESULT_TYPEDEF_(x) (x)
+#else
+#define _HRESULT_TYPEDEF_(x) ((HRESULT)x)
+#endif
+
+#define E_ADS_BAD_PATHNAME _HRESULT_TYPEDEF_(0x80005000)
+#define E_ADS_INVALID_DOMAIN_OBJECT _HRESULT_TYPEDEF_(0x80005001)
+#define E_ADS_INVALID_USER_OBJECT _HRESULT_TYPEDEF_(0x80005002)
+#define E_ADS_INVALID_COMPUTER_OBJECT _HRESULT_TYPEDEF_(0x80005003)
+#define E_ADS_UNKNOWN_OBJECT _HRESULT_TYPEDEF_(0x80005004)
+#define E_ADS_PROPERTY_NOT_SET _HRESULT_TYPEDEF_(0x80005005)
+#define E_ADS_PROPERTY_NOT_SUPPORTED _HRESULT_TYPEDEF_(0x80005006)
+#define E_ADS_PROPERTY_INVALID _HRESULT_TYPEDEF_(0x80005007)
+#define E_ADS_BAD_PARAMETER _HRESULT_TYPEDEF_(0x80005008)
+#define E_ADS_OBJECT_UNBOUND _HRESULT_TYPEDEF_(0x80005009)
+#define E_ADS_PROPERTY_NOT_MODIFIED _HRESULT_TYPEDEF_(0x8000500A)
+#define E_ADS_PROPERTY_MODIFIED _HRESULT_TYPEDEF_(0x8000500B)
+#define E_ADS_CANT_CONVERT_DATATYPE _HRESULT_TYPEDEF_(0x8000500C)
+#define E_ADS_PROPERTY_NOT_FOUND _HRESULT_TYPEDEF_(0x8000500D)
+#define E_ADS_OBJECT_EXISTS _HRESULT_TYPEDEF_(0x8000500E)
+#define E_ADS_SCHEMA_VIOLATION _HRESULT_TYPEDEF_(0x8000500F)
+#define E_ADS_COLUMN_NOT_SET _HRESULT_TYPEDEF_(0x80005010)
+#define S_ADS_ERRORSOCCURRED _HRESULT_TYPEDEF_(0x00005011)
+#define S_ADS_NOMORE_ROWS _HRESULT_TYPEDEF_(0x00005012)
+#define S_ADS_NOMORE_COLUMNS _HRESULT_TYPEDEF_(0x00005013)
+#define E_ADS_INVALID_FILTER _HRESULT_TYPEDEF_(0x80005014)
+
+#endif /* __ADSERR_H */
--
2.20.1

View File

@@ -0,0 +1,161 @@
From c12e335b0df736fe2a2f2447d0d751de7cc21d37 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Fri, 15 Nov 2019 17:37:11 +0800
Subject: [PATCH 2/5] activeds: Implement ADsOpenObject.
Content-Type: text/plain; charset=UTF-8
To: wine-devel@winehq.org
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
---
dlls/activeds/Makefile.in | 1 +
dlls/activeds/activeds_main.c | 80 +++++++++++++++++++++++++++++++++--
include/iads.idl | 14 ++++++
3 files changed, 91 insertions(+), 4 deletions(-)
diff --git a/dlls/activeds/Makefile.in b/dlls/activeds/Makefile.in
index 20578a93bc..54f86d661e 100644
--- a/dlls/activeds/Makefile.in
+++ b/dlls/activeds/Makefile.in
@@ -1,5 +1,6 @@
MODULE = activeds.dll
IMPORTLIB = activeds
+IMPORTS = advapi32 ole32 oleaut32
EXTRADLLFLAGS = -mno-cygwin
diff --git a/dlls/activeds/activeds_main.c b/dlls/activeds/activeds_main.c
index 69c5c447dc..8ff587e332 100644
--- a/dlls/activeds/activeds_main.c
+++ b/dlls/activeds/activeds_main.c
@@ -2,6 +2,7 @@
* Implementation of the Active Directory Service Interface
*
* Copyright 2005 Detlef Riekenberg
+ * Copyright 2019 Dmitry Timoshkov
*
* This file contains only stubs to get the printui.dll up and running
* activeds.dll is much much more than this
@@ -30,8 +31,10 @@
#include "winuser.h"
#include "objbase.h"
+#include "initguid.h"
#include "iads.h"
#include "adshlp.h"
+#include "adserr.h"
#include "wine/debug.h"
@@ -112,11 +115,80 @@ HRESULT WINAPI ADsBuildVarArrayInt(LPDWORD lpdwObjectTypes, DWORD dwObjectTypes,
/*****************************************************
* ADsOpenObject [ACTIVEDS.9]
*/
-HRESULT WINAPI ADsOpenObject(LPCWSTR lpszPathName, LPCWSTR lpszUserName, LPCWSTR lpszPassword, DWORD dwReserved, REFIID riid, VOID** ppObject)
+HRESULT WINAPI ADsOpenObject(LPCWSTR path, LPCWSTR user, LPCWSTR password, DWORD reserved, REFIID riid, void **obj)
{
- FIXME("(%s,%s,%u,%s,%p)!stub\n", debugstr_w(lpszPathName),
- debugstr_w(lpszUserName), dwReserved, debugstr_guid(riid), ppObject);
- return E_NOTIMPL;
+ HRESULT hr;
+ HKEY hkey, hprov;
+ WCHAR provider[MAX_PATH], progid[MAX_PATH];
+ DWORD idx = 0;
+
+ TRACE("(%s,%s,%u,%s,%p)\n", debugstr_w(path), debugstr_w(user), reserved, debugstr_guid(riid), obj);
+
+ if (!path || !riid || !obj)
+ return E_INVALIDARG;
+
+ if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, L"Software\\Microsoft\\ADs\\Providers", 0, KEY_READ, &hkey))
+ return E_ADS_BAD_PATHNAME;
+
+ hr = E_ADS_BAD_PATHNAME;
+
+ for (;;)
+ {
+ if (RegEnumKeyW(hkey, idx++, provider, ARRAY_SIZE(provider)))
+ break;
+
+ TRACE("provider %s\n", debugstr_w(provider));
+
+ if (!wcsnicmp(path, provider, wcslen(provider)) && path[wcslen(provider)] == ':')
+ {
+ LONG size;
+
+ if (RegOpenKeyExW(hkey, provider, 0, KEY_READ, &hprov))
+ break;
+
+ size = ARRAY_SIZE(progid);
+ if (!RegQueryValueW(hprov, NULL, progid, &size))
+ {
+ CLSID clsid;
+
+ if (CLSIDFromProgID(progid, &clsid) == S_OK)
+ {
+ IADsOpenDSObject *adsopen;
+ IDispatch *disp;
+
+ TRACE("ns %s => clsid %s\n", debugstr_w(progid), wine_dbgstr_guid(&clsid));
+ if (CoCreateInstance(&clsid, 0, CLSCTX_INPROC_SERVER, &IID_IADsOpenDSObject, (void **)&adsopen) == S_OK)
+ {
+ BSTR bpath, buser, bpassword;
+
+ bpath = SysAllocString(path);
+ buser = SysAllocString(user);
+ bpassword = SysAllocString(password);
+
+ hr = IADsOpenDSObject_OpenDSObject(adsopen, bpath, buser, bpassword, reserved, &disp);
+ if (hr == S_OK)
+ {
+ hr = IDispatch_QueryInterface(disp, riid, obj);
+ IDispatch_Release(disp);
+ }
+
+ SysFreeString(bpath);
+ SysFreeString(buser);
+ SysFreeString(bpassword);
+
+ IADsOpenDSObject_Release(adsopen);
+ }
+ }
+ }
+
+ RegCloseKey(hprov);
+ break;
+ }
+ }
+
+ RegCloseKey(hkey);
+
+ return hr;
}
/*****************************************************
diff --git a/include/iads.idl b/include/iads.idl
index 6931b6f734..add52571c7 100644
--- a/include/iads.idl
+++ b/include/iads.idl
@@ -794,6 +794,20 @@ interface IDirectorySearch : IUnknown
HRESULT CloseSearchHandle([in] ADS_SEARCH_HANDLE hSearchResult);
}
+/*****************************************************************************
+ * IID_IADsOpenDSObject interface
+ */
+[
+ odl,
+ uuid(ddf2891e-0f9c-11d0-8ad4-00c04fd8d503),
+ dual,
+ oleautomation
+]
+interface IADsOpenDSObject : IDispatch
+{
+ HRESULT OpenDSObject([in] BSTR path, [in] BSTR user, [in] BSTR password, [in] long reserved, [out,retval] IDispatch **obj);
+}
+
/*****************************************************************************
* IADsADSystemInfo interface
*/
--
2.20.1

View File

@@ -0,0 +1,483 @@
From ba1eb1310db57db3820a3886e374afc507c2b507 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Tue, 19 Nov 2019 11:34:13 +0800
Subject: [PATCH 3/5] adsldp: Add LDAPNamespace stubs.
Content-Type: text/plain; charset=UTF-8
To: wine-devel@winehq.org
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
---
dlls/adsldp/Makefile.in | 5 +-
dlls/adsldp/adsldp.c | 295 ++++++++++++++++++++++++++++++++++++----
dlls/adsldp/adsldp.idl | 9 ++
dlls/adsldp/adsldp.rgs | 16 +++
dlls/adsldp/rsrc.rc | 20 +++
5 files changed, 319 insertions(+), 26 deletions(-)
create mode 100644 dlls/adsldp/adsldp.rgs
create mode 100644 dlls/adsldp/rsrc.rc
diff --git a/dlls/adsldp/Makefile.in b/dlls/adsldp/Makefile.in
index 4dce14fd0d..7bf07fce2c 100644
--- a/dlls/adsldp/Makefile.in
+++ b/dlls/adsldp/Makefile.in
@@ -1,10 +1,13 @@
MODULE = adsldp.dll
-IMPORTS = oleaut32 secur32
+IMPORTS = oleaut32 secur32 rpcrt4
EXTRADLLFLAGS = -mno-cygwin
+dlldata_EXTRADEFS = -DENTRY_PREFIX=ADSLDP_
C_SRCS = \
adsldp.c
IDL_SRCS = \
adsldp.idl
+
+RC_SRCS = rsrc.rc
diff --git a/dlls/adsldp/adsldp.c b/dlls/adsldp/adsldp.c
index 4fc0de41eb..ef62aad279 100644
--- a/dlls/adsldp/adsldp.c
+++ b/dlls/adsldp/adsldp.c
@@ -31,10 +31,15 @@
#define SECURITY_WIN32
#include "security.h"
+#include "wine/heap.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(adsldp);
+DEFINE_GUID(CLSID_LDAPNamespace,0x228d9a82,0xc302,0x11cf,0x9a,0xa4,0x00,0xaa,0x00,0x4a,0x56,0x91);
+
+extern HRESULT WINAPI ADSLDP_DllGetClassObject(REFCLSID,REFIID,void **) DECLSPEC_HIDDEN;
+
static HMODULE adsldp_hinst;
typedef struct
@@ -235,31 +240,239 @@ static const IADsADSystemInfoVtbl IADsADSystemInfo_vtbl =
sysinfo_GetTrees
};
-static HRESULT ADSystemInfo_create(void **obj)
+static HRESULT ADSystemInfo_create(REFIID riid, void **obj)
{
AD_sysinfo *sysinfo;
+ HRESULT hr;
sysinfo = HeapAlloc(GetProcessHeap(), 0, sizeof(*sysinfo));
if (!sysinfo) return E_OUTOFMEMORY;
sysinfo->IADsADSystemInfo_iface.lpVtbl = &IADsADSystemInfo_vtbl;
sysinfo->ref = 1;
- *obj = &sysinfo->IADsADSystemInfo_iface;
- TRACE("created %p\n", *obj);
+ hr = IADsADSystemInfo_QueryInterface(&sysinfo->IADsADSystemInfo_iface, riid, obj);
+ IADsADSystemInfo_Release(&sysinfo->IADsADSystemInfo_iface);
- return S_OK;
+ return hr;
}
+typedef struct
+{
+ IADs IADs_iface;
+ LONG ref;
+} LDAP_namespace;
+
+static inline LDAP_namespace *impl_from_IADs(IADs *iface)
+{
+ return CONTAINING_RECORD(iface, LDAP_namespace, IADs_iface);
+}
+
+static HRESULT WINAPI ldapns_QueryInterface(IADs *iface, REFIID riid, void **obj)
+{
+ TRACE("%p,%s,%p\n", iface, debugstr_guid(riid), obj);
+
+ if (!riid || !obj) return E_INVALIDARG;
+
+ if (IsEqualGUID(riid, &IID_IUnknown) ||
+ IsEqualGUID(riid, &IID_IDispatch) ||
+ IsEqualGUID(riid, &IID_IADs))
+ {
+ IADs_AddRef(iface);
+ *obj = iface;
+ return S_OK;
+ }
+
+ FIXME("interface %s is not implemented\n", debugstr_guid(riid));
+ return E_NOINTERFACE;
+}
+
+static ULONG WINAPI ldapns_AddRef(IADs *iface)
+{
+ LDAP_namespace *ldap = impl_from_IADs(iface);
+ return InterlockedIncrement(&ldap->ref);
+}
+
+static ULONG WINAPI ldapns_Release(IADs *iface)
+{
+ LDAP_namespace *ldap = impl_from_IADs(iface);
+ LONG ref = InterlockedDecrement(&ldap->ref);
+
+ if (!ref)
+ {
+ TRACE("destroying %p\n", iface);
+ HeapFree(GetProcessHeap(), 0, ldap);
+ }
+
+ return ref;
+}
+
+static HRESULT WINAPI ldapns_GetTypeInfoCount(IADs *iface, UINT *count)
+{
+ FIXME("%p,%p: stub\n", iface, count);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_GetTypeInfo(IADs *iface, UINT index, LCID lcid, ITypeInfo **info)
+{
+ FIXME("%p,%u,%#x,%p: stub\n", iface, index, lcid, info);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_GetIDsOfNames(IADs *iface, REFIID riid, LPOLESTR *names,
+ UINT count, LCID lcid, DISPID *dispid)
+{
+ FIXME("%p,%s,%p,%u,%u,%p: stub\n", iface, debugstr_guid(riid), names, count, lcid, dispid);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_Invoke(IADs *iface, DISPID dispid, REFIID riid, LCID lcid, WORD flags,
+ DISPPARAMS *params, VARIANT *result, EXCEPINFO *excepinfo, UINT *argerr)
+{
+ FIXME("%p,%d,%s,%04x,%04x,%p,%p,%p,%p: stub\n", iface, dispid, debugstr_guid(riid), lcid, flags,
+ params, result, excepinfo, argerr);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_get_Name(IADs *iface, BSTR *retval)
+{
+ FIXME("%p,%p: stub\n", iface, retval);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_get_Class(IADs *iface, BSTR *retval)
+{
+ FIXME("%p,%p: stub\n", iface, retval);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_get_GUID(IADs *iface, BSTR *retval)
+{
+ FIXME("%p,%p: stub\n", iface, retval);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_get_ADsPath(IADs *iface, BSTR *retval)
+{
+ FIXME("%p,%p: stub\n", iface, retval);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_get_Parent(IADs *iface, BSTR *retval)
+{
+ FIXME("%p,%p: stub\n", iface, retval);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_get_Schema(IADs *iface, BSTR *retval)
+{
+ FIXME("%p,%p: stub\n", iface, retval);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_GetInfo(IADs *iface)
+{
+ FIXME("%p: stub\n", iface);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_SetInfo(IADs *iface)
+{
+ FIXME("%p: stub\n", iface);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_Get(IADs *iface, BSTR name, VARIANT *prop)
+{
+ FIXME("%p,%s,%p: stub\n", iface, debugstr_w(name), prop);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_Put(IADs *iface, BSTR name, VARIANT prop)
+{
+ FIXME("%p,%s,%s: stub\n", iface, debugstr_w(name), wine_dbgstr_variant(&prop));
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_GetEx(IADs *iface, BSTR name, VARIANT *prop)
+{
+ FIXME("%p,%s,%p: stub\n", iface, debugstr_w(name), prop);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_PutEx(IADs *iface, LONG code, BSTR name, VARIANT prop)
+{
+ FIXME("%p,%d,%s,%s: stub\n", iface, code, debugstr_w(name), wine_dbgstr_variant(&prop));
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI ldapns_GetInfoEx(IADs *iface, VARIANT prop, LONG reserved)
+{
+ FIXME("%p,%s,%d: stub\n", iface, wine_dbgstr_variant(&prop), reserved);
+ return E_NOTIMPL;
+}
+
+static const IADsVtbl IADs_vtbl =
+{
+ ldapns_QueryInterface,
+ ldapns_AddRef,
+ ldapns_Release,
+ ldapns_GetTypeInfoCount,
+ ldapns_GetTypeInfo,
+ ldapns_GetIDsOfNames,
+ ldapns_Invoke,
+ ldapns_get_Name,
+ ldapns_get_Class,
+ ldapns_get_GUID,
+ ldapns_get_ADsPath,
+ ldapns_get_Parent,
+ ldapns_get_Schema,
+ ldapns_GetInfo,
+ ldapns_SetInfo,
+ ldapns_Get,
+ ldapns_Put,
+ ldapns_GetEx,
+ ldapns_PutEx,
+ ldapns_GetInfoEx
+};
+
+static HRESULT LDAPNamespace_create(REFIID riid, void **obj)
+{
+ LDAP_namespace *ldap;
+ HRESULT hr;
+
+ ldap = heap_alloc(sizeof(*ldap));
+ if (!ldap) return E_OUTOFMEMORY;
+
+ ldap->IADs_iface.lpVtbl = &IADs_vtbl;
+ ldap->ref = 1;
+
+ hr = IADs_QueryInterface(&ldap->IADs_iface, riid, obj);
+ IADs_Release(&ldap->IADs_iface);
+
+ return hr;
+}
+
+static const struct class_info
+{
+ const CLSID *clsid;
+ HRESULT (*constructor)(REFIID, void **);
+} class_info[] =
+{
+ { &CLSID_ADSystemInfo, ADSystemInfo_create },
+ { &CLSID_LDAPNamespace, LDAPNamespace_create },
+};
+
typedef struct
{
IClassFactory IClassFactory_iface;
- HRESULT (*constructor)(void **);
-} ADSystemInfo_factory;
+ LONG ref;
+ const struct class_info *info;
+} class_factory;
-static inline ADSystemInfo_factory *impl_from_IClassFactory(IClassFactory *iface)
+static inline class_factory *impl_from_IClassFactory(IClassFactory *iface)
{
- return CONTAINING_RECORD(iface, ADSystemInfo_factory, IClassFactory_iface);
+ return CONTAINING_RECORD(iface, class_factory, IClassFactory_iface);
}
static HRESULT WINAPI factory_QueryInterface(IClassFactory *iface, REFIID riid, LPVOID *obj)
@@ -283,19 +496,30 @@ static HRESULT WINAPI factory_QueryInterface(IClassFactory *iface, REFIID riid,
static ULONG WINAPI factory_AddRef(IClassFactory *iface)
{
- return 2;
+ class_factory *factory = impl_from_IClassFactory(iface);
+ ULONG ref = InterlockedIncrement(&factory->ref);
+
+ TRACE("(%p) ref %u\n", iface, ref);
+
+ return ref;
}
static ULONG WINAPI factory_Release(IClassFactory *iface)
{
- return 1;
+ class_factory *factory = impl_from_IClassFactory(iface);
+ ULONG ref = InterlockedDecrement(&factory->ref);
+
+ TRACE("(%p) ref %u\n", iface, ref);
+
+ if (!ref)
+ heap_free(factory);
+
+ return ref;
}
static HRESULT WINAPI factory_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **obj)
{
- ADSystemInfo_factory *factory = impl_from_IClassFactory(iface);
- IUnknown *unknown;
- HRESULT hr;
+ class_factory *factory = impl_from_IClassFactory(iface);
TRACE("%p,%s,%p\n", outer, debugstr_guid(riid), obj);
@@ -304,13 +528,7 @@ static HRESULT WINAPI factory_CreateInstance(IClassFactory *iface, IUnknown *out
*obj = NULL;
if (outer) return CLASS_E_NOAGGREGATION;
- hr = factory->constructor((void **)&unknown);
- if (hr == S_OK)
- {
- hr = IUnknown_QueryInterface(unknown, riid, obj);
- IUnknown_Release(unknown);
- }
- return hr;
+ return factory->info->constructor(riid, obj);
}
static HRESULT WINAPI factory_LockServer(IClassFactory *iface, BOOL lock)
@@ -328,21 +546,48 @@ static const struct IClassFactoryVtbl factory_vtbl =
factory_LockServer
};
-static ADSystemInfo_factory ADSystemInfo_cf = { { &factory_vtbl }, ADSystemInfo_create };
+static HRESULT factory_constructor(const struct class_info *info, REFIID riid, void **obj)
+{
+ class_factory *factory;
+ HRESULT hr;
+
+ factory = heap_alloc(sizeof(*factory));
+ if (!factory) return E_OUTOFMEMORY;
+
+ factory->IClassFactory_iface.lpVtbl = &factory_vtbl;
+ factory->ref = 1;
+ factory->info = info;
+
+ hr = IClassFactory_QueryInterface(&factory->IClassFactory_iface, riid, obj);
+ IClassFactory_Release(&factory->IClassFactory_iface);
+
+ return hr;
+}
HRESULT WINAPI DllGetClassObject(REFCLSID clsid, REFIID iid, LPVOID *obj)
{
+ const struct class_info *info = NULL;
+ int i;
+
TRACE("%s,%s,%p\n", debugstr_guid(clsid), debugstr_guid(iid), obj);
if (!clsid || !iid || !obj) return E_INVALIDARG;
*obj = NULL;
- if (IsEqualGUID(clsid, &CLSID_ADSystemInfo))
- return IClassFactory_QueryInterface(&ADSystemInfo_cf.IClassFactory_iface, iid, obj);
+ for (i = 0; i < ARRAY_SIZE(class_info); i++)
+ {
+ if (IsEqualCLSID(class_info[i].clsid, clsid))
+ {
+ info = &class_info[i];
+ break;
+ }
+ }
+
+ if (info)
+ return factory_constructor(info, iid, obj);
- FIXME("class %s/%s is not implemented\n", debugstr_guid(clsid), debugstr_guid(iid));
- return CLASS_E_CLASSNOTAVAILABLE;
+ return ADSLDP_DllGetClassObject(clsid, iid, obj);
}
HRESULT WINAPI DllCanUnloadNow(void)
diff --git a/dlls/adsldp/adsldp.idl b/dlls/adsldp/adsldp.idl
index c2f7504d0c..634aa36327 100644
--- a/dlls/adsldp/adsldp.idl
+++ b/dlls/adsldp/adsldp.idl
@@ -18,8 +18,17 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#pragma makedep proxy
#pragma makedep register
+[
+ helpstring("LDAP Namespace Object"),
+ progid("LDAPNamespace"),
+ uuid(228d9a82-c302-11cf-9aa4-00aa004a5691),
+ threading(both)
+]
+coclass ADs { }
+
[
helpstring("AD System Info Object"),
uuid(50b6327f-afd1-11d2-9cb9-0000f87a369e),
diff --git a/dlls/adsldp/adsldp.rgs b/dlls/adsldp/adsldp.rgs
new file mode 100644
index 0000000000..0da0946832
--- /dev/null
+++ b/dlls/adsldp/adsldp.rgs
@@ -0,0 +1,16 @@
+HKLM
+{
+ NoRemove Software
+ {
+ NoRemove Microsoft
+ {
+ NoRemove ADs
+ {
+ NoRemove Providers
+ {
+ ForceRemove 'LDAP' = s 'LDAPNamespace'
+ }
+ }
+ }
+ }
+}
diff --git a/dlls/adsldp/rsrc.rc b/dlls/adsldp/rsrc.rc
new file mode 100644
index 0000000000..914fe0b2f3
--- /dev/null
+++ b/dlls/adsldp/rsrc.rc
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2019 Dmitry Timoshkov
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/* @makedep: adsldp.rgs */
+1 WINE_REGISTRY adsldp.rgs
--
2.20.1

View File

@@ -0,0 +1,156 @@
From 73b97a7095f833e5323117c1acbb8a64c5e3afcb Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Tue, 19 Nov 2019 11:46:50 +0800
Subject: [PATCH 4/5] adsldp: Add IADsOpenDSObject stubs.
Content-Type: text/plain; charset=UTF-8
To: wine-devel@winehq.org
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
---
dlls/adsldp/adsldp.c | 102 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 102 insertions(+)
diff --git a/dlls/adsldp/adsldp.c b/dlls/adsldp/adsldp.c
index ef62aad279..bdce30c143 100644
--- a/dlls/adsldp/adsldp.c
+++ b/dlls/adsldp/adsldp.c
@@ -260,6 +260,7 @@ static HRESULT ADSystemInfo_create(REFIID riid, void **obj)
typedef struct
{
IADs IADs_iface;
+ IADsOpenDSObject IADsOpenDSObject_iface;
LONG ref;
} LDAP_namespace;
@@ -270,6 +271,8 @@ static inline LDAP_namespace *impl_from_IADs(IADs *iface)
static HRESULT WINAPI ldapns_QueryInterface(IADs *iface, REFIID riid, void **obj)
{
+ LDAP_namespace *ldap = impl_from_IADs(iface);
+
TRACE("%p,%s,%p\n", iface, debugstr_guid(riid), obj);
if (!riid || !obj) return E_INVALIDARG;
@@ -283,6 +286,13 @@ static HRESULT WINAPI ldapns_QueryInterface(IADs *iface, REFIID riid, void **obj
return S_OK;
}
+ if (IsEqualGUID(riid, &IID_IADsOpenDSObject))
+ {
+ IADs_AddRef(iface);
+ *obj = &ldap->IADsOpenDSObject_iface;
+ return S_OK;
+ }
+
FIXME("interface %s is not implemented\n", debugstr_guid(riid));
return E_NOINTERFACE;
}
@@ -436,6 +446,97 @@ static const IADsVtbl IADs_vtbl =
ldapns_GetInfoEx
};
+static inline LDAP_namespace *impl_from_IADsOpenDSObject(IADsOpenDSObject *iface)
+{
+ return CONTAINING_RECORD(iface, LDAP_namespace, IADsOpenDSObject_iface);
+}
+
+static HRESULT WINAPI openobj_QueryInterface(IADsOpenDSObject *iface, REFIID riid, void **obj)
+{
+ TRACE("%p,%s,%p\n", iface, debugstr_guid(riid), obj);
+
+ if (!riid || !obj) return E_INVALIDARG;
+
+ if (IsEqualGUID(riid, &IID_IADsOpenDSObject) ||
+ IsEqualGUID(riid, &IID_IDispatch) ||
+ IsEqualGUID(riid, &IID_IUnknown))
+ {
+ IADsOpenDSObject_AddRef(iface);
+ *obj = iface;
+ return S_OK;
+ }
+
+ FIXME("interface %s is not implemented\n", debugstr_guid(riid));
+ return E_NOINTERFACE;
+}
+
+static ULONG WINAPI openobj_AddRef(IADsOpenDSObject *iface)
+{
+ LDAP_namespace *ldap = impl_from_IADsOpenDSObject(iface);
+ return InterlockedIncrement(&ldap->ref);
+}
+
+static ULONG WINAPI openobj_Release(IADsOpenDSObject *iface)
+{
+ LDAP_namespace *ldap = impl_from_IADsOpenDSObject(iface);
+ LONG ref = InterlockedDecrement(&ldap->ref);
+
+ if (!ref)
+ {
+ TRACE("destroying %p\n", iface);
+ HeapFree(GetProcessHeap(), 0, ldap);
+ }
+
+ return ref;
+}
+
+static HRESULT WINAPI openobj_GetTypeInfoCount(IADsOpenDSObject *iface, UINT *count)
+{
+ FIXME("%p,%p: stub\n", iface, count);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI openobj_GetTypeInfo(IADsOpenDSObject *iface, UINT index, LCID lcid, ITypeInfo **info)
+{
+ FIXME("%p,%u,%#x,%p: stub\n", iface, index, lcid, info);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI openobj_GetIDsOfNames(IADsOpenDSObject *iface, REFIID riid, LPOLESTR *names,
+ UINT count, LCID lcid, DISPID *dispid)
+{
+ FIXME("%p,%s,%p,%u,%u,%p: stub\n", iface, debugstr_guid(riid), names, count, lcid, dispid);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI openobj_Invoke(IADsOpenDSObject *iface, DISPID dispid, REFIID riid, LCID lcid, WORD flags,
+ DISPPARAMS *params, VARIANT *result, EXCEPINFO *excepinfo, UINT *argerr)
+{
+ FIXME("%p,%d,%s,%04x,%04x,%p,%p,%p,%p: stub\n", iface, dispid, debugstr_guid(riid), lcid, flags,
+ params, result, excepinfo, argerr);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI openobj_OpenDSObject(IADsOpenDSObject *iface, BSTR path, BSTR user, BSTR password,
+ LONG reserved, IDispatch **obj)
+{
+ FIXME("%p,%s,%s,%s,%d,%p: stub\n", iface, debugstr_w(path), debugstr_w(user), debugstr_w(password),
+ reserved, obj);
+ return E_NOTIMPL;
+}
+
+static const IADsOpenDSObjectVtbl IADsOpenDSObject_vtbl =
+{
+ openobj_QueryInterface,
+ openobj_AddRef,
+ openobj_Release,
+ openobj_GetTypeInfoCount,
+ openobj_GetTypeInfo,
+ openobj_GetIDsOfNames,
+ openobj_Invoke,
+ openobj_OpenDSObject
+};
+
static HRESULT LDAPNamespace_create(REFIID riid, void **obj)
{
LDAP_namespace *ldap;
@@ -445,6 +546,7 @@ static HRESULT LDAPNamespace_create(REFIID riid, void **obj)
if (!ldap) return E_OUTOFMEMORY;
ldap->IADs_iface.lpVtbl = &IADs_vtbl;
+ ldap->IADsOpenDSObject_iface.lpVtbl = &IADsOpenDSObject_vtbl;
ldap->ref = 1;
hr = IADs_QueryInterface(&ldap->IADs_iface, riid, obj);
--
2.20.1

View File

@@ -0,0 +1,123 @@
From 488afac28472b0563c67cfad8c02a82f489c2c04 Mon Sep 17 00:00:00 2001
From: Dmitry Timoshkov <dmitry@baikal.ru>
Date: Tue, 19 Nov 2019 12:12:27 +0800
Subject: [PATCH 5/5] adsldp/tests: Add some tests for LDAPNamespace.
Content-Type: text/plain; charset=UTF-8
To: wine-devel@winehq.org
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
---
dlls/adsldp/tests/Makefile.in | 1 +
dlls/adsldp/tests/ldap.c | 78 +++++++++++++++++++++++++++++++++++
dlls/adsldp/tests/sysinfo.c | 2 +
3 files changed, 81 insertions(+)
create mode 100644 dlls/adsldp/tests/ldap.c
diff --git a/dlls/adsldp/tests/Makefile.in b/dlls/adsldp/tests/Makefile.in
index 777d2aa9de..52141139d5 100644
--- a/dlls/adsldp/tests/Makefile.in
+++ b/dlls/adsldp/tests/Makefile.in
@@ -2,4 +2,5 @@ TESTDLL = adsldp.dll
IMPORTS = ole32 oleaut32 secur32 advapi32 uuid
C_SRCS = \
+ ldap.c \
sysinfo.c
diff --git a/dlls/adsldp/tests/ldap.c b/dlls/adsldp/tests/ldap.c
new file mode 100644
index 0000000000..36b128da20
--- /dev/null
+++ b/dlls/adsldp/tests/ldap.c
@@ -0,0 +1,78 @@
+/*
+ * LDAPNamespace Tests
+ *
+ * Copyright 2019 Dmitry Timoshkov
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <stdarg.h>
+#include <stdio.h>
+
+#define COBJMACROS
+
+#include "windef.h"
+#include "winbase.h"
+#include "objbase.h"
+#include "iads.h"
+
+#include "wine/test.h"
+
+#include "initguid.h"
+DEFINE_GUID(CLSID_LDAPNamespace,0x228d9a82,0xc302,0x11cf,0x9a,0xa4,0x00,0xaa,0x00,0x4a,0x56,0x91);
+
+static void test_LDAP(void)
+{
+ HRESULT hr;
+ IUnknown *unk;
+ IADs *ads;
+ IADsOpenDSObject *ads_open;
+ IDispatch *disp;
+
+ hr = CoCreateInstance(&CLSID_LDAPNamespace, 0, CLSCTX_INPROC_SERVER, &IID_IADs, (void **)&ads);
+ ok(hr == S_OK, "got %#x\n", hr);
+ IADs_Release(ads);
+
+ hr = CoCreateInstance(&CLSID_LDAPNamespace, 0, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void **)&unk);
+ ok(hr == S_OK, "got %#x\n", hr);
+
+ hr = IUnknown_QueryInterface(unk, &IID_IDispatch, (void **)&disp);
+ ok(hr == S_OK, "got %#x\n", hr);
+ IDispatch_Release(disp);
+
+ hr = IUnknown_QueryInterface(unk, &IID_IADsOpenDSObject, (void **)&ads_open);
+ ok(hr == S_OK, "got %#x\n", hr);
+ IADsOpenDSObject_Release(ads_open);
+
+ hr = IADsOpenDSObject_OpenDSObject(ads_open, (BSTR)L"LDAP:", NULL, NULL, ADS_SECURE_AUTHENTICATION, &disp);
+todo_wine
+ ok(hr == S_OK, "got %#x\n", hr);
+if (hr == S_OK)
+ IDispatch_Release(disp);
+
+ IUnknown_Release(unk);
+}
+
+START_TEST(ldap)
+{
+ HRESULT hr;
+
+ hr = CoInitialize(NULL);
+ ok(hr == S_OK, "got %#x\n", hr);
+
+ test_LDAP();
+
+ CoUninitialize();
+}
diff --git a/dlls/adsldp/tests/sysinfo.c b/dlls/adsldp/tests/sysinfo.c
index db982aa82f..cb250190f1 100644
--- a/dlls/adsldp/tests/sysinfo.c
+++ b/dlls/adsldp/tests/sysinfo.c
@@ -216,4 +216,6 @@ START_TEST(sysinfo)
test_ComputerName();
test_UserName();
test_sysinfo();
+
+ CoUninitialize();
}
--
2.20.1

View File

@@ -0,0 +1,2 @@
Fixes: [40649] activeds: Implement ADsOpenObject.
#Fixes: [42885] ADsOpenObject to bind to user's account/computer. (related)

View File

@@ -1,19 +1,18 @@
From 2a1064c5f90beac2bd709ab5d1c454c90a16189b Mon Sep 17 00:00:00 2001
From 3c1f5962482e7acf531f57f49d923d9c4e5278b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 4 Aug 2017 02:51:57 +0200
Subject: advapi32: Implement CreateRestrictedToken.
Subject: [PATCH] advapi32: Implement CreateRestrictedToken.
---
dlls/advapi32/security.c | 88 +++++++++++++++++++++++++++++++++++-------
dlls/advapi32/tests/security.c | 88 +++++++++++++++++++++++++++++++++++++++---
2 files changed, 157 insertions(+), 19 deletions(-)
dlls/kernelbase/security.c | 103 ++++++++++++++++++++++++++++++-------
1 file changed, 84 insertions(+), 19 deletions(-)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 82bb6689d43..c531e45c9a0 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -840,6 +840,60 @@ BOOL WINAPI SetThreadToken(PHANDLE thread, HANDLE token)
ThreadImpersonationToken, &token, sizeof token ));
diff --git a/dlls/kernelbase/security.c b/dlls/kernelbase/security.c
index 2e75e81ed77..97f6ee6a2fd 100644
--- a/dlls/kernelbase/security.c
+++ b/dlls/kernelbase/security.c
@@ -592,31 +592,96 @@ exit:
return ret;
}
+static BOOL allocate_groups(TOKEN_GROUPS **groups_ret, SID_AND_ATTRIBUTES *sids, DWORD count)
@@ -71,11 +70,16 @@ index 82bb6689d43..c531e45c9a0 100644
+}
+
/*************************************************************************
* CreateRestrictedToken [ADVAPI32.@]
*
@@ -871,25 +925,33 @@ BOOL WINAPI CreateRestrictedToken(
PSID_AND_ATTRIBUTES restrictSids,
PHANDLE newToken)
* CreateRestrictedToken (kernelbase.@)
*/
-BOOL WINAPI CreateRestrictedToken( HANDLE token, DWORD flags,
- DWORD disable_count, PSID_AND_ATTRIBUTES disable_sids,
- DWORD delete_count, PLUID_AND_ATTRIBUTES delete_privs,
- DWORD restrict_count, PSID_AND_ATTRIBUTES restrict_sids, PHANDLE ret )
+BOOL WINAPI CreateRestrictedToken( HANDLE baseToken, DWORD flags,
+ DWORD nDisableSids, PSID_AND_ATTRIBUTES disableSids,
+ DWORD nDeletePrivs, PLUID_AND_ATTRIBUTES deletePrivs,
+ DWORD nRestrictSids, PSID_AND_ATTRIBUTES restrictSids, PHANDLE newToken )
{
- TOKEN_TYPE type;
- SECURITY_IMPERSONATION_LEVEL level = SecurityAnonymous;
@@ -86,21 +90,14 @@ index 82bb6689d43..c531e45c9a0 100644
+ BOOL ret = FALSE;
- FIXME("(%p, 0x%x, %u, %p, %u, %p, %u, %p, %p): stub\n",
- token, flags, disable_count, disable_sids, delete_count, delete_privs,
- restrict_count, restrict_sids, ret );
+ TRACE("(%p, 0x%x, %u, %p, %u, %p, %u, %p, %p)\n",
baseToken, flags, nDisableSids, disableSids,
nDeletePrivs, deletePrivs,
nRestrictSids, restrictSids,
newToken);
- size = sizeof(type);
- if (!GetTokenInformation( baseToken, TokenType, &type, size, &size )) return FALSE;
- if (type == TokenImpersonation)
- {
- size = sizeof(level);
- if (!GetTokenInformation( baseToken, TokenImpersonationLevel, &level, size, &size ))
- return FALSE;
- }
- return DuplicateTokenEx( baseToken, MAXIMUM_ALLOWED, NULL, level, type, newToken );
+ baseToken, flags, nDisableSids, disableSids,
+ nDeletePrivs, deletePrivs,
+ nRestrictSids, restrictSids,
+ newToken);
+
+ if (!allocate_groups(&disable_groups, disableSids, nDisableSids))
+ goto done;
+
@@ -117,155 +114,19 @@ index 82bb6689d43..c531e45c9a0 100644
+ heap_free(delete_privs);
+ heap_free(restrict_sids);
+ return ret;
- size = sizeof(type);
- if (!GetTokenInformation( token, TokenType, &type, size, &size )) return FALSE;
- if (type == TokenImpersonation)
- {
- size = sizeof(level);
- if (!GetTokenInformation( token, TokenImpersonationLevel, &level, size, &size ))
- return FALSE;
- }
- return DuplicateTokenEx( token, MAXIMUM_ALLOWED, NULL, level, type, ret );
}
/* ##############################
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index a1ecc409b73..0fd41fe82fa 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -5292,10 +5292,13 @@ static void test_GetUserNameW(void)
static void test_CreateRestrictedToken(void)
{
+ TOKEN_PRIMARY_GROUP *primary_group, *primary_group2;
HANDLE process_token, token, r_token;
PTOKEN_GROUPS token_groups, groups2;
SID_AND_ATTRIBUTES sattr;
SECURITY_IMPERSONATION_LEVEL level;
+ TOKEN_PRIVILEGES *privs;
+ PRIVILEGE_SET privset;
TOKEN_TYPE type;
BOOL is_member;
DWORD size;
@@ -5311,7 +5314,7 @@ static void test_CreateRestrictedToken(void)
ret = OpenProcessToken(GetCurrentProcess(), TOKEN_DUPLICATE|TOKEN_QUERY, &process_token);
ok(ret, "got error %d\n", GetLastError());
- ret = DuplicateTokenEx(process_token, TOKEN_DUPLICATE|TOKEN_ADJUST_GROUPS|TOKEN_QUERY,
+ ret = DuplicateTokenEx(process_token, TOKEN_DUPLICATE|TOKEN_ADJUST_GROUPS|TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,
NULL, SecurityImpersonation, TokenImpersonation, &token);
ok(ret, "got error %d\n", GetLastError());
@@ -5342,11 +5345,21 @@ static void test_CreateRestrictedToken(void)
ok(ret, "got error %d\n", GetLastError());
ok(is_member, "not a member\n");
- /* disable a SID in new token */
+ privset.PrivilegeCount = 1;
+ privset.Control = PRIVILEGE_SET_ALL_NECESSARY;
+ ret = LookupPrivilegeValueA(NULL, "SeChangeNotifyPrivilege", &privset.Privilege[0].Luid);
+ ok(ret, "got error %d\n", GetLastError());
+
+ is_member = FALSE;
+ ret = PrivilegeCheck(token, &privset, &is_member);
+ ok(ret, "got error %d\n", GetLastError());
+ ok(is_member, "Expected SeChangeNotifyPrivilege to be enabled\n");
+
+ /* disable a SID and a privilege in new token */
sattr.Sid = token_groups->Groups[i].Sid;
sattr.Attributes = 0;
r_token = NULL;
- ret = pCreateRestrictedToken(token, 0, 1, &sattr, 0, NULL, 0, NULL, &r_token);
+ ret = pCreateRestrictedToken(token, 0, 1, &sattr, 1, &privset.Privilege[0], 0, NULL, &r_token);
ok(ret, "got error %d\n", GetLastError());
if (ret)
@@ -5355,7 +5368,7 @@ static void test_CreateRestrictedToken(void)
is_member = TRUE;
ret = pCheckTokenMembership(r_token, token_groups->Groups[i].Sid, &is_member);
ok(ret, "got error %d\n", GetLastError());
- todo_wine ok(!is_member, "not a member\n");
+ ok(!is_member, "not a member\n");
ret = GetTokenInformation(r_token, TokenGroups, NULL, 0, &size);
ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %d with error %d\n",
@@ -5370,9 +5383,9 @@ static void test_CreateRestrictedToken(void)
break;
}
- todo_wine ok(groups2->Groups[j].Attributes & SE_GROUP_USE_FOR_DENY_ONLY,
+ ok(groups2->Groups[j].Attributes & SE_GROUP_USE_FOR_DENY_ONLY,
"got wrong attributes\n");
- todo_wine ok((groups2->Groups[j].Attributes & SE_GROUP_ENABLED) == 0,
+ ok((groups2->Groups[j].Attributes & SE_GROUP_ENABLED) == 0,
"got wrong attributes\n");
HeapFree(GetProcessHeap(), 0, groups2);
@@ -5386,10 +5399,73 @@ static void test_CreateRestrictedToken(void)
ret = GetTokenInformation(r_token, TokenImpersonationLevel, &level, size, &size);
ok(ret, "got error %d\n", GetLastError());
ok(level == SecurityImpersonation, "got level %u\n", type);
+
+ is_member = TRUE;
+ ret = PrivilegeCheck(r_token, &privset, &is_member);
+ ok(ret, "got error %d\n", GetLastError());
+ ok(!is_member, "Expected SeChangeNotifyPrivilege not to be enabled\n");
+
+ ret = GetTokenInformation(r_token, TokenPrivileges, NULL, 0, &size);
+ ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %d with error %d\n",
+ ret, GetLastError());
+ privs = HeapAlloc(GetProcessHeap(), 0, size);
+ ret = GetTokenInformation(r_token, TokenPrivileges, privs, size, &size);
+ ok(ret, "got error %d\n", GetLastError());
+
+ is_member = FALSE;
+ for (j = 0; j < privs->PrivilegeCount; j++)
+ {
+ if (RtlEqualLuid(&privs->Privileges[j].Luid, &privset.Privilege[0].Luid))
+ {
+ is_member = TRUE;
+ break;
+ }
+ }
+
+ ok(!is_member, "Expected not to find privilege\n");
+ HeapFree(GetProcessHeap(), 0, privs);
}
HeapFree(GetProcessHeap(), 0, token_groups);
CloseHandle(r_token);
+
+ ret = GetTokenInformation(token, TokenPrimaryGroup, NULL, 0, &size);
+ ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %d with error %d\n",
+ ret, GetLastError());
+ primary_group = HeapAlloc(GetProcessHeap(), 0, size);
+ ret = GetTokenInformation(token, TokenPrimaryGroup, primary_group, size, &size);
+ ok(ret, "got error %d\n", GetLastError());
+
+ /* disable primary group */
+ sattr.Sid = primary_group->PrimaryGroup;
+ sattr.Attributes = 0;
+ r_token = NULL;
+ ret = pCreateRestrictedToken(token, 0, 1, &sattr, 0, NULL, 0, NULL, &r_token);
+ ok(ret, "got error %d\n", GetLastError());
+
+ if (ret)
+ {
+ is_member = TRUE;
+ ret = pCheckTokenMembership(r_token, primary_group->PrimaryGroup, &is_member);
+ ok(ret, "got error %d\n", GetLastError());
+ ok(!is_member, "not a member\n");
+
+ ret = GetTokenInformation(r_token, TokenPrimaryGroup, NULL, 0, &size);
+ ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, "got %d with error %d\n",
+ ret, GetLastError());
+ primary_group2 = HeapAlloc(GetProcessHeap(), 0, size);
+ ret = GetTokenInformation(r_token, TokenPrimaryGroup, primary_group2, size, &size);
+ ok(ret, "got error %d\n", GetLastError());
+
+ ok(EqualSid(primary_group2->PrimaryGroup, primary_group->PrimaryGroup),
+ "Expected same primary group\n");
+
+ HeapFree(GetProcessHeap(), 0, primary_group2);
+ }
+
+ HeapFree(GetProcessHeap(), 0, primary_group);
+ CloseHandle(r_token);
+
CloseHandle(token);
CloseHandle(process_token);
}
/******************************************************************************
--
2.13.1
2.20.1

View File

@@ -1,31 +0,0 @@
From be28c746d013c16fa6c2e50f5f9debc45d39d81b Mon Sep 17 00:00:00 2001
From: Qian Hong <qhong@codeweavers.com>
Date: Tue, 7 Apr 2015 13:18:31 +0800
Subject: advapi32: Initialize buffer length to zero in LsaLookupSids to
prevent crash. (try 2)
Superseded 110588-110594
Try 2:
- Use RtlInitUnicodeStringEx to simplify code when possible. Same for
other patches in this series. (Thanks Nikolay)
---
dlls/advapi32/lsa.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index 2a8b791..69c29c5 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -502,7 +502,7 @@ NTSTATUS WINAPI LsaLookupSids(
{
(*Names)[i].Use = SidTypeUnknown;
(*Names)[i].DomainIndex = -1;
- (*Names)[i].Name.Buffer = NULL;
+ RtlInitUnicodeStringEx(&(*Names)[i].Name, NULL);
memset(&(*ReferencedDomains)->Domains[i], 0, sizeof(LSA_TRUST_INFORMATION));
--
2.3.5

View File

@@ -1,95 +0,0 @@
From f0290aad953e988b1a15e214ecfc57f21dc136af Mon Sep 17 00:00:00 2001
From: Qian Hong <qhong@codeweavers.com>
Date: Tue, 28 Apr 2015 23:28:50 +0800
Subject: advapi32/tests: Test prefix and use of TokenPrimaryGroup Sid.
---
dlls/advapi32/tests/security.c | 35 ++++++++++++++++++++++++++++++-----
1 file changed, 30 insertions(+), 5 deletions(-)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index f3fc682..6a716d6 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -2514,19 +2514,21 @@ static void test_granted_access(HANDLE handle, ACCESS_MASK access,
static void test_process_security(void)
{
BOOL res;
+ PTOKEN_USER user;
PTOKEN_OWNER owner;
PTOKEN_PRIMARY_GROUP group;
- PSID AdminSid = NULL, UsersSid = NULL;
+ PSID AdminSid = NULL, UsersSid = NULL, UserSid = NULL;
PACL Acl = NULL, ThreadAcl = NULL;
SECURITY_DESCRIPTOR *SecurityDescriptor = NULL, *ThreadSecurityDescriptor = NULL;
- char buffer[MAX_PATH];
+ char buffer[MAX_PATH], account[MAX_PATH], domain[MAX_PATH];
PROCESS_INFORMATION info;
STARTUPINFOA startup;
SECURITY_ATTRIBUTES psa, tsa;
HANDLE token, event;
- DWORD size;
+ DWORD size, acc_size, dom_size, ret;
SID_IDENTIFIER_AUTHORITY SIDAuthWorld = { SECURITY_WORLD_SID_AUTHORITY };
PSID EveryoneSid = NULL;
+ SID_NAME_USE use;
Acl = HeapAlloc(GetProcessHeap(), 0, 256);
res = InitializeAcl(Acl, 256, ACL_REVISION);
@@ -2558,7 +2560,8 @@ static void test_process_security(void)
owner = HeapAlloc(GetProcessHeap(), 0, size);
res = GetTokenInformation( token, TokenOwner, owner, size, &size );
ok(res, "GetTokenInformation failed with error %d\n", GetLastError());
- AdminSid = ((TOKEN_OWNER*)owner)->Owner;
+ AdminSid = owner->Owner;
+ test_sid_str(AdminSid);
res = GetTokenInformation( token, TokenPrimaryGroup, NULL, 0, &size );
ok(!res, "Expected failure, got %d\n", res);
@@ -2568,13 +2571,34 @@ static void test_process_security(void)
group = HeapAlloc(GetProcessHeap(), 0, size);
res = GetTokenInformation( token, TokenPrimaryGroup, group, size, &size );
ok(res, "GetTokenInformation failed with error %d\n", GetLastError());
- UsersSid = ((TOKEN_PRIMARY_GROUP*)group)->PrimaryGroup;
+ UsersSid = group->PrimaryGroup;
+ test_sid_str(UsersSid);
+
+ acc_size = sizeof(account);
+ dom_size = sizeof(domain);
+ ret = LookupAccountSidA( NULL, UsersSid, account, &acc_size, domain, &dom_size, &use );
+ ok(ret, "LookupAccountSid failed with %d\n", ret);
+ todo_wine ok(use == SidTypeGroup, "expect SidTypeGroup, got %d\n", use);
+ todo_wine ok(!strcmp(account, "None"), "expect None, got %s\n", account);
+
+ res = GetTokenInformation( token, TokenUser, NULL, 0, &size );
+ ok(!res, "Expected failure, got %d\n", res);
+ ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER,
+ "Expected ERROR_INSUFFICIENT_BUFFER, got %d\n", GetLastError());
+
+ user = HeapAlloc(GetProcessHeap(), 0, size);
+ res = GetTokenInformation( token, TokenUser, user, size, &size );
+ ok(res, "GetTokenInformation failed with error %d\n", GetLastError());
+ UserSid = user->User.Sid;
+ test_sid_str(UserSid);
+ todo_wine ok(EqualPrefixSid(UsersSid, UserSid), "TokenPrimaryGroup Sid and TokenUser Sid don't match.\n");
CloseHandle( token );
if (!res)
{
HeapFree(GetProcessHeap(), 0, group);
HeapFree(GetProcessHeap(), 0, owner);
+ HeapFree(GetProcessHeap(), 0, user);
HeapFree(GetProcessHeap(), 0, Acl);
return;
}
@@ -2681,6 +2705,7 @@ static void test_process_security(void)
CloseHandle( event );
HeapFree(GetProcessHeap(), 0, group);
HeapFree(GetProcessHeap(), 0, owner);
+ HeapFree(GetProcessHeap(), 0, user);
HeapFree(GetProcessHeap(), 0, Acl);
HeapFree(GetProcessHeap(), 0, SecurityDescriptor);
HeapFree(GetProcessHeap(), 0, ThreadAcl);
--
2.3.5

View File

@@ -1,38 +0,0 @@
From 5487b4720e24aaa7a10719fc36bc23c851a48a9b Mon Sep 17 00:00:00 2001
From: Qian Hong <qhong@codeweavers.com>
Date: Tue, 28 Apr 2015 22:35:26 +0800
Subject: server: Create primary group using DOMAIN_GROUP_RID_USERS.
---
dlls/advapi32/tests/security.c | 2 +-
server/token.c | 1 +
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index 25b34ba4..573119f 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -2591,7 +2591,7 @@ static void test_process_security(void)
ok(res, "GetTokenInformation failed with error %d\n", GetLastError());
UserSid = user->User.Sid;
test_sid_str(UserSid);
- todo_wine ok(EqualPrefixSid(UsersSid, UserSid), "TokenPrimaryGroup Sid and TokenUser Sid don't match.\n");
+ ok(EqualPrefixSid(UsersSid, UserSid), "TokenPrimaryGroup Sid and TokenUser Sid don't match.\n");
CloseHandle( token );
if (!res)
diff --git a/server/token.c b/server/token.c
index e57cbc6..be8c53b 100644
--- a/server/token.c
+++ b/server/token.c
@@ -695,6 +695,7 @@ struct token *token_create_admin( void )
{ security_local_sid, SE_GROUP_ENABLED|SE_GROUP_ENABLED_BY_DEFAULT|SE_GROUP_MANDATORY },
{ security_interactive_sid, SE_GROUP_ENABLED|SE_GROUP_ENABLED_BY_DEFAULT|SE_GROUP_MANDATORY },
{ security_authenticated_user_sid, SE_GROUP_ENABLED|SE_GROUP_ENABLED_BY_DEFAULT|SE_GROUP_MANDATORY },
+ { security_domain_users_sid, SE_GROUP_ENABLED|SE_GROUP_ENABLED_BY_DEFAULT|SE_GROUP_MANDATORY|SE_GROUP_OWNER },
{ alias_admins_sid, SE_GROUP_ENABLED|SE_GROUP_ENABLED_BY_DEFAULT|SE_GROUP_MANDATORY|SE_GROUP_OWNER },
{ alias_users_sid, SE_GROUP_ENABLED|SE_GROUP_ENABLED_BY_DEFAULT|SE_GROUP_MANDATORY },
{ logon_sid, SE_GROUP_ENABLED|SE_GROUP_ENABLED_BY_DEFAULT|SE_GROUP_MANDATORY|SE_GROUP_LOGON_ID },
--
2.3.5

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