Compare commits

...

396 Commits

Author SHA1 Message Date
Sebastian Lackner
20d1f21514 Release 2.8. 2017-05-16 14:17:16 +02:00
Sebastian Lackner
7ad2ee4c60 winebuild-Fake_Dlls: Avoid conflict with 16-bit code. 2017-05-16 04:52:55 +02:00
Sebastian Lackner
d00088e0fa winebuild-Fake_Dlls: Try to fix build failure on OSX. 2017-05-16 03:25:43 +02:00
Sebastian Lackner
633cceca94 user32-GetAutoRotationState: Remove definition file. 2017-05-16 01:31:39 +02:00
Sebastian Lackner
46006c692a Rename windowscodecs-Metadata -> windowscodecs-MetadataQueryParser. 2017-05-16 00:26:55 +02:00
Sebastian Lackner
d56994dbfa Added patches with multiple improvements for propsys functions. 2017-05-16 00:22:58 +02:00
Sebastian Lackner
5e70613512 Added patch to implement a basic security property tab. 2017-05-15 22:51:33 +02:00
Sebastian Lackner
6a14f80fdc Added patch with various improvements for fake dlls. 2017-05-15 21:07:42 +02:00
Sebastian Lackner
5d38a0fed0 ntdll-User_Shared_Data: Fix test failures on WinXP. 2017-05-14 00:48:30 +02:00
Sebastian Lackner
8748402001 Rebase against 4eaaf06ce4e5d7424eec2cf303c8256610544b39. 2017-05-13 01:14:10 +02:00
Sebastian Lackner
171d05fffe wined3d-CSMT_Main: Get rid of unnecessary wait. 2017-05-12 03:47:26 +02:00
Sebastian Lackner
975205155e Rebase against b77688102a84e1c7b7278340c46f53db3e1cda00. 2017-05-12 00:36:30 +02:00
Sebastian Lackner
d6c145fbf5 server-Debug_Registers: Remove bug reference.
The issue is mentioned in bug 32515, but Steam cache
validation still fails with this patch applied.
2017-05-11 03:36:48 +02:00
Sebastian Lackner
3207980517 Rebase against 0647abc5071913506e681bfc5239f9a6078dca54. 2017-05-11 01:46:17 +02:00
Sebastian Lackner
1bbe50aae8 Rebase against 8ef79b023a06f00ca6ab37afb8089d358b277d73. 2017-05-10 03:29:09 +02:00
Sebastian Lackner
bb180d38cc d3d11-Deferred_Context: Merge two patches. 2017-05-09 19:55:51 +02:00
Sebastian Lackner
c542f2432d Rebase against b6a4b2f593503a105dde01e7bd11ffdde243117a. 2017-05-09 05:33:36 +02:00
Sebastian Lackner
a36a97233a wined3d-CSMT_Main: Merge two patches. 2017-05-08 13:07:44 +02:00
Sebastian Lackner
f8e955a95a ntdll-User_Shared_Data: Add a missing CDECL. 2017-05-06 20:14:20 +02:00
Sebastian Lackner
d966bece72 Added patch to implement some additional windowscodecs metadata functions. 2017-05-06 17:04:02 +02:00
Sebastian Lackner
1447b56eeb Added patch to reset debug registers when creating threads. 2017-05-06 02:13:58 +02:00
Sebastian Lackner
afe018692b Added patch to fix some test failures in d3dx9_36/math tests. 2017-05-06 02:08:18 +02:00
Sebastian Lackner
52b5c90303 Rebase against 9f55292085392579568ff81b8adb926b32a8d99a. 2017-05-06 02:06:45 +02:00
Sebastian Lackner
4a4ebec642 dxva2-Video_Decoder: Remove dependency on winecfg-Staging patchset. 2017-05-05 20:34:33 +02:00
Sebastian Lackner
35ea3890a7 Add a separate script to plot patchset dependency graph. 2017-05-05 20:33:54 +02:00
Sebastian Lackner
26438ad74c Added patch to update user_shared_data timers. 2017-05-05 13:37:34 +02:00
Sebastian Lackner
31212d2845 Rebase against 10db51d5c26f0a71956989ecff83da90f4d94fda. 2017-05-05 02:26:52 +02:00
Sebastian Lackner
a08b6b2b62 Added patch for initial implementation of advapi32.BuildSecurityDescriptorW. 2017-05-05 00:25:14 +02:00
Sebastian Lackner
9985fe9035 Added patch to implement TokenIntegrityLevel stub in NtSetInformationToken. 2017-05-04 21:31:38 +02:00
Sebastian Lackner
3aa965e97f Added patch to implement TokenLogonSid stub in NtQueryInformationToken. 2017-05-04 21:27:41 +02:00
Sebastian Lackner
2e479e0954 Added patch to implement semi-stub for ntdll.NtCreateThreadEx. 2017-05-04 21:24:17 +02:00
Sebastian Lackner
9fe12a2175 Added patch to avoid crash if context_reacquire is called with NULL context. 2017-05-04 02:56:03 +02:00
Sebastian Lackner
d7c0a975ea Rebase against 8753a1b271795d2f977b41a814de7e4ace780d2e. 2017-05-04 02:13:14 +02:00
Sebastian Lackner
eb4a245bbb Rebase against b1203af6ba44ff8858ee9ca50fc05f4f3f633892. 2017-05-03 05:45:47 +02:00
Sebastian Lackner
5282f297be bcrypt-Improvements: Fix BCryptEncrypt with AES_GCM and no input and no output. 2017-05-02 18:36:51 +02:00
Sebastian Lackner
1446da2c50 fonts-Tahoma: Regenerate tahoma.ttf with ancient fontconfig.
To keep the changes small and to ensure the resulting TTF file
is better compatible with Windows.
2017-05-02 18:36:25 +02:00
Sebastian Lackner
2db34eca39 Rebase against 7cd7f14696dc3fb7aa41ef253ad144d458304a28. 2017-05-02 12:57:50 +02:00
Sebastian Lackner
d80c4a83fd Release 2.7. 2017-05-02 04:51:49 +02:00
Sebastian Lackner
0c62a31ae7 Added patch for U+FB01 and U+FB02 glyphs in Tahoma font. 2017-05-02 03:19:58 +02:00
Sebastian Lackner
6acc999e64 windowscodecs-TIFF_Support: Fix pixel format descriptors. 2017-05-02 02:22:42 +02:00
Sebastian Lackner
e0ec571af4 dmusic-SynthPort_IKsControl: Remote a Fixes line. 2017-05-02 01:27:48 +02:00
Sebastian Lackner
2c4db4ada1 Added patch to fix Param2 in SPFILENOTIFY_FILEINCABINET handler. 2017-05-02 01:26:37 +02:00
Sebastian Lackner
46bcbf913f Added patch to fix test failure in dmloader tests. 2017-05-01 19:50:27 +02:00
Sebastian Lackner
1d7d9cf626 kernel32-Locale_Definitions: Disable patchset which causes a test failure. 2017-05-01 18:34:32 +02:00
Sebastian Lackner
4e8721c714 ntdll-ProcessImageFileNameWin32: Fix test failures. 2017-05-01 18:20:51 +02:00
Sebastian Lackner
affad837a0 Rebase against 07cf14dc928a1a00baecbbc7ca5a6f3fe680238c. 2017-04-28 23:28:40 +02:00
Sebastian Lackner
c00520d3f8 Added patch to fix handling of ShowWindow when window is already visible. 2017-04-28 15:30:12 +02:00
Sebastian Lackner
bf3ff21ed7 Rebase against ae600c0b2c5b63d0c32a19f44629c204d1a0fc51. 2017-04-28 04:10:08 +02:00
Sebastian Lackner
18b192b7bd kernel32-Named_Pipe: Comment Fixes lines. 2017-04-27 01:26:18 +02:00
Sebastian Lackner
d3c3d2ab96 Rebase against 6f99cf01e1b88c9bb09fe6b9bff3443514db5ae2. 2017-04-27 01:22:20 +02:00
Sebastian Lackner
229bb38973 Rebase against 89ef7b59f548a76960b2278d819a8f915c81e132. 2017-04-26 04:01:25 +02:00
Sebastian Lackner
af6b4ace35 Rebase against e49feb63f489141c08a967a9c47930559e1de4f7. 2017-04-25 03:08:33 +02:00
Sebastian Lackner
e3e7950f4f kernel32-SetFileInformationByHandle: Remove patch with unnecessary include file change. 2017-04-24 16:50:23 +02:00
Sebastian Lackner
b6c2991af1 iexplore-Revert_ProductVersion: Remove deprecated patchset. 2017-04-24 16:31:33 +02:00
Sebastian Lackner
447795d20e wined3d-Revert_Pixel_Center_Offset: Remove deprecated patchset. 2017-04-24 02:27:04 +02:00
Sebastian Lackner
8fd38e80cd ntdll-Virtual_Memory_Stack: Delete disabled patchset. 2017-04-24 00:37:49 +02:00
Sebastian Lackner
7492968519 ntdll-Syscall_Wrappers: Delete disabled patchset. 2017-04-24 00:36:03 +02:00
Sebastian Lackner
c0304d7976 Exagear: Delete disabled patchset. 2017-04-24 00:18:25 +02:00
Sebastian Lackner
075da187c7 Rebase against cced5dfbde8b685022dd74e666f8ad4ea8473453. 2017-04-22 14:57:30 +02:00
Sebastian Lackner
89777bdb23 Rebase against 6c7760f2175e241b330cde0a902c96d9007922e0. 2017-04-21 13:20:03 +02:00
Sebastian Lackner
bd070a400c Rebase against f7402accc40b66140be4d27c5ad1b2fee8532dfc. 2017-04-20 02:16:00 +02:00
Sebastian Lackner
a65b6fa780 Release 2.6. 2017-04-19 10:54:39 +02:00
Sebastian Lackner
92bc06bd9e winecfg-Unmounted_Devices: Fix another compile issue on OSX. 2017-04-19 04:48:29 +02:00
Sebastian Lackner
2b4120187b Compiler_Warnings: Fix compililation error on OSX. 2017-04-19 04:04:24 +02:00
Sebastian Lackner
5dcd52a67f wined3d-CSMT_Main: Reenable patchset. 2017-04-19 01:34:24 +02:00
Sebastian Lackner
10837badd4 wined3d-Accounting: Do not use context on the main thread. 2017-04-17 00:43:21 +02:00
Sebastian Lackner
c9b2336f64 Added patch to implement support for recent OSMesa versions. 2017-04-16 19:19:34 +02:00
Sebastian Lackner
a06d982751 winecfg-Unmounted_Devices: Avoid access violation when autodetecting devices in winecfg. 2017-04-16 17:54:19 +02:00
Sebastian Lackner
e963b417b3 Added patches to fix error handling issues in wined3d. 2017-04-14 17:46:52 +02:00
Sebastian Lackner
079da46f96 Added patch to fix compilation with recent versions of gcc. 2017-04-14 16:02:12 +02:00
Sebastian Lackner
3003efacdb Rebase against 709935314458bd0ce27aab3986ae98cc556cb663. 2017-04-14 15:28:19 +02:00
Sebastian Lackner
14acf51a2d Rebase against aa1580398e4c9eda851d475213e07d865d9238bd. 2017-04-13 11:52:28 +02:00
Sebastian Lackner
830a8b9975 Rebase against d6557e812984e010a989a3360039453eb978bd12. 2017-04-13 11:06:17 +02:00
Sebastian Lackner
4a75337774 Rebase against 9e35dd15454be28c487b0f1bebefbbe530b2aca4. 2017-04-12 09:52:27 +02:00
Sebastian Lackner
b113596b6c Rebase against 692656467729c5548c45244aa05ca946620afa72. 2017-04-12 07:03:43 +02:00
Sebastian Lackner
e5d2247213 Rebase against 61a1a266faa9fa7c959136b0ab0b5d7e01326878. 2017-04-11 05:15:20 +02:00
Sebastian Lackner
fbc61357d3 Rebase against 0128e1a18f25848e6f47146580a8f0db69687dd6. 2017-04-10 22:39:05 +02:00
Sebastian Lackner
d06996cabd Rebase against 35ca862025fa14065d4ebed761783de225cb6690. 2017-04-10 18:41:57 +02:00
Sebastian Lackner
e4ac3ea735 Rebase against 8b1737c0fdf1d3d905bea281d9241f1f48f333e9. 2017-04-10 07:36:39 +02:00
Sebastian Lackner
25bd49ecb6 Release 2.5. 2017-04-09 19:53:42 +02:00
Sebastian Lackner
7a2c0d03d7 Added patch for dummy apiset in PEB struct. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
c081ded2be Added patch to add missing initialization in create_glyphrunanalysis. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
c372796653 kernel32-SetFileCompletionNotificationModes: Update patchset for server-side named pipes. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
8568fe0a24 oleaut32-OleLoadPicture: Update patchset and fix a regression. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
6897c8b67b Added patch to implement and use hash links when looking up LDR module. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
0844f36738 Added patch to implement stub for ntdll.RtlGetUnloadEventTraceEx. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
b9a9f51c59 Added patch to implement NtSuspendProcess and NtResumeProcess. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
2dd39323aa Added patch to implement more stub classes in NtQueryInformationJobObject. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
4f7c521e11 Added patch to implement FileNameInformation in NtQueryInformationFile for named pipes. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
a16c4ffd33 Added patch to return failure when handling http redirect without hostname. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
35d020002f README.md: Update link to installation instructions. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
a781d341a5 Rebase against 64e4a03a92498abea428dc567372f3996fa9dc3a. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
3a8de0f3f4 Rebase against 63bcfa3354edd910ee52b8134af191f7a774b701. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
e2750d967a Rebase against 42ed54b5d8e67aeb647d5a4fc8af7c8962285c7f. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
a127f84245 patchupdate.py: Add support to exclude individual files. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
e3753add9b Rebase against ec8485ec10e3c27b89ec5f1289bc8a3cdad5f3f6. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
55ab42ece0 Rebase against 5b4f8a385b46a8a8a8b09b8ca6578aa7b7995a1e. 2017-04-09 16:14:41 +02:00
Sebastian Lackner
4232441093 Release 2.4. 2017-03-21 02:14:59 +01:00
Sebastian Lackner
912df91ba1 windowscodecs-TIFF_Support: Fix order of pixel formats in gdiplus. 2017-03-20 19:09:27 +01:00
Sebastian Lackner
12f8688fc5 Added patch to improve performance of bilinear bitmap scaling. 2017-03-20 18:01:06 +01:00
Sebastian Lackner
3e2e449d4e Added patch to treat lpResults as optional in gdi32.GetCharacterPlacement. 2017-03-20 17:40:32 +01:00
Sebastian Lackner
3f05773e20 Added patch to fill process virtual memory counters in NtQuerySystemInformation. 2017-03-20 17:34:45 +01:00
Sebastian Lackner
a47000e41c Added patch with multiple fixes for owner-drawn and sorted listbox. 2017-03-20 16:49:38 +01:00
Sebastian Lackner
e92999d7d5 Added patch to add Vendor field in Win32_ComputerSystemProduct. 2017-03-20 05:54:30 +01:00
Sebastian Lackner
687f25d6bb ntdll-Interrupt-0x2e: Add reference to bug report. 2017-03-19 23:06:32 +01:00
Sebastian Lackner
8ef379ecc8 Added patch to implement querying for object types and their indices. 2017-03-19 22:27:07 +01:00
Sebastian Lackner
d79b66338e Added patch to implement stub handler for int 0x2e. 2017-03-19 20:32:29 +01:00
Sebastian Lackner
82cd676a72 Added patch to return user/kernel times for threads and processes in NtQuerySystemInformation. 2017-03-19 20:01:39 +01:00
Sebastian Lackner
da78da9cdd Added patch to silence noisy FIXME about unimplemented D3DPROCESSVERTICES_UPDATEEXTENTS. 2017-03-19 19:11:24 +01:00
Sebastian Lackner
b9b5da4780 Added patch to fix status code when querying too large memory address. 2017-03-19 17:54:21 +01:00
Sebastian Lackner
444ec16851 Added patches to mark LDR data as initialized. 2017-03-19 17:52:25 +01:00
Sebastian Lackner
76b749edc9 Rebase against 6a05069a43f1a8f0e69c4cedd134f8d7400b8a95. 2017-03-19 01:38:27 +01:00
Sebastian Lackner
a56b7a18c3 Rebase against a5031391f40c6196b9baccbf69f5ccbe3b59e17c. 2017-03-18 17:10:07 +01:00
Sebastian Lackner
5a5b6e862b Rebase against c3b108e54b99eff3942c44eef5aa89c1dbcebd91. 2017-03-16 17:13:47 +01:00
Sebastian Lackner
06da0acbdc Rebase against 2cc730b4ad148382093d67f15d40134aee05d058. 2017-03-15 16:16:43 +01:00
Sebastian Lackner
efdf5d2bc2 Rebase against f8031d06486761b1068a5b4fa8572d08efdfb8f1. 2017-03-14 03:37:18 +01:00
Sebastian Lackner
543b9eaae1 Rebase against 4b1445940d47870895b7fa87b7d69d12abe701ef. 2017-03-11 21:57:58 +01:00
Sebastian Lackner
ce5620a1a4 Added patch to return correct thread creation time in SystemProcessInformation. 2017-03-11 00:21:26 +01:00
Sebastian Lackner
05a282feff Added patch to implement IO stats for SystemPerformanceInformation in NtQuerySystemInformation. 2017-03-11 00:11:02 +01:00
Sebastian Lackner
ab34c856c3 Added patch to implement ProcessImageFileNameWin32 info class. 2017-03-10 23:09:57 +01:00
Sebastian Lackner
9a9fb0c9f8 Rebase against be0e05604a5560e26757d161708c2c3dae717834. 2017-03-10 04:53:06 +01:00
Sebastian Lackner
0ef6532241 Rebase against 1ddf2b4db8c42da36bdccd43dc336eee6ba03cce. 2017-03-10 03:25:38 +01:00
Sebastian Lackner
3b1cd79e05 Rebase against 9eecacbeb1561218d4870c83f89a233cabbf7e0c. 2017-03-08 22:56:02 +01:00
Sebastian Lackner
37b0772439 Rebase against 3f50319ec384730360d16dd79d703adafaa953fc. 2017-03-07 02:12:41 +01:00
Sebastian Lackner
3b947eae95 ntoskrnl-InStackQueuedSpinLock: Use the correct macro. 2017-03-06 22:06:33 +01:00
Sebastian Lackner
73cb57f5b9 Release 2.3. 2017-03-06 19:00:30 +01:00
Sebastian Lackner
f473f9cb80 wined3d-buffer_create: Update and reenable patch. 2017-03-06 17:45:16 +01:00
Sebastian Lackner
9e463db339 wintrust-WinVerifyTrust: Do not use memory mapping. 2017-03-06 17:30:20 +01:00
Sebastian Lackner
943ffbfbbf Added patch to implement LsaLookupPrivilege[Display]Name stubs. 2017-03-06 03:20:09 +01:00
Sebastian Lackner
5ad5986215 Added patch to implement Bcrypt ECB chaining mode. 2017-03-05 23:19:20 +01:00
Sebastian Lackner
998dd35306 Added patch to implement FileAccessInformation class. 2017-03-05 21:49:35 +01:00
Sebastian Lackner
df5f35e1d1 Added patch for kernel32.GetCurrentPackageFullName stub. 2017-03-05 20:02:03 +01:00
Sebastian Lackner
f61db43e7f Added patch to fix compile error when O_CLOEXEC is not defined. 2017-03-05 19:38:10 +01:00
Sebastian Lackner
734b40739a Added patch to implement stubs for Ke{Aquire,Release}InStackQueuedSpinLock functions. 2017-03-05 19:31:03 +01:00
Sebastian Lackner
c97e444da2 msvcrt-CurrentScheduler_Id: Fix compile error on x86_64. 2017-03-05 19:12:18 +01:00
Sebastian Lackner
b84644bd63 Added patch to save rdi and rsi in raise_func_trampoline on x86_64. 2017-03-05 14:42:55 +01:00
Sebastian Lackner
1c3562d671 server-LABEL_SECURITY_INFORMATION: Add reference to upstream bug. 2017-03-05 00:12:59 +01:00
Sebastian Lackner
14f5eae731 Added patch to implement stub for virtdisk.GetStorageDependencyInformation. 2017-03-04 23:19:16 +01:00
Sebastian Lackner
534583d958 Added patch to populate AudioCompressorCategory registry keys. 2017-03-04 21:54:30 +01:00
Sebastian Lackner
aa957fe3a3 Added patch to improve FolderItemsImpl_get_Count stub in shell32. 2017-03-04 20:18:12 +01:00
Sebastian Lackner
e3bf95ebea Added patch to allow to set INTERNET_OPTION_HTTP_DECODING on wininet sessions and connections. 2017-03-04 20:09:43 +01:00
Sebastian Lackner
8c7825d1c0 api-ms-win-Stub_DLLs: Update specfile. 2017-03-04 19:18:57 +01:00
Sebastian Lackner
fae17cd83a Added patch to implement stub for Concurrency::details::_CurrentScheduler::_Id. 2017-03-04 19:13:14 +01:00
Sebastian Lackner
8caca32d08 Added patch for MS root certificates 2010/2011. 2017-03-04 19:02:34 +01:00
Sebastian Lackner
0be12d7669 Added patch for semi-stub of d3d10_device_CheckFormatSupport. 2017-03-04 18:55:10 +01:00
Sebastian Lackner
a99ad44fff Added patch for semi-stub of d3d10_device_ResolveSubresource. 2017-03-04 18:44:46 +01:00
Sebastian Lackner
a644cbf827 Rebase against a2460b2424163bbf5b885db6a5423c3d98f883e0. 2017-03-04 18:31:06 +01:00
Sebastian Lackner
88c85f01c3 Rebase against e918c6fd8b426e8298eca5951d917960e4236d95. 2017-03-03 05:40:34 +01:00
Sebastian Lackner
04a8307d45 Rebase against e6f8f136fa557d282f44654be509573cb45a831f. 2017-03-02 17:27:26 +01:00
Sebastian Lackner
c6708dbbbf Rebase against 89b75296128e8c2cadc77cb06ecd7faa1f80d012. 2017-03-01 00:46:59 +01:00
Sebastian Lackner
3dfeab6722 Rebase against b47487af999f48ba2700b4dd5ff6cd47891d4787. 2017-02-28 04:53:10 +01:00
Sebastian Lackner
147562e3e1 d3d9-Tests: Remove some todo_wines.
Probably fixed by cab9282d10e4b2868a0dd85383b1126c0d6c591a.
2017-02-26 20:15:58 +01:00
Sebastian Lackner
1383fc82bc Rebase against adedebf47a9a02694b79965eb2aa670b3906b398. 2017-02-26 20:15:58 +01:00
Sebastian Lackner
23560728b5 Rebase against 0dc677c05fb71ba459ad20711af6637ab92e8847. 2017-02-24 03:25:04 +01:00
Sebastian Lackner
3f25cd198a wined3d-buffer_create: Disable patchset. 2017-02-23 16:50:11 +01:00
Sebastian Lackner
5b58419a0e Rebase against 1cc93e3f05bce5ae9758fad44f69f44e1462d81b. 2017-02-23 14:29:11 +01:00
Sebastian Lackner
4136b55f1c wined3d-CSMT_Main: Enforce memory limit for CSMT blocks. 2017-02-23 02:29:00 +01:00
Sebastian Lackner
2ae8a0be02 Rebase against 3d62cd26d1b988b373efae0b9c4a0a988985d45f. 2017-02-22 06:50:16 +01:00
Sebastian Lackner
dc52cbef3c Rebase against 60c98caa94465799d0868b69149bce29cf767de4. 2017-02-21 05:05:05 +01:00
Sebastian Lackner
7881913b09 Release 2.2. 2017-02-20 21:43:50 +01:00
Sebastian Lackner
88a1a26f34 Added patch to fix compilation of winemp3.acm on Ubuntu Precise. 2017-02-20 19:06:50 +01:00
Sebastian Lackner
53aeae58ad Added patch to improve performance of LdrGetDllHandle when DLL is not loaded. 2017-02-20 15:56:33 +01:00
Sebastian Lackner
33efbf2440 Added patch to implement various missing columns in Win32_VideoController wbemprox class. 2017-02-20 15:37:09 +01:00
Sebastian Lackner
2a755a9b6f Added patch to use separate wineserver call for kernel32.K32GetPerformanceInfo. 2017-02-20 15:30:14 +01:00
Sebastian Lackner
60e835b183 wined3d-CSMT_Main: Use DISCARD when uploading full buffer. 2017-02-20 02:02:26 +01:00
Sebastian Lackner
c32efc1a79 wined3d-CSMT_Main: Improve performance of update_sub_resource by copying data. 2017-02-20 01:11:27 +01:00
Sebastian Lackner
1119b4401a wined3d-CSMT_Main: Some fixes to ensure wined3d-csmt also works with CSMT disabled. 2017-02-19 22:35:46 +01:00
Sebastian Lackner
c55ebfa2a4 wined3d-CSMT_Main: Initialize full state. 2017-02-19 18:17:33 +01:00
Sebastian Lackner
884a25c8bf wined3d-CSMT_Main: Rebase to upstream changes. 2017-02-19 08:33:33 +01:00
Sebastian Lackner
81e2fbadc8 Added patch to avoid some test failures in d3d11 / d3d10core tests. 2017-02-18 21:52:53 +01:00
Sebastian Lackner
d9d5df9f73 Rebase against 9eb56e25e37b4adec0d72875455ffb787238672f. 2017-02-18 02:37:25 +01:00
Sebastian Lackner
9c5d1ebec9 Rebase against a2f2de1e960d37840bb0df541e31d64941e65197. 2017-02-17 22:15:05 +01:00
Sebastian Lackner
6057508b9b Rebase against d00f7315e0cec0c2fe34ba5ab2b55cf5718860dd. 2017-02-17 01:48:52 +01:00
Sebastian Lackner
1ff77100b8 Rebase against 8af23cb93e4e1cd3686984399cb50d755f5171e3. 2017-02-15 03:40:50 +01:00
Sebastian Lackner
60d570e5f1 Rebase against e804e9a5bc9fde9ad8b84dfd121d44afbe177752. 2017-02-14 17:01:29 +01:00
Sebastian Lackner
76007a01a2 wined3d-DXTn: Remove reference to fixed bug. 2017-02-12 22:52:20 +01:00
Sebastian Lackner
d924318742 wined3d-CSMT_Main: Initialize critical sections with spincount. 2017-02-12 15:44:06 +01:00
Sebastian Lackner
1cc5d04346 Added patch to create buffers on default pool in wined3d_buffer_create. 2017-02-12 05:21:10 +01:00
Sebastian Lackner
ecf0d1c5c2 wined3d-CSMT_Main: Use priority queue for update_sub_resource. 2017-02-12 05:17:53 +01:00
Sebastian Lackner
d834b49a37 Added patch to implement support for PSPCB_ADDREF/PSPCB_RELEASE callback notifications. 2017-02-11 06:23:14 +01:00
Sebastian Lackner
230c30c8e3 Rebase against 9c72376c8cc03a4ea86dddaa6d18a93a1a33fc73. 2017-02-11 05:57:20 +01:00
Sebastian Lackner
89830856c3 ntdll-NtQueryVirtualMemory: Fix buffer size in tests (thanks Mark Jansen). 2017-02-11 05:57:19 +01:00
Sebastian Lackner
5f82b6610f Remove various disabled patchsets. 2017-02-11 05:57:19 +01:00
Sebastian Lackner
bdc0bd9ac4 wined3d-CSMT_Main: Update patchset. 2017-02-11 05:57:19 +01:00
Sebastian Lackner
2b415aff4f Rebase against 06c5a9ab55751b1c66ea0847aea4d4a45d8d343c. 2017-02-11 05:57:19 +01:00
Sebastian Lackner
253835e7c3 Rebase against 6bb8ca1e25a9cfc66f396b2ae6bc423a8057929c. 2017-02-11 05:57:00 +01:00
Sebastian Lackner
29d851bf3a Release 2.1. 2017-02-09 05:39:42 +01:00
Sebastian Lackner
481488be9f Added patch to revert changes to wined3d_buffer_upload_data. 2017-02-08 19:56:48 +01:00
Sebastian Lackner
74528271f3 wined3d-CSMT_Main: Reenable patchset. 2017-02-08 17:36:36 +01:00
Sebastian Lackner
06886567bc Added patch to implement MemorySectionName class in NtQueryVirtualMemory. 2017-02-07 11:54:25 +01:00
Sebastian Lackner
a12dca03ce Added patch to implement some processor group functions and SetThreadIdealProcessorEx. 2017-02-05 22:38:32 +01:00
Sebastian Lackner
f6d52a6a19 kernel32-SetFileCompletionNotificationModes: Update patchset. 2017-02-05 16:14:08 +01:00
Sebastian Lackner
6ab46f2760 Added patch to implement stub for advapi32.LookupSecurityDescriptorPartsA/W. 2017-02-05 15:38:03 +01:00
Sebastian Lackner
cc8133fd8c Added patch to implement ProcessPriorityClass in NtQueryInformationProcess. 2017-02-05 15:38:03 +01:00
Sebastian Lackner
9392a75d90 Added patch with stub for kernel32.GetPackageFullName. 2017-02-05 15:38:03 +01:00
Sebastian Lackner
91eac1310f Added patch to implement ntdll.LdrEnumerateLoadedModules. 2017-02-05 15:38:03 +01:00
Sebastian Lackner
0fb4e4b319 api-ms-win-Stub_DLLs: Update specfile. 2017-02-05 15:38:03 +01:00
Sebastian Lackner
dbbf832f67 Added patch to implement stub for wevtapi.EvtNext. 2017-02-05 15:38:03 +01:00
Sebastian Lackner
e6ff2b49ac Added patch to set focus to dialog itself when it has no controls. 2017-02-05 07:20:17 +01:00
Sebastian Lackner
e4754f827a Rebase against e08ed6cac218fc09044d06d3cbe2a54f7ec898cf. 2017-02-04 07:47:58 +01:00
Sebastian Lackner
e374d7a750 windowscodecs-32bppPRGBA: Update patchset. 2017-02-02 22:48:15 +01:00
Sebastian Lackner
2e509b911f Rebase against 2a28e4d843ec5302f53a3168061fdf2ca30eb076. 2017-02-02 00:06:41 +01:00
Sebastian Lackner
c8b29193db server-PeekMessage: Update patchset. 2017-02-01 23:43:28 +01:00
Sebastian Lackner
52f7df8325 Added patch to handle begin == NULL in _vcomp_for_static_init. 2017-02-01 14:58:18 +01:00
Sebastian Lackner
25019ba42d Rebase against 36bb9d905ae10713bcd197958fb71aa86930a505. 2017-02-01 14:56:51 +01:00
Sebastian Lackner
72479040c5 Rebase against 2dd0fb880c005cd5660928d1646a117407cec238. 2017-01-31 11:19:50 +01:00
Sebastian Lackner
8f474115cd bcrypt-Improvements: Fix compilation on OSX when both gnutls and commoncrypto is available. 2017-01-29 12:46:25 +01:00
Sebastian Lackner
4a6f3210c9 Rebase against 152b24015308286441399f9fc2be57213c762c7a. 2017-01-27 23:24:02 +01:00
Sebastian Lackner
a6c14e35e7 Rebase against 96a48efeeade7359c8c84a8c3a0a9768fb2a6194. 2017-01-27 00:45:45 +01:00
Sebastian Lackner
db836be757 msvideo.dll16-DrawDibProfileDisplay: Fix spec file. 2017-01-26 15:13:40 +01:00
Sebastian Lackner
e7a0f0e60e Rebase against 76644a7c26f2c2b3a5968665c349b45bdb294387. 2017-01-25 22:09:05 +01:00
Sebastian Lackner
26a06cd63b Release 2.0. 2017-01-25 06:34:02 +01:00
Sebastian Lackner
9ffe3e0eb6 crypt32-SHA_OIDs: Update Fixes line. 2017-01-24 20:13:51 +01:00
Sebastian Lackner
ac69f4b5df Added patch to fix alpha blending in X11DRV_UpdateLayeredWindow. 2017-01-24 14:48:06 +01:00
Sebastian Lackner
93fc292115 Added patch to replace Peb->BeingDebugged check by CheckRemoteDebuggerPresent. 2017-01-24 13:10:56 +01:00
Sebastian Lackner
b6f7d83896 d3d11-Deferred_Context: Update patchset. 2017-01-24 11:53:57 +01:00
Sebastian Lackner
fa1d5938f2 Added patch to recognize sha256/384/512 KEY OIDs. 2017-01-24 05:04:18 +01:00
Sebastian Lackner
f93bdfd5fb Added patch to implement support for 32bppRGB, 32bppRGBA and 32bppPRGBA in format converter. 2017-01-24 04:45:15 +01:00
Sebastian Lackner
cb587975ef Added patch to implement DXGI GammaControl methods. 2017-01-24 03:52:53 +01:00
Sebastian Lackner
819d0a394b patchupdate.py: Remove support for patch categories. 2017-01-23 21:30:25 +01:00
Sebastian Lackner
bf7d655c80 Added patch for ProfileImagePath registry key with users profile directory. 2017-01-23 08:44:17 +01:00
Sebastian Lackner
428f6a06ad Added patch to implement some more wined3d blend modes. 2017-01-22 16:36:35 +01:00
Sebastian Lackner
b22ec60228 Release 2.0-rc6. 2017-01-22 04:54:28 +01:00
Sebastian Lackner
15a75851db ntdll-_aulldvrm: Add missing ntoskrnl forwards. 2017-01-22 04:20:55 +01:00
Sebastian Lackner
5cd91c5928 Added patch to implement stub for QUERY_TYPE_PIPELINE_STATISTICS. 2017-01-22 02:51:58 +01:00
Sebastian Lackner
5e623ee4d9 Added patch to implement semi-stub for d3d11 context ResolveSubresource method. 2017-01-21 23:56:59 +01:00
Sebastian Lackner
2677244e40 Added patch to fix crash when trying to rendering without render target. 2017-01-21 23:30:12 +01:00
Sebastian Lackner
65a5de8630 Added patch to implement ntdll._aulldvrm. 2017-01-21 22:56:05 +01:00
Sebastian Lackner
b2341b8d08 Added patch to fix ordinal number of winmm.PlaySoundA. 2017-01-21 21:21:20 +01:00
Sebastian Lackner
c4de5ab774 winecfg-Staging: Add ' (Staging)' suffix in about dialog. 2017-01-21 21:17:51 +01:00
Sebastian Lackner
f3854126b1 Added patch to print process arguments in winedbg backtraces. 2017-01-21 20:20:13 +01:00
Sebastian Lackner
c40429f3c9 Added patch with multiple fixes for ole32 property storage. 2017-01-21 19:24:12 +01:00
Sebastian Lackner
d1af5f06fa ddraw-FlipToGDISurface: Update patchset and missing NULL pointer check. 2017-01-20 20:49:08 +01:00
Sebastian Lackner
af5ec899c3 winex11-MWM_Decorations: Update patchset. 2017-01-20 20:34:06 +01:00
Sebastian Lackner
3c781f3862 Added patch to implement semi-stubs for D3D11 deferred context. 2017-01-20 17:22:51 +01:00
Sebastian Lackner
7257898858 Added patch to fix DrawIndexedPrimitiveUP with non-zero min_vertex_idx. 2017-01-20 07:53:43 +01:00
Sebastian Lackner
3ad216bb25 patchutils.py: Fix Python 3 compatibility. 2017-01-20 05:00:18 +01:00
Sebastian Lackner
32823d7014 Rebase against 3ba2b5898cf9c78f81afc1fd620e5046a3392be0. 2017-01-20 04:58:12 +01:00
Sebastian Lackner
efca1a6845 patchutils.py: Generate more compact autogenerated patches. 2017-01-20 02:00:52 +01:00
Sebastian Lackner
76177e1da2 Added patch to relax dwSize validation ddraw_surface*_Lock. 2017-01-19 15:46:19 +01:00
Sebastian Lackner
dbaede0fc8 dxva2-Video_Decoder: Fixes for Makefile.in. 2017-01-19 11:57:31 +01:00
Sebastian Lackner
5353b4a5a4 widl-SLTG_Typelib_Support: Fixes for Makefile.in. 2017-01-19 11:37:50 +01:00
Sebastian Lackner
910abaa327 nvcuda-CUDA_Support: Fixes for Makefile.in. 2017-01-19 11:32:46 +01:00
Sebastian Lackner
6db72e951e bcrypt-Improvements: Add missing ncrypt forwards. 2017-01-19 11:02:48 +01:00
Sebastian Lackner
b9514dd7b0 patchinstall.sh: Further replacements echo -> printf.
Also remove a broken link.
2017-01-19 10:21:47 +01:00
Sebastian Lackner
76a233502e patchupdate.py: Use printf instead of echo to workaround bash/dash incompatibilities. 2017-01-19 09:15:23 +01:00
Sebastian Lackner
c0993595fe Added patch to implement msvcrt.nan functions. 2017-01-19 07:29:21 +01:00
Sebastian Lackner
49ba202882 Added patch to fix return type of shlwapi.SHAddDataBlock.
Also fixes parsing of multiline From: headers in staging/patchutils.py.
2017-01-19 07:17:02 +01:00
Sebastian Lackner
80a4e6bdd7 Added patch to fix calling function with instance and VARIANT return type in DispCallFunc. 2017-01-19 06:09:18 +01:00
Sebastian Lackner
0c4032f598 Rebase against 274a82b33c2907a2d28a50ba6919711cfabf1b20. 2017-01-18 23:41:07 +01:00
Sebastian Lackner
96bce84236 Added patch to fix API signature of ntdll.NtAllocateUuids. 2017-01-18 23:27:48 +01:00
Sebastian Lackner
e0e48313df vulkan-Vulkan_Implementation: Do not use conversion for ignored fields. 2017-01-18 20:56:21 +01:00
Sebastian Lackner
105afd2146 iphlpapi-TCP_Table: Fix a test failure. 2017-01-18 17:45:06 +01:00
Sebastian Lackner
966293c5d3 Rebase against b510dccecbfe80c26b030b78b903b38350d41012. 2017-01-18 16:52:22 +01:00
Sebastian Lackner
b19d0ea3ca Rebase against c3e6ecde36692d03dc360200c7a7044a02c4a392. 2017-01-16 23:23:59 +01:00
Sebastian Lackner
e745798070 ntdll-Grow_Virtual_Heap: Never attempt to release or decommit memory of a subheap.
This fixes a possible memory leak.
2017-01-16 05:01:38 +01:00
Sebastian Lackner
bb54734bd3 user32-Auto_Radio_Button: Add a missing Fixes line. 2017-01-16 02:34:33 +01:00
Sebastian Lackner
12d8b79c63 Release 2.0-rc5. 2017-01-15 23:26:44 +01:00
Sebastian Lackner
986a011548 Added patch to avoid duplicate definition of REFERENCE_TIME. 2017-01-15 22:56:27 +01:00
Sebastian Lackner
2c08a980e8 Added patch to check if any 16 bit thunks have been allocated before accessing pointer. 2017-01-15 19:18:02 +01:00
Sebastian Lackner
9686fe6647 Added patch to remove memory limitation to 32GB on 64-bit by growing heap dynamically. 2017-01-15 18:56:52 +01:00
Sebastian Lackner
b013afa660 Added patch with stub for rstrtmgr.RmShutdown. 2017-01-15 16:30:20 +01:00
Sebastian Lackner
bdb212523c Added patch to implement RunlevelInformationInActivationContext in RtlQueryInformationActivationContext. 2017-01-15 16:24:24 +01:00
Sebastian Lackner
d4f26a2f95 Added patch to ignore AllowXsltScript and AllowDocumentFunction properties in msxml. 2017-01-15 15:24:35 +01:00
Sebastian Lackner
1261a0540c Added patch to avoid setting DDCAPS_ALIGNBOUNDARYSRC as cap for ddraw. 2017-01-15 02:29:50 +01:00
Sebastian Lackner
577b85bdc8 Added patch to respect return value of callback in DirectSoundEnumerateA/W. 2017-01-14 23:20:54 +01:00
Sebastian Lackner
96a6d1cecc Added patch to build independent xinput9_1_0.dll instead of using forwards. 2017-01-14 22:46:53 +01:00
Sebastian Lackner
a90497bdef Added patch to improve stubs for Validate{Vertex,Pixel}Shader. 2017-01-14 08:29:21 +01:00
Sebastian Lackner
b6c5b6240b Added patch to catch page faults in NtQueryPerformanceCounter. 2017-01-14 08:19:10 +01:00
Sebastian Lackner
9c43bb8d2c Added patch to workaround a bug present in the current versions of Flex. 2017-01-14 05:50:14 +01:00
Sebastian Lackner
f06f5c3b0c Added patch to implement support for LABEL_SECURITY_INFORMATION. 2017-01-14 05:38:36 +01:00
Sebastian Lackner
b2098faef8 Added patch to fix cost computation in MSI for large values. 2017-01-14 01:28:20 +01:00
Sebastian Lackner
4b0fe0c820 Added patch to return success for TokenSessionId in NtSetInformationToken. 2017-01-14 01:18:35 +01:00
Sebastian Lackner
604d23df7c Rebase against 3c54d4fb6926195e43a1163b0a243d2614a5951f. 2017-01-14 00:55:36 +01:00
Sebastian Lackner
e65410b901 wined3d-WINED3DFMT_R32G32_UINT: Remove patch for issue fixed in dev branch (thanks Alistair). 2017-01-13 13:14:56 +01:00
Sebastian Lackner
7b4727f89c Added patch to start debugger always on WinSta0. 2017-01-13 02:00:22 +01:00
Sebastian Lackner
5f4b99aa18 Rebase against 083b35e7c77c32f2f011a7e4188edaf605e0848c. 2017-01-13 01:08:54 +01:00
Sebastian Lackner
73c19719e0 Added patch to improve mapping of DACL to file permissions. 2017-01-13 01:03:25 +01:00
Sebastian Lackner
eaff208f0d Added patch to implement support for navigating a group of radio buttons using a keyboard. 2017-01-12 17:08:24 +01:00
Sebastian Lackner
77452f30f8 wbemdisp-Printer: Rename patchset to wbemprox-Printer. 2017-01-12 05:35:37 +01:00
Sebastian Lackner
7ad3349f66 Added patch to fix row count in fill_processor and fill_printer function. 2017-01-12 05:34:14 +01:00
Sebastian Lackner
8c909daf10 server-Stored_ACLs: Update patch and fix handling of MAXIMUM_ALLOWED. 2017-01-12 02:57:24 +01:00
Sebastian Lackner
51fd657cdb Rebase against 8df9a11adebf72f3f1046a2efad6e8c85fc44c40. 2017-01-12 00:12:21 +01:00
Sebastian Lackner
634b0e2877 Added patches with various PE loader fixes for 8k demos. 2017-01-11 23:30:14 +01:00
Sebastian Lackner
2660a14433 Added patch to avoid double captions observed under some WMs. 2017-01-11 00:05:34 +01:00
Sebastian Lackner
ad5fb8a69e Rebase against ac59a68162321610841ed072981adddb8bc78c56. 2017-01-10 06:21:01 +01:00
Sebastian Lackner
b338f0c6d5 Release 2.0-rc4. 2017-01-09 04:41:37 +01:00
Sebastian Lackner
c9f8f08e41 Added patch to implement ddraw7_FlipToGDISurface. 2017-01-08 22:35:29 +01:00
Sebastian Lackner
a16141c94f Added patch for D3DX11CreateShaderResourceViewFromMemory stub. 2017-01-08 21:24:00 +01:00
Sebastian Lackner
d1fe864c5e Added patch to implement user32.GetAutoRotationState. 2017-01-08 20:53:03 +01:00
Sebastian Lackner
57055bbf20 xaudio2_7-Abandon_Albufs: Disable patchset. 2017-01-08 20:24:39 +01:00
Sebastian Lackner
c55fed6a14 Update copyright info for 2017. 2017-01-08 20:22:56 +01:00
Sebastian Lackner
ddd669c75b oleaut32-ITypeInfo_fnInvoke: Update patchset and add tests. 2017-01-08 20:18:10 +01:00
Sebastian Lackner
252ee012a2 Added patch to clear the dsound mixing buffer after allocation. 2017-01-08 20:09:24 +01:00
Sebastian Lackner
024a141714 Added patch to silence noisy FIXME in gl_stencil_op. 2017-01-08 17:50:50 +01:00
Sebastian Lackner
5530538a2b Added patch to fix handling of WM_WINDOWPOS{CHANGING,CHANGED} for deactivated topmost window. 2017-01-08 17:43:27 +01:00
Sebastian Lackner
b51fe90caa Rebase against 1576dc3dd26c7bbb2ed8eb68f11799f1f1d8b6a2. 2017-01-08 04:42:04 +01:00
Sebastian Lackner
cb8a0d2ffd Rebase against 56959b18085ea22050d0226f669f112abfb37850. 2017-01-03 09:19:01 +01:00
Sebastian Lackner
11313c0788 oleaut32-OleLoadPicture: Update patchset to fix regression with transparency handling. 2016-12-31 16:28:23 +01:00
Sebastian Lackner
d184fa7831 Release 2.0-rc3. 2016-12-26 22:16:58 +01:00
Sebastian Lackner
ffccd4f5dd Added patch to ignore externally set DC state in gdiplus. 2016-12-26 17:43:42 +01:00
Sebastian Lackner
08fc972c37 uxtheme-CloseThemeClass: Fix reference to bug report. 2016-12-26 17:35:52 +01:00
Sebastian Lackner
dc7f74f24f Added patch to create ProxyEnable key on wineprefix update. 2016-12-26 17:15:36 +01:00
Sebastian Lackner
b372d532ca dxva2-Video_Decoder: Fix compile warning when compiling without libva support. 2016-12-26 16:37:54 +01:00
Sebastian Lackner
8db21bfce6 bcrypt-Improvements: Update patchset and implement support for AES GCM. 2016-12-26 16:23:51 +01:00
Sebastian Lackner
84b08ebde9 Rebase against 1bcd38f788bb5165cc65a830ea912ff4eda50b84. 2016-12-23 04:04:54 +01:00
Sebastian Lackner
e05b5bf8d5 Release 2.0-rc2. 2016-12-21 06:27:01 +01:00
Sebastian Lackner
b95d6468de bcrypt-Improvements: Added patches to fix handling of padding. 2016-12-21 05:16:23 +01:00
Sebastian Lackner
533032bd79 Added patch to implement advapi32.AddMandatoryAce. 2016-12-21 03:47:27 +01:00
Sebastian Lackner
8f67fbfbc3 Added patch to improve TIFF support in windowscodecs.dll. 2016-12-21 02:52:59 +01:00
Sebastian Lackner
846b6ab6b9 Added patch to fix groupbox rectangle calculation and font handling. 2016-12-21 01:34:53 +01:00
Sebastian Lackner
760b632ad6 Added patch to silence FIXME in RtlCaptureStackBackTrace stub function. 2016-12-21 01:13:23 +01:00
Sebastian Lackner
76b0d7c498 Added patch to fix handling of Accept headers in winhttp. 2016-12-21 01:02:00 +01:00
Sebastian Lackner
a6476a7726 msvideo.dll16-DrawDibProfileDisplay: Add reference to bug report. 2016-12-21 00:31:03 +01:00
Sebastian Lackner
2039446ec5 Added patch to accept DISP_E_PARAMNOTFOUND for missing optional param in typelib implementation. 2016-12-21 00:28:39 +01:00
Sebastian Lackner
19e7aeae51 Added patch to protect CloseThemeData from invalid input. 2016-12-20 23:39:26 +01:00
Sebastian Lackner
1740d793d8 Added patchset with various BCrypt improvements. 2016-12-20 22:36:51 +01:00
Sebastian Lackner
e4679ff7ce Added patch to assigns the AC abbreviation to WinBuiltinAnyPackageSid. 2016-12-19 23:32:43 +01:00
Sebastian Lackner
4a70aa313d Added patch to move the auto radio button group logic from BM_SETCHECK to WM_LBUTTONUP handler. 2016-12-19 23:14:53 +01:00
Sebastian Lackner
72d96cb61f Rebase against 56040acaa3f584150b3ab7fc644cd1a81e34fece. 2016-12-17 18:41:09 +01:00
Sebastian Lackner
1117c77d17 Release 2.0-rc1. 2016-12-15 13:52:48 +01:00
Sebastian Lackner
4c4573beff kernel32-UmsStubs: Fix build failure with old versions of GCC. 2016-12-15 07:29:25 +01:00
Sebastian Lackner
0006045c66 wined3d-CSMT_Main: Added patch to fix occlusion query tests. 2016-12-15 05:21:57 +01:00
Sebastian Lackner
56ed08d2e1 wined3d-CSMT_Main: Reenable CSMT patchset. 2016-12-15 03:12:51 +01:00
Sebastian Lackner
206ef39564 Added patch to avoid forcing a combobox repaint on WM_SIZE. 2016-12-12 06:57:32 +01:00
Sebastian Lackner
aeb8488db7 ole32-HGLOBALStream: Add reference to bug report. 2016-12-12 06:08:19 +01:00
Sebastian Lackner
a0e9a41f77 windowscodecs-Palette_Images: Fix a typo (thanks Dmitry Timoshkov). 2016-12-12 06:05:41 +01:00
Sebastian Lackner
7b0d1a2905 windowscodecs-GIF_Encoder: Fix a typo (thanks Dmitry Timoshkov). 2016-12-12 05:12:40 +01:00
Sebastian Lackner
6f120f6a56 Rebase against 4c7f3f8af856888f5ab020b2a32d0b01db0c82f7. 2016-12-12 04:28:52 +01:00
Sebastian Lackner
0d616d719e Rebase against 705c52691a4e8c6224cda5080fb88f257de5fd77. 2016-12-06 21:58:08 +01:00
Sebastian Lackner
5403b21e6a Release 1.9.23. 2016-11-16 06:25:59 +01:00
Sebastian Lackner
c6801a1585 include-Duplicate_Typedef: Ensure winsock2.h is always included first. 2016-11-16 02:49:35 +01:00
Sebastian Lackner
5b403d94e2 Added patch to fix root certificate check in CERT_CHAIN_REVOCATION_CHECK_CHAIN. 2016-11-16 00:07:53 +01:00
Sebastian Lackner
dcc28e042c wined3d-CSMT_Helper: Reenable patchset. 2016-11-15 22:32:47 +01:00
Sebastian Lackner
93ef3b46c8 Added patch to add stub for UiaClientsAreListening. 2016-11-15 22:01:35 +01:00
Sebastian Lackner
2d0f81b3f6 Added patch to implement D3DXComputeTangent. 2016-11-15 21:55:42 +01:00
Sebastian Lackner
7234a34ea2 Added patch to fix MoveFile with source == dest. 2016-11-15 21:40:30 +01:00
Sebastian Lackner
a3fc9d953a Added patch to fix compile error when SOCKADDR is redefined. 2016-11-15 20:05:41 +01:00
Sebastian Lackner
a43657f683 Added patch to set stream to NULL if AVIFileGetStream fails with an error. 2016-11-15 17:07:31 +01:00
Sebastian Lackner
ce0c9566c9 Added patch for arguments check in LoadTypeLibEx. 2016-11-15 17:02:55 +01:00
Sebastian Lackner
fb62a188f4 Added patch to fix a typo in 2bppIndexed to 32bppBGRA conversion routine. 2016-11-15 16:57:53 +01:00
Sebastian Lackner
39bf451aea Compiler_Warnings: Remove no longer needed patch. 2016-11-15 16:53:30 +01:00
Sebastian Lackner
f6177b7d07 openal32-EFX_Extension: Remove patchset. 2016-11-15 16:35:46 +01:00
Sebastian Lackner
4b12b109c4 windowscodecs-GIF_Encoder: Update patchset. 2016-11-15 16:34:07 +01:00
Sebastian Lackner
30ac478614 Rebase against 02d723045ff15d2bda5475b8b6fe212ee3483cd8. 2016-11-14 07:57:06 +01:00
Sebastian Lackner
e3182b014c Rebase against f7187ecbd62f778649e055af61cd2c6786ead7f1. 2016-11-13 20:36:59 +01:00
Sebastian Lackner
8682bdd67a Release 1.9.22. 2016-11-01 21:34:22 +01:00
Sebastian Lackner
d165f2f23b windowscodecs-GIF_Encoder: Update patchset. 2016-11-01 19:21:32 +01:00
Sebastian Lackner
5216147032 wined3d-CSMT_Main: Reenable CSMT patchset.
FIXME: Adjust CSMT patches to be compatible with the new buffer management.
2016-11-01 17:40:35 +01:00
Sebastian Lackner
1f8b19cb25 Added patch to invalidate INDEXBUFFER device state when bound index buffer is unloaded. 2016-11-01 14:54:58 +01:00
Sebastian Lackner
8f707d32ac Added patch to set index of folder in FDICopy callback. 2016-11-01 14:46:38 +01:00
Sebastian Lackner
84b8f98616 shell32-SHCreateSessionKey: Remove definition file. 2016-11-01 14:42:26 +01:00
Sebastian Lackner
21c1c793b7 Added patch to use case insensitive compare in ICInfo_enum_handler. 2016-11-01 14:41:06 +01:00
Sebastian Lackner
13f7819881 api-ms-win-Stub_DLLs: Update a spec file. 2016-10-30 23:27:37 +01:00
Sebastian Lackner
5c0d70c70e Rebase against 1316520a8029c0a99b358d1cd754294634d1855a.
[ntoskrnl-METHOD_OUT_DIRECT]
Removed patch to implement support for METHOD_OUT_DIRECT ioctls (accepted
upstream).

[wined3d-CSMT_Main]
Temporarily disable patchset.
2016-10-30 23:15:48 +01:00
Sebastian Lackner
6997fa0121 windowscodecs-GIF_Encoder: Update patchset. 2016-10-19 22:51:37 +02:00
Sebastian Lackner
4f64c0e0fb server-Signal_Thread: Reduce the timeout interval to 1ms. 2016-10-18 20:07:04 +02:00
Sebastian Lackner
292017c466 Rebase against ddfc5275af0081cba6e834bf9d9e35dcaa17d256. 2016-10-18 08:48:01 +02:00
Sebastian Lackner
a78a108cbd Release 1.9.21. 2016-10-16 18:33:26 +02:00
Sebastian Lackner
99e7c1d29a Added patch to ignore queued xaudio2 AL buffers after Stop. 2016-10-16 17:01:08 +02:00
Sebastian Lackner
97e7c4ffaa Added patch for initial implementation of GIF encoder in windowscodecs. 2016-10-16 16:01:02 +02:00
Sebastian Lackner
36d0a71019 Added patch to recognize GTX 560M card with NVIDIA driver. 2016-10-16 15:36:30 +02:00
Sebastian Lackner
15a0c7553d ntoskrnl-METHOD_OUT_DIRECT: Update patchset. 2016-10-16 15:28:18 +02:00
Sebastian Lackner
54cc9a694c server-File_Permissions: Improve STATUS_CANNOT_DELETE checks for directory case. 2016-10-16 06:22:08 +02:00
Sebastian Lackner
8521ab33ad server-Stored_ACLs: Fix some bugs related to mapping of MAXIMUM_ALLOWED. 2016-10-16 02:25:44 +02:00
Sebastian Lackner
dd324a1b34 Added patch to implement support for SetFileCompletionNotificationModes. 2016-10-15 19:59:16 +02:00
Sebastian Lackner
f176092a54 windowscodecs-Palette_Images: Update patches and add missing registration of new pixel formats. 2016-10-15 17:58:17 +02:00
Sebastian Lackner
f8de4c44e7 Added patch to avoid duplicate definition of PEVENT_FILTER_DESCRIPTOR. 2016-10-15 17:36:00 +02:00
Sebastian Lackner
9f39422b15 Added patches to implement support for METHOD_OUT_DIRECT ioctls. 2016-10-15 07:00:23 +02:00
Sebastian Lackner
07c920f32d Added patch to revert changes to offset the pixel center in the ARB_clip_control case. 2016-10-15 05:55:42 +02:00
Sebastian Lackner
dd53426bfd Rebase against eb5339edaca1c09d76b4afa32bdb07c1549e6650.
[api-ms-win-Stub_DLLs]
Removed some stub dlls (accepted upstream).

[wmic-Query_Path]
Removed patch to improve cmd line parser and add support for path command
(accepted upstream).
2016-10-15 03:52:39 +02:00
Sebastian Lackner
70bc9a4e63 Rebase against 7ce384c4153112201aa263da6dee15fed21a4e06. 2016-10-14 23:49:07 +02:00
Sebastian Lackner
0f6b6615d9 Rebase against 86b5ec3fd1fb8c42f7e79b29647c59cd698aa236. 2016-10-13 21:48:43 +02:00
Sebastian Lackner
f7c96c2f6f Rebase against 28cfa306b467abb026da1f9442bc247c4c9dc790. 2016-10-11 01:15:10 +02:00
Sebastian Lackner
6dd07ec3e7 vulkan-Vulkan_Implementation: Update to spec version 1.0.30 (no VK_EXT_debug_marker support yet). 2016-10-10 00:00:35 +02:00
Sebastian Lackner
3fe8a52e3c vulkan-Vulkan_Implementation: Enumerate VK_KHR_win32_surface only once in vkEnumerateInstanceExtensionProperties. 2016-10-09 21:28:43 +02:00
Sebastian Lackner
84612d7ffd windowscodecs-Palette_Images: Add some more tests and fixes for loading PNG images in various color formats. 2016-10-09 20:11:46 +02:00
Sebastian Lackner
92510a34ed setupapi-SetupPromptForDisk: Added patch to determine path to system32 directory at runtime. 2016-10-09 19:13:25 +02:00
Sebastian Lackner
2b8aff1781 Rebase against 1dedd90e8c56ff61772915d575a43ad6c95813cd.
[rpcrt4-Pipe_Transport]
Removed patch to restore original error code when ReadFile fails with
ERROR_MORE_DATA (fixed upstream).
2016-10-09 19:11:52 +02:00
Sebastian Lackner
2c7ec3747f Rebase against eac56fbda547e21cf9f40d57c913b3b582fc5697. 2016-10-09 08:48:57 +02:00
Sebastian Lackner
8bfc3ca97f Rebase against 7756d6ba9b0213d5533eb5248e62716e7e8409b8.
[dmusic-SynthPort_IKsControl]
Removed patch to add IKsControl stub subinterface for SynthPort (accepted upstream).
2016-10-09 03:07:13 +02:00
Sebastian Lackner
2d5e42b68c Rebase against 5d96ef42a58e09a2d6cf47a685abb3f42b513ceb. 2016-10-08 22:07:10 +02:00
Sebastian Lackner
d33a3327ea Rebase against 6372cd8e49a662942a80d2decd1f7eae3541c45b. 2016-10-08 21:10:41 +02:00
Sebastian Lackner
7397ac1394 Release 1.9.20. 2016-10-02 20:41:04 +02:00
Sebastian Lackner
6b626b3f42 Added patch to create HardwareId registry key for display devices. 2016-10-02 18:08:25 +02:00
Sebastian Lackner
ec7eae9400 Rebase against 8a92dd9a5720c4b6b334e4f13629c0b0f5a72e94. 2016-10-01 21:04:43 +02:00
Sebastian Lackner
1a199958e7 Rebase against af37b187ad86191110b80bef814d25ce3ac350db. 2016-09-28 18:04:14 +02:00
Sebastian Lackner
2bf9187a19 Added patch to improve palette support in windowscodecs.dll. 2016-09-28 17:55:15 +02:00
Sebastian Lackner
b3eb9ef535 Rebase against f669dc69cdcaf08aa197c98f68a1dfb4f8a265b1. 2016-09-28 03:28:26 +02:00
Sebastian Lackner
78c9cb74ff Rebase against c76c7d85d0be45edf72e63ae7eae51c018383070. 2016-09-27 18:14:12 +02:00
Sebastian Lackner
b52328c75a Rebase against 61e6e8baa01dd44fa46744a8bc2b226474ce487a. 2016-09-23 19:12:11 +02:00
Sebastian Lackner
00fbf6afc8 Rebase against 1513c706341a6c04ddfa8b1998a346d343fc4983.
[ntdll-RtlSetCurrentDirectory_U]
Removed patch to open current working directory with FILE_TRAVERSE access
(accepted upstream).

[server-Win32_Prefix]
Removed patch to allow to create win23 prefix when directory already exists
(accepted upstream).
2016-09-22 21:27:27 +02:00
Sebastian Lackner
1281216a26 Rebase against 6fd36314d051ceff8dbb0f2d442f57983e0bcd65.
[dsound-DSCAPS_CERTIFIED]
Removed patch to pretend that the dsound driver is certified (accepted upstream).

[hid-HidP_TranslateUsagesToI8042ScanCodes]
Removed patch to stub HidP_TranslateUsagesToI8042ScanCodes (accepted upstream).
2016-09-21 21:11:23 +02:00
Sebastian Lackner
dd166155b5 Added patch to fix initial texture upload for 1D/3D textures. 2016-09-21 01:23:13 +02:00
Sebastian Lackner
8112d76673 Rebase against e6e8ed47e6d6d245e4bbda13691eb714cf95a675. 2016-09-21 00:23:02 +02:00
Sebastian Lackner
ee44570fb0 Rebase against 5a9f7ef06df15e26acf46b0210dd7697356da7ac. 2016-09-20 21:33:38 +02:00
798 changed files with 45034 additions and 37831 deletions

View File

@@ -7,7 +7,7 @@ are part of **Wine Staging** and are licensed under the terms of the
[LGPLv2.1](#gnu-lgpl-version-21), to stay compatible with Wine:
```
Copyright (C) 2014-2016 the Wine Staging project authors.
Copyright (C) 2014-2017 the Wine Staging project authors.
Wine Staging is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public

View File

@@ -13,7 +13,7 @@ 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://github.com/wine-compholio/wine-staging/wiki/Installation)
[installation instructions](https://wine-staging.com/installation.html)
for your operating system.
On most distributions the `wine-staging` package is installed to

View File

@@ -0,0 +1,26 @@
From 43628d9b1905396ff6442e4f1e07c9dd48739b19 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 14 Apr 2017 15:57:18 +0200
Subject: ole32: Fix compilation with recent versions of gcc.
---
dlls/ole32/storage32.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/dlls/ole32/storage32.h b/dlls/ole32/storage32.h
index 4fcfd9c362..2b23ab8eb8 100644
--- a/dlls/ole32/storage32.h
+++ b/dlls/ole32/storage32.h
@@ -526,6 +526,9 @@ StgStreamImpl* StgStreamImpl_Construct(
/******************************************************************************
* Endian conversion macros
*/
+#undef htole32
+#undef htole16
+
#ifdef WORDS_BIGENDIAN
#define htole32(x) RtlUlongByteSwap(x)
--
2.12.2

View File

@@ -1,25 +0,0 @@
From 1d2744df97beb00c40ae4c9d307334f4fe0c253d Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 31 Jul 2016 00:01:52 +0200
Subject: include: Avoid shift overflow warning.
---
include/d3dtypes.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/d3dtypes.h b/include/d3dtypes.h
index 75aee55..8a884a8 100644
--- a/include/d3dtypes.h
+++ b/include/d3dtypes.h
@@ -53,7 +53,7 @@ typedef LONG D3DFIXED;
#define RGBA_GETRED(rgb) (((rgb) >> 16) & 0xff)
#define RGBA_GETGREEN(rgb) (((rgb) >> 8) & 0xff)
#define RGBA_GETBLUE(rgb) ((rgb) & 0xff)
-#define RGBA_MAKE(r, g, b, a) ((D3DCOLOR) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
+#define RGBA_MAKE(r, g, b, a) ((D3DCOLOR) (((DWORD)(a) << 24) | ((r) << 16) | ((g) << 8) | (b)))
#define D3DRGB(r, g, b) \
(0xff000000 | ( ((LONG)((r) * 255)) << 16) | (((LONG)((g) * 255)) << 8) | (LONG)((b) * 255))
--
2.9.0

View File

@@ -1,17 +1,40 @@
From 869fbc7190eb77e027be4bcd98d938198189c3dd Mon Sep 17 00:00:00 2001
From 744549e1ecc76c3764079d337c09445d01a3527e Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 22 Mar 2016 21:58:40 +0100
Subject: dwrite: Avoid implicit cast of interface pointer.
---
dlls/dwrite/font.c | 4 ++--
dlls/dwrite/layout.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/dwrite/font.c b/dlls/dwrite/font.c
index d9ddce0..0a90c20 100644
--- a/dlls/dwrite/font.c
+++ b/dlls/dwrite/font.c
@@ -1684,7 +1684,7 @@ static struct dwrite_font *unsafe_impl_from_IDWriteFont(IDWriteFont *iface)
if (!iface)
return NULL;
assert(iface->lpVtbl == (IDWriteFontVtbl*)&dwritefontvtbl);
- return CONTAINING_RECORD(iface, struct dwrite_font, IDWriteFont3_iface);
+ return CONTAINING_RECORD((IDWriteFont3 *)iface, struct dwrite_font, IDWriteFont3_iface);
}
static struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace *iface)
@@ -1692,7 +1692,7 @@ static struct dwrite_fontface *unsafe_impl_from_IDWriteFontFace(IDWriteFontFace
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);
}
void get_logfont_from_font(IDWriteFont *iface, LOGFONTW *lf)
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index 38b5e32..24f4abc 100644
index 706ed4e..c76a909 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -5115,7 +5115,7 @@ static const IDWriteTextFormat2Vtbl dwritetextformatvtbl = {
@@ -5196,7 +5196,7 @@ static const IDWriteTextFormat2Vtbl dwritetextformatvtbl = {
static struct dwrite_textformat *unsafe_impl_from_IDWriteTextFormat(IDWriteTextFormat *iface)
{
return (iface->lpVtbl == (IDWriteTextFormatVtbl*)&dwritetextformatvtbl) ?
@@ -21,5 +44,5 @@ index 38b5e32..24f4abc 100644
HRESULT create_textformat(const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style,
--
2.7.1
2.9.0

View File

@@ -1 +0,0 @@
Category: stable

View File

@@ -1,287 +0,0 @@
From 472184e5801de5d1fb92d275d9c0c7e840c9a0bf Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Tue, 11 Nov 2014 03:11:33 +0100
Subject: ntdll: Implement emulation of SIDT instruction when using Exagear.
---
configure.ac | 8 ++
dlls/ntdll/signal_i386.c | 223 +++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 231 insertions(+)
diff --git a/configure.ac b/configure.ac
index 1e6bba3..43bf0db 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,6 +32,7 @@ AC_ARG_ENABLE(win16, AS_HELP_STRING([--disable-win16],[do not include Win16 supp
AC_ARG_ENABLE(win64, AS_HELP_STRING([--enable-win64],[build a Win64 emulator on AMD64 (won't run Win32 binaries)]))
AC_ARG_ENABLE(tests, AS_HELP_STRING([--disable-tests],[do not build the regression tests]))
AC_ARG_ENABLE(maintainer-mode, AS_HELP_STRING([--enable-maintainer-mode],[enable maintainer-specific build rules]))
+AC_ARG_ENABLE(exagear-compat, AS_HELP_STRING([--enable-exagear-compat],[use workarounds for known problems in the Exagear emulator]))
AC_ARG_WITH(alsa, AS_HELP_STRING([--without-alsa],[do not use the Alsa sound support]),
[if test "x$withval" = "xno"; then ac_cv_header_sys_asoundlib_h=no; ac_cv_header_alsa_asoundlib_h=no; fi])
@@ -364,6 +365,13 @@ WINE_WARNING_WITH(gettext,[test "$MSGFMT" = false],
[gettext tools not found (or too old), translations won't be built.],
[enable_po])
+dnl **** Enable Exagear workarounds ****
+
+if test "x$enable_exagear_compat" = "xyes"
+then
+ AC_DEFINE(EXAGEAR_COMPAT, 1, [Define if you want to enable Exagear emulator workarounds])
+fi
+
dnl **** Check for some libraries ****
dnl Check for -li386 for NetBSD and OpenBSD
diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c
index ee8855a..4269329 100644
--- a/dlls/ntdll/signal_i386.c
+++ b/dlls/ntdll/signal_i386.c
@@ -96,6 +96,14 @@ typedef struct
BYTE Reserved4[96];
} XMM_SAVE_AREA32;
+#include "pshpack1.h"
+struct idtr
+{
+ WORD limit;
+ BYTE *base;
+};
+#include "poppack.h"
+
/***********************************************************************
* signal context platform-specific definitions
*/
@@ -1898,6 +1906,213 @@ static inline DWORD get_fpu_code( const CONTEXT *context )
}
+#ifdef EXAGEAR_COMPAT
+
+/***********************************************************************
+ * INSTR_GetOperandAddr
+ *
+ * Return the address of an instruction operand (from the mod/rm byte).
+ */
+static BYTE *INSTR_GetOperandAddr( CONTEXT *context, const BYTE *instr,
+ int long_addr, int segprefix, int *len )
+{
+ int mod, rm, base = 0, index = 0, ss = 0, off;
+
+#define GET_VAL(val,type) \
+ { *val = *(type *)instr; instr += sizeof(type); *len += sizeof(type); }
+
+ *len = 0;
+ GET_VAL( &mod, BYTE );
+ rm = mod & 7;
+ mod >>= 6;
+
+ if (mod == 3)
+ {
+ switch(rm)
+ {
+ case 0: return (BYTE *)&context->Eax;
+ case 1: return (BYTE *)&context->Ecx;
+ case 2: return (BYTE *)&context->Edx;
+ case 3: return (BYTE *)&context->Ebx;
+ case 4: return (BYTE *)&context->Esp;
+ case 5: return (BYTE *)&context->Ebp;
+ case 6: return (BYTE *)&context->Esi;
+ case 7: return (BYTE *)&context->Edi;
+ }
+ }
+
+ if (long_addr)
+ {
+ if (rm == 4)
+ {
+ BYTE sib;
+ GET_VAL( &sib, BYTE );
+ rm = sib & 7;
+ ss = sib >> 6;
+ switch((sib >> 3) & 7)
+ {
+ case 0: index = context->Eax; break;
+ case 1: index = context->Ecx; break;
+ case 2: index = context->Edx; break;
+ case 3: index = context->Ebx; break;
+ case 4: index = 0; break;
+ case 5: index = context->Ebp; break;
+ case 6: index = context->Esi; break;
+ case 7: index = context->Edi; break;
+ }
+ }
+
+ switch(rm)
+ {
+ case 0: base = context->Eax; break;
+ case 1: base = context->Ecx; break;
+ case 2: base = context->Edx; break;
+ case 3: base = context->Ebx; break;
+ case 4: base = context->Esp; break;
+ case 5: base = context->Ebp; break;
+ case 6: base = context->Esi; break;
+ case 7: base = context->Edi; break;
+ }
+ switch (mod)
+ {
+ case 0:
+ if (rm == 5) /* special case: ds:(disp32) */
+ {
+ GET_VAL( &base, DWORD );
+ }
+ break;
+
+ case 1: /* 8-bit disp */
+ GET_VAL( &off, BYTE );
+ base += (signed char)off;
+ break;
+
+ case 2: /* 32-bit disp */
+ GET_VAL( &off, DWORD );
+ base += (signed long)off;
+ break;
+ }
+ }
+ else /* short address */
+ {
+ switch(rm)
+ {
+ case 0: /* ds:(bx,si) */
+ base = LOWORD(context->Ebx) + LOWORD(context->Esi);
+ break;
+ case 1: /* ds:(bx,di) */
+ base = LOWORD(context->Ebx) + LOWORD(context->Edi);
+ break;
+ case 2: /* ss:(bp,si) */
+ base = LOWORD(context->Ebp) + LOWORD(context->Esi);
+ break;
+ case 3: /* ss:(bp,di) */
+ base = LOWORD(context->Ebp) + LOWORD(context->Edi);
+ break;
+ case 4: /* ds:(si) */
+ base = LOWORD(context->Esi);
+ break;
+ case 5: /* ds:(di) */
+ base = LOWORD(context->Edi);
+ break;
+ case 6: /* ss:(bp) */
+ base = LOWORD(context->Ebp);
+ break;
+ case 7: /* ds:(bx) */
+ base = LOWORD(context->Ebx);
+ break;
+ }
+
+ switch(mod)
+ {
+ case 0:
+ if (rm == 6) /* special case: ds:(disp16) */
+ {
+ GET_VAL( &base, WORD );
+ }
+ break;
+
+ case 1: /* 8-bit disp */
+ GET_VAL( &off, BYTE );
+ base += (signed char)off;
+ break;
+
+ case 2: /* 16-bit disp */
+ GET_VAL( &off, WORD );
+ base += (signed short)off;
+ break;
+ }
+ base &= 0xffff;
+ }
+ /* FIXME: we assume that all segments have a base of 0 */
+ return (BYTE *)(base + (index << ss));
+#undef GET_VAL
+}
+
+
+/***********************************************************************
+ * check_invalid_instr
+ *
+ * Support for instructions not implemented by Exagear.
+ */
+static inline BOOL check_invalid_instr( CONTEXT *context )
+{
+ const BYTE *instr;
+ unsigned int prefix_count = 0;
+ int len, long_addr = 1;
+
+ if (!wine_ldt_is_system( context->SegCs )) return FALSE;
+ instr = (BYTE *)context->Eip;
+
+ for (;;) switch (*instr)
+ {
+ /* instruction prefixes */
+ case 0x2e: /* %cs: */
+ case 0x36: /* %ss: */
+ case 0x3e: /* %ds: */
+ case 0x26: /* %es: */
+ case 0x64: /* %fs: */
+ case 0x65: /* %gs: */
+ case 0x66: /* opcode size */
+ case 0x67: /* addr size */
+ case 0xf0: /* lock */
+ case 0xf2: /* repne */
+ case 0xf3: /* repe */
+ if (++prefix_count >= 15) return FALSE;
+ if (*instr == 0x67) long_addr = !long_addr; /* addr size */
+ instr++;
+ continue;
+ case 0x0f: /* extended instruction */
+ switch (instr[1])
+ {
+ case 0x01:
+ if (((instr[2] >> 3) & 7) == 1) /* sidt m */
+ {
+ struct idtr ret;
+ BYTE *addr;
+
+ if ((instr[2] >> 6) == 3) return FALSE; /* loading to register not allowed */
+ addr = INSTR_GetOperandAddr( context, instr + 2, long_addr, 0, &len );
+
+ /* fake IDT structure */
+ ret.limit = 0xfff;
+ ret.base = (void *)0xff000000;
+ memcpy(addr, &ret, sizeof(ret));
+
+ context->Eip += prefix_count + len + 2;
+ return TRUE;
+ }
+ break;
+ }
+ return FALSE;
+ default:
+ return FALSE;
+ }
+}
+
+#endif /* EXAGEAR_COMPAT */
+
+
/**********************************************************************
* raise_segv_exception
*/
@@ -1907,6 +2122,14 @@ static void WINAPI raise_segv_exception( EXCEPTION_RECORD *rec, CONTEXT *context
switch(rec->ExceptionCode)
{
+#ifdef EXAGEAR_COMPAT
+ case EXCEPTION_ILLEGAL_INSTRUCTION:
+ {
+ if (check_invalid_instr( context ))
+ goto done;
+ }
+ break;
+#endif
case EXCEPTION_ACCESS_VIOLATION:
if (rec->NumberParameters == 2)
{
--
2.7.1

View File

@@ -1,51 +0,0 @@
From 5a4827d5c16aefd82029583710b9032a2356917b Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 22 Nov 2014 05:49:30 +0100
Subject: ntdll: Fix issues with write watches when using Exagear.
---
dlls/ntdll/virtual.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/dlls/ntdll/virtual.c b/dlls/ntdll/virtual.c
index f7aae0b..3fa2027 100644
--- a/dlls/ntdll/virtual.c
+++ b/dlls/ntdll/virtual.c
@@ -1558,6 +1558,26 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
{
void *page = ROUND_ADDR( addr, page_mask );
BYTE *vprot = &view->prot[((const char *)page - (const char *)view->base) >> page_shift];
+#ifdef EXAGEAR_COMPAT
+ /* Exagear doesn't correctly set err, so always check for write watches, and
+ * retry after removing the VPROT_WRITEWATCH or VPROT_WRITECOPY flag. In
+ * contrary to the general implementation below this is not completely race-
+ * condition safe. When multiple threads trigger the write watch at the same
+ * time only the first thread will properly continue the execution, the rest
+ * will crash. */
+ if ((view->protect & VPROT_WRITEWATCH) && (*vprot & VPROT_WRITEWATCH))
+ {
+ *vprot &= ~VPROT_WRITEWATCH;
+ VIRTUAL_SetProt( view, page, page_size, *vprot );
+ if (VIRTUAL_GetUnixProt( *vprot ) & PROT_WRITE) ret = STATUS_SUCCESS;
+ }
+ if (*vprot & VPROT_WRITECOPY)
+ {
+ *vprot = (*vprot & ~VPROT_WRITECOPY) | VPROT_WRITE;
+ VIRTUAL_SetProt( view, page, page_size, *vprot );
+ if (VIRTUAL_GetUnixProt( *vprot ) & PROT_WRITE) ret = STATUS_SUCCESS;
+ }
+#else
if (err & EXCEPTION_WRITE_FAULT)
{
if ((view->protect & VPROT_WRITEWATCH) && (*vprot & VPROT_WRITEWATCH))
@@ -1573,6 +1593,7 @@ NTSTATUS virtual_handle_fault( LPCVOID addr, DWORD err, BOOL on_signal_stack )
/* ignore fault if page is writable now */
if (VIRTUAL_GetUnixProt( *vprot ) & PROT_WRITE) ret = STATUS_SUCCESS;
}
+#endif
if (!on_signal_stack && (*vprot & VPROT_GUARD))
{
VIRTUAL_SetProt( view, page, page_size, *vprot & ~VPROT_GUARD );
--
2.2.2

View File

@@ -1,25 +0,0 @@
From 67cc0e23b26d5d9abda7eb771dc2bec309cb8650 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sun, 23 Nov 2014 22:33:51 +0100
Subject: server: Don't attempt to use ptrace when running with Exagear.
---
server/ptrace.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/server/ptrace.c b/server/ptrace.c
index cb436b6..fb29b5a 100644
--- a/server/ptrace.c
+++ b/server/ptrace.c
@@ -531,7 +531,7 @@ void get_selector_entry( struct thread *thread, int entry, unsigned int *base,
#if defined(linux) && (defined(HAVE_SYS_USER_H) || defined(HAVE_ASM_USER_H)) \
- && (defined(__i386__) || defined(__x86_64__))
+ && (defined(__i386__) || defined(__x86_64__)) && !defined(EXAGEAR_COMPAT)
#ifdef HAVE_SYS_USER_H
#include <sys/user.h>
--
2.1.3

View File

@@ -1,2 +0,0 @@
Depends: ntdll-WRITECOPY
Disabled: true

View File

@@ -1,4 +1,4 @@
From a41dac0b19ec2ba3807da4ac42d77717d79f1115 Mon Sep 17 00:00:00 2001
From 41ee5d7699182ea01c61223ab9d0a10473e16ac2 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Thu, 2 Oct 2014 19:44:31 +0200
Subject: kernel32: Add winediag message to show warning, that this isn't
@@ -9,7 +9,7 @@ Subject: kernel32: Add winediag message to show warning, that this isn't
1 file changed, 9 insertions(+)
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index b0c06e3..a2c1d4c 100644
index 6d0fc74cdf4..ed1d967ffdf 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -65,6 +65,7 @@
@@ -20,7 +20,7 @@ index b0c06e3..a2c1d4c 100644
#ifdef __APPLE__
extern char **__wine_get_main_environment(void);
@@ -1099,6 +1100,14 @@ static DWORD WINAPI start_process( PEB *peb )
@@ -1104,6 +1105,14 @@ static DWORD WINAPI start_process( PEB *peb )
DPRINTF( "%04x:Starting process %s (entryproc=%p)\n", GetCurrentThreadId(),
debugstr_w(peb->ProcessParameters->ImagePathName.Buffer), entry );
@@ -32,9 +32,9 @@ index b0c06e3..a2c1d4c 100644
+ else
+ WARN_(winediag)("Wine Staging %s is a testing version containing experimental patches.\n", wine_get_version());
+
SetLastError( 0 ); /* clear error code */
if (peb->BeingDebugged) DbgBreakPoint();
return call_process_entry( peb, entry );
if (!CheckRemoteDebuggerPresent( GetCurrentProcess(), &being_debugged ))
being_debugged = FALSE;
--
2.5.1
2.11.0

View File

@@ -1 +0,0 @@
Category: stable

View File

@@ -0,0 +1,55 @@
From ce0ab0ccd6e4953a9673d15e00cf602668469c2c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 5 Mar 2017 23:04:36 +0100
Subject: advapi32: Fix error code when calling LsaOpenPolicy for non existing
remote machine.
---
dlls/advapi32/lsa.c | 2 +-
dlls/advapi32/tests/lsa.c | 10 ++++++++++
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index b8dedbd6d58..e5e3b1649c0 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -692,7 +692,7 @@ NTSTATUS WINAPI LsaOpenPolicy(
ObjectAttributes, DesiredAccess, PolicyHandle);
ADVAPI_ForceLocalComputer(SystemName ? SystemName->Buffer : NULL,
- STATUS_ACCESS_VIOLATION);
+ RPC_NT_SERVER_UNAVAILABLE);
dumpLsaAttributes(ObjectAttributes);
if(PolicyHandle) *PolicyHandle = (LSA_HANDLE)0xcafe;
diff --git a/dlls/advapi32/tests/lsa.c b/dlls/advapi32/tests/lsa.c
index 4daf75f58d1..7ddda731be2 100644
--- a/dlls/advapi32/tests/lsa.c
+++ b/dlls/advapi32/tests/lsa.c
@@ -70,6 +70,8 @@ static BOOL init(void)
static void test_lsa(void)
{
+ static WCHAR machineW[] = {'W','i','n','e','N','o','M','a','c','h','i','n','e',0};
+ LSA_UNICODE_STRING machine;
NTSTATUS status;
LSA_HANDLE handle;
LSA_OBJECT_ATTRIBUTES object_attributes;
@@ -77,6 +79,14 @@ static void test_lsa(void)
ZeroMemory(&object_attributes, sizeof(object_attributes));
object_attributes.Length = sizeof(object_attributes);
+ machine.Buffer = machineW;
+ machine.Length = sizeof(machineW) - 2;
+ machine.MaximumLength = sizeof(machineW);
+
+ status = pLsaOpenPolicy( &machine, &object_attributes, POLICY_LOOKUP_NAMES, &handle);
+ ok(status == RPC_NT_SERVER_UNAVAILABLE,
+ "LsaOpenPolicy(POLICY_LOOKUP_NAMES) for invalid machine returned 0x%08x\n", status);
+
status = pLsaOpenPolicy( NULL, &object_attributes, POLICY_ALL_ACCESS, &handle);
ok(status == STATUS_SUCCESS || status == STATUS_ACCESS_DENIED,
"LsaOpenPolicy(POLICY_ALL_ACCESS) returned 0x%08x\n", status);
--
2.11.0

View File

@@ -0,0 +1,34 @@
From 1941137bff72a2297812bbd05fb6f6a1578426b0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 5 Mar 2017 23:05:54 +0100
Subject: advapi32: Use TRACE for LsaOpenPolicy/LsaClose.
---
dlls/advapi32/lsa.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index e5e3b1649c0..0f2167d19ab 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -136,7 +136,7 @@ NTSTATUS WINAPI LsaAddAccountRights(
*/
NTSTATUS WINAPI LsaClose(IN LSA_HANDLE ObjectHandle)
{
- FIXME("(%p) stub\n", ObjectHandle);
+ TRACE("(%p) semi-stub\n", ObjectHandle);
return STATUS_SUCCESS;
}
@@ -687,7 +687,7 @@ NTSTATUS WINAPI LsaOpenPolicy(
IN ACCESS_MASK DesiredAccess,
IN OUT PLSA_HANDLE PolicyHandle)
{
- FIXME("(%s,%p,0x%08x,%p) stub\n",
+ TRACE("(%s,%p,0x%08x,%p) semi-stub\n",
SystemName?debugstr_w(SystemName->Buffer):"(null)",
ObjectAttributes, DesiredAccess, PolicyHandle);
--
2.11.0

View File

@@ -0,0 +1,162 @@
From bee5e0baac722c66ad8c1034a65a2cecfe74716e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 5 Mar 2017 23:50:06 +0100
Subject: advapi32: Implement LsaLookupPrivilegeName.
---
dlls/advapi32/advapi32.spec | 2 +-
dlls/advapi32/advapi32_misc.h | 2 ++
dlls/advapi32/lsa.c | 38 ++++++++++++++++++++++++++++++++++++++
dlls/advapi32/security.c | 27 ++++++++++++++++++---------
include/ntsecapi.h | 1 +
5 files changed, 60 insertions(+), 10 deletions(-)
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index 078bb8fc25..124f527282 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -469,7 +469,7 @@
@ stdcall LsaLookupNames(long long ptr ptr ptr)
@ stdcall LsaLookupNames2(ptr long long ptr ptr ptr)
@ stub LsaLookupPrivilegeDisplayName
-# @ stub LsaLookupPrivilegeName
+@ stdcall LsaLookupPrivilegeName(long ptr ptr)
# @ stub LsaLookupPrivilegeValue
@ stdcall LsaLookupSids(ptr long ptr ptr ptr)
# @ stub LsaLookupSids2
diff --git a/dlls/advapi32/advapi32_misc.h b/dlls/advapi32/advapi32_misc.h
index d116ecb836..ecb07f635a 100644
--- a/dlls/advapi32/advapi32_misc.h
+++ b/dlls/advapi32/advapi32_misc.h
@@ -68,4 +68,6 @@ static inline WCHAR *strdupAW( const char *src )
return dst;
}
+const WCHAR * const WellKnownPrivNames[SE_MAX_WELL_KNOWN_PRIVILEGE + 1];
+
#endif /* __WINE_ADVAPI32MISC_H */
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index 479201bfc1..ceb3b05c05 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -973,3 +973,41 @@ NTSTATUS WINAPI LsaUnregisterPolicyChangeNotification(
FIXME("(%d,%p) stub\n", class, event);
return STATUS_SUCCESS;
}
+
+/******************************************************************************
+ * LsaLookupPrivilegeName [ADVAPI32.@]
+ *
+ */
+NTSTATUS WINAPI LsaLookupPrivilegeName(
+ LSA_HANDLE handle,
+ PLUID lpLuid,
+ PUNICODE_STRING *name)
+{
+ UNICODE_STRING *priv_unicode;
+ size_t priv_size;
+ WCHAR *strW;
+
+ TRACE("(%p, %p, %p)\n", handle, lpLuid, name);
+
+ if (!handle)
+ return STATUS_INVALID_HANDLE;
+
+ if (!name)
+ return STATUS_INVALID_PARAMETER;
+
+ if (lpLuid->HighPart ||
+ (lpLuid->LowPart < SE_MIN_WELL_KNOWN_PRIVILEGE ||
+ lpLuid->LowPart > SE_MAX_WELL_KNOWN_PRIVILEGE))
+ return STATUS_NO_SUCH_PRIVILEGE;
+
+ priv_size = (strlenW(WellKnownPrivNames[lpLuid->LowPart]) + 1) * sizeof(WCHAR);
+ priv_unicode = heap_alloc(sizeof(*priv_unicode) + priv_size);
+ if (!priv_unicode) return STATUS_NO_MEMORY;
+
+ strW = (WCHAR *)(priv_unicode + 1);
+ strcpyW(strW, WellKnownPrivNames[lpLuid->LowPart]);
+ RtlInitUnicodeString(priv_unicode, strW);
+
+ *name = priv_unicode;
+ return STATUS_SUCCESS;
+}
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index e36792cff4..3bc8f48b19 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -1840,7 +1840,7 @@ static const WCHAR SE_IMPERSONATE_NAME_W[] =
static const WCHAR SE_CREATE_GLOBAL_NAME_W[] =
{ 'S','e','C','r','e','a','t','e','G','l','o','b','a','l','P','r','i','v','i','l','e','g','e',0 };
-static const WCHAR * const WellKnownPrivNames[SE_MAX_WELL_KNOWN_PRIVILEGE + 1] =
+const WCHAR * const WellKnownPrivNames[SE_MAX_WELL_KNOWN_PRIVILEGE + 1] =
{
NULL,
NULL,
@@ -2043,33 +2043,42 @@ BOOL WINAPI
LookupPrivilegeNameW( LPCWSTR lpSystemName, PLUID lpLuid, LPWSTR lpName,
LPDWORD cchName)
{
+ UNICODE_STRING system_name, *priv;
+ LSA_HANDLE lsa;
+ NTSTATUS status;
size_t privNameLen;
TRACE("%s,%p,%p,%p\n",debugstr_w(lpSystemName), lpLuid, lpName, cchName);
- if (!ADVAPI_IsLocalComputer(lpSystemName))
+ RtlInitUnicodeString(&system_name, lpSystemName);
+ status = LsaOpenPolicy(&system_name, NULL, POLICY_LOOKUP_NAMES, &lsa);
+ if (status)
{
- SetLastError(RPC_S_SERVER_UNAVAILABLE);
+ SetLastError(LsaNtStatusToWinError(status));
return FALSE;
}
- if (lpLuid->HighPart || (lpLuid->LowPart < SE_MIN_WELL_KNOWN_PRIVILEGE ||
- lpLuid->LowPart > SE_MAX_WELL_KNOWN_PRIVILEGE))
+
+ status = LsaLookupPrivilegeName(&lsa, lpLuid, &priv);
+ LsaClose(lsa);
+ if (status)
{
- SetLastError(ERROR_NO_SUCH_PRIVILEGE);
+ SetLastError(LsaNtStatusToWinError(status));
return FALSE;
}
- privNameLen = strlenW(WellKnownPrivNames[lpLuid->LowPart]);
- /* Windows crashes if cchName is NULL, so will I */
+
+ privNameLen = priv->Length / sizeof(WCHAR);
if (*cchName <= privNameLen)
{
*cchName = privNameLen + 1;
+ LsaFreeMemory(priv);
SetLastError(ERROR_INSUFFICIENT_BUFFER);
return FALSE;
}
else
{
- strcpyW(lpName, WellKnownPrivNames[lpLuid->LowPart]);
+ strcpyW(lpName, priv->Buffer);
*cchName = privNameLen;
+ LsaFreeMemory(priv);
return TRUE;
}
}
diff --git a/include/ntsecapi.h b/include/ntsecapi.h
index 2bb3d312e4..0bf0eca43e 100644
--- a/include/ntsecapi.h
+++ b/include/ntsecapi.h
@@ -370,6 +370,7 @@ NTSTATUS WINAPI LsaLookupNames(LSA_HANDLE,ULONG,PLSA_UNICODE_STRING,PLSA_REFEREN
PLSA_TRANSLATED_SID*);
NTSTATUS WINAPI LsaLookupNames2(LSA_HANDLE,ULONG,ULONG,PLSA_UNICODE_STRING,PLSA_REFERENCED_DOMAIN_LIST*,
PLSA_TRANSLATED_SID2*);
+NTSTATUS WINAPI LsaLookupPrivilegeName(LSA_HANDLE,PLUID,PUNICODE_STRING*);
NTSTATUS WINAPI LsaLookupSids(LSA_HANDLE,ULONG,PSID *,PLSA_REFERENCED_DOMAIN_LIST *,PLSA_TRANSLATED_NAME *);
ULONG WINAPI LsaNtStatusToWinError(NTSTATUS);
NTSTATUS WINAPI LsaOpenPolicy(PLSA_UNICODE_STRING,PLSA_OBJECT_ATTRIBUTES,ACCESS_MASK,PLSA_HANDLE);
--
2.11.0

View File

@@ -0,0 +1,62 @@
From 63d642a1af3ccc579123cb8fd13959ab5e9136dd Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 6 Mar 2017 00:01:53 +0100
Subject: advapi32: Add stub for LsaLookupPrivilegeDisplayName.
---
dlls/advapi32/advapi32.spec | 2 +-
dlls/advapi32/lsa.c | 21 +++++++++++++++++++++
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index 124f527282..0b03cec3f5 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -468,7 +468,7 @@
# @ stub LsaICLookupSidsWithCreds
@ stdcall LsaLookupNames(long long ptr ptr ptr)
@ stdcall LsaLookupNames2(ptr long long ptr ptr ptr)
-@ stub LsaLookupPrivilegeDisplayName
+@ stdcall LsaLookupPrivilegeDisplayName(long ptr ptr ptr)
@ stdcall LsaLookupPrivilegeName(long ptr ptr)
# @ stub LsaLookupPrivilegeValue
@ stdcall LsaLookupSids(ptr long ptr ptr ptr)
diff --git a/dlls/advapi32/lsa.c b/dlls/advapi32/lsa.c
index ceb3b05c05..c2e02fb462 100644
--- a/dlls/advapi32/lsa.c
+++ b/dlls/advapi32/lsa.c
@@ -44,6 +44,12 @@ WINE_DEFAULT_DEBUG_CHANNEL(advapi);
return FailureCode; \
}
+static LPCSTR debugstr_us( const UNICODE_STRING *us )
+{
+ if (!us) return "(null)";
+ return debugstr_wn(us->Buffer, us->Length / sizeof(WCHAR));
+}
+
static void dumpLsaAttributes(const LSA_OBJECT_ATTRIBUTES *oa)
{
if (oa)
@@ -1011,3 +1017,18 @@ NTSTATUS WINAPI LsaLookupPrivilegeName(
*name = priv_unicode;
return STATUS_SUCCESS;
}
+
+/******************************************************************************
+ * LsaLookupPrivilegeDisplayName [ADVAPI32.@]
+ *
+ */
+NTSTATUS WINAPI LsaLookupPrivilegeDisplayName(
+ LSA_HANDLE handle,
+ PLSA_UNICODE_STRING name,
+ PLSA_UNICODE_STRING *dispname,
+ SHORT *language)
+{
+ FIXME("(%p, %s, %p, %p)\n", handle, debugstr_us(name), dispname, language);
+
+ return STATUS_NO_SUCH_PRIVILEGE;
+}
--
2.11.0

View File

@@ -0,0 +1 @@
Fixes: Add LsaLookupPrivilege[Display]Name stubs

View File

@@ -0,0 +1,268 @@
From 994fe46f1b68d851d285a29cce904bd9f22540ea Mon Sep 17 00:00:00 2001
From: Andrew Wesie <awesie@gmail.com>
Date: Tue, 2 May 2017 00:59:49 -0500
Subject: advapi32: Implement BuildSecurityDescriptorW.
---
dlls/advapi32/security.c | 218 +++++++++++++++++++++++++++++++++++------------
1 file changed, 164 insertions(+), 54 deletions(-)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 24ec3099713..82bb6689d43 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -58,6 +58,7 @@ static BOOL ParseStringSecurityDescriptorToSecurityDescriptor(
SECURITY_DESCRIPTOR_RELATIVE* SecurityDescriptor,
LPDWORD cBytes);
static DWORD ParseAclStringFlags(LPCWSTR* StringAcl);
+static DWORD trustee_to_sid(DWORD nDestinationSidLength, PSID pDestinationSid, PTRUSTEEW pTrustee);
typedef struct _ACEFLAG
{
@@ -1264,16 +1265,122 @@ DWORD WINAPI BuildSecurityDescriptorW(
IN ULONG cCountOfAccessEntries,
IN PEXPLICIT_ACCESSW pListOfAccessEntries,
IN ULONG cCountOfAuditEntries,
- IN PEXPLICIT_ACCESSW pListofAuditEntries,
+ IN PEXPLICIT_ACCESSW pListOfAuditEntries,
IN PSECURITY_DESCRIPTOR pOldSD,
IN OUT PULONG lpdwBufferLength,
OUT PSECURITY_DESCRIPTOR* pNewSD)
{
- FIXME("(%p,%p,%d,%p,%d,%p,%p,%p,%p) stub!\n",pOwner,pGroup,
- cCountOfAccessEntries,pListOfAccessEntries,cCountOfAuditEntries,
- pListofAuditEntries,pOldSD,lpdwBufferLength,pNewSD);
+ SECURITY_DESCRIPTOR desc;
+ NTSTATUS status;
+ DWORD ret = ERROR_SUCCESS;
+
+ TRACE("(%p,%p,%d,%p,%d,%p,%p,%p,%p)\n", pOwner, pGroup,
+ cCountOfAccessEntries, pListOfAccessEntries, cCountOfAuditEntries,
+ pListOfAuditEntries, pOldSD, lpdwBufferLength, pNewSD);
- return ERROR_CALL_NOT_IMPLEMENTED;
+ if (pOldSD)
+ {
+ SECURITY_DESCRIPTOR_CONTROL control;
+ DWORD desc_size, dacl_size = 0, sacl_size = 0, owner_size = 0, group_size = 0;
+ PACL dacl = NULL, sacl = NULL;
+ PSID owner = NULL, group = NULL;
+ DWORD revision;
+
+ if ((status = RtlGetControlSecurityDescriptor( pOldSD, &control, &revision )) != STATUS_SUCCESS)
+ return RtlNtStatusToDosError( status );
+ if (!(control & SE_SELF_RELATIVE))
+ return ERROR_INVALID_SECURITY_DESCR;
+
+ desc_size = sizeof(desc);
+ status = RtlSelfRelativeToAbsoluteSD( pOldSD, &desc, &desc_size, dacl, &dacl_size, sacl, &sacl_size,
+ owner, &owner_size, group, &group_size );
+ if (status == STATUS_BUFFER_TOO_SMALL)
+ {
+ if (dacl_size)
+ dacl = LocalAlloc( LMEM_FIXED, dacl_size );
+ if (sacl_size)
+ sacl = LocalAlloc( LMEM_FIXED, sacl_size );
+ if (owner_size)
+ owner = LocalAlloc( LMEM_FIXED, owner_size );
+ if (group_size)
+ group = LocalAlloc( LMEM_FIXED, group_size );
+
+ desc_size = sizeof(desc);
+ status = RtlSelfRelativeToAbsoluteSD( pOldSD, &desc, &desc_size, dacl, &dacl_size, sacl, &sacl_size,
+ owner, &owner_size, group, &group_size );
+ }
+ if (status != STATUS_SUCCESS)
+ {
+ LocalFree( dacl );
+ LocalFree( sacl );
+ LocalFree( owner );
+ LocalFree( group );
+ return RtlNtStatusToDosError( status );
+ }
+ }
+ else
+ {
+ if ((status = RtlCreateSecurityDescriptor( &desc, SECURITY_DESCRIPTOR_REVISION )) != STATUS_SUCCESS)
+ return RtlNtStatusToDosError( status );
+ }
+
+ if (pOwner)
+ {
+ LocalFree( desc.Owner );
+ desc.Owner = LocalAlloc( LMEM_FIXED, sizeof(MAX_SID) );
+ if ((ret = trustee_to_sid( sizeof(MAX_SID), desc.Owner, pOwner )))
+ goto done;
+ }
+
+ if (pGroup)
+ {
+ LocalFree( desc.Group );
+ desc.Group = LocalAlloc( LMEM_FIXED, sizeof(MAX_SID) );
+ if ((ret = trustee_to_sid( sizeof(MAX_SID), desc.Group, pGroup )))
+ goto done;
+ }
+
+ if (pListOfAccessEntries)
+ {
+ PACL new_dacl;
+
+ if ((ret = SetEntriesInAclW( cCountOfAccessEntries, pListOfAccessEntries, desc.Dacl, &new_dacl )))
+ goto done;
+
+ LocalFree( desc.Dacl );
+ desc.Dacl = new_dacl;
+ desc.Control |= SE_DACL_PRESENT;
+ }
+
+ if (pListOfAuditEntries)
+ {
+ PACL new_sacl;
+
+ if ((ret = SetEntriesInAclW( cCountOfAuditEntries, pListOfAuditEntries, desc.Sacl, &new_sacl )))
+ goto done;
+
+ LocalFree( desc.Sacl );
+ desc.Sacl = new_sacl;
+ desc.Control |= SE_SACL_PRESENT;
+ }
+
+ *lpdwBufferLength = RtlLengthSecurityDescriptor( &desc );
+ *pNewSD = LocalAlloc( LMEM_FIXED, *lpdwBufferLength );
+
+ if ((status = RtlMakeSelfRelativeSD( &desc, *pNewSD, lpdwBufferLength )) != STATUS_SUCCESS)
+ {
+ ret = RtlNtStatusToDosError( status );
+ LocalFree( *pNewSD );
+ *pNewSD = NULL;
+ }
+
+done:
+ /* free absolute descriptor */
+ LocalFree( desc.Owner );
+ LocalFree( desc.Group );
+ LocalFree( desc.Sacl );
+ LocalFree( desc.Dacl );
+ return ret;
}
/******************************************************************************
@@ -3766,6 +3873,56 @@ static void free_trustee_name(TRUSTEE_FORM form, WCHAR *trustee_nameW)
}
}
+static DWORD trustee_to_sid( DWORD nDestinationSidLength, PSID pDestinationSid, PTRUSTEEW pTrustee )
+{
+ if (pTrustee->MultipleTrusteeOperation == TRUSTEE_IS_IMPERSONATE)
+ {
+ WARN("bad multiple trustee operation %d\n", pTrustee->MultipleTrusteeOperation);
+ return ERROR_INVALID_PARAMETER;
+ }
+
+ switch (pTrustee->TrusteeForm)
+ {
+ case TRUSTEE_IS_SID:
+ if (!CopySid(nDestinationSidLength, pDestinationSid, pTrustee->ptstrName))
+ {
+ WARN("bad sid %p\n", pTrustee->ptstrName);
+ return ERROR_INVALID_PARAMETER;
+ }
+ break;
+ case TRUSTEE_IS_NAME:
+ {
+ DWORD sid_size = nDestinationSidLength;
+ DWORD domain_size = MAX_COMPUTERNAME_LENGTH + 1;
+ SID_NAME_USE use;
+ if (!strcmpW( pTrustee->ptstrName, CURRENT_USER ))
+ {
+ if (!lookup_user_account_name( pDestinationSid, &sid_size, NULL, &domain_size, &use ))
+ {
+ return GetLastError();
+ }
+ }
+ else if (!LookupAccountNameW(NULL, pTrustee->ptstrName, pDestinationSid, &sid_size, NULL, &domain_size, &use))
+ {
+ WARN("bad user name %s\n", debugstr_w(pTrustee->ptstrName));
+ return ERROR_INVALID_PARAMETER;
+ }
+ break;
+ }
+ case TRUSTEE_IS_OBJECTS_AND_SID:
+ FIXME("TRUSTEE_IS_OBJECTS_AND_SID unimplemented\n");
+ break;
+ case TRUSTEE_IS_OBJECTS_AND_NAME:
+ FIXME("TRUSTEE_IS_OBJECTS_AND_NAME unimplemented\n");
+ break;
+ default:
+ WARN("bad trustee form %d\n", pTrustee->TrusteeForm);
+ return ERROR_INVALID_PARAMETER;
+ }
+
+ return ERROR_SUCCESS;
+}
+
/******************************************************************************
* SetEntriesInAclA [ADVAPI32.@]
*/
@@ -3861,56 +4018,9 @@ DWORD WINAPI SetEntriesInAclW( ULONG count, PEXPLICIT_ACCESSW pEntries,
pEntries[i].Trustee.TrusteeForm, pEntries[i].Trustee.TrusteeType,
pEntries[i].Trustee.ptstrName);
- if (pEntries[i].Trustee.MultipleTrusteeOperation == TRUSTEE_IS_IMPERSONATE)
- {
- WARN("bad multiple trustee operation %d for trustee %d\n", pEntries[i].Trustee.MultipleTrusteeOperation, i);
- ret = ERROR_INVALID_PARAMETER;
- goto exit;
- }
-
- switch (pEntries[i].Trustee.TrusteeForm)
- {
- case TRUSTEE_IS_SID:
- if (!CopySid(FIELD_OFFSET(SID, SubAuthority[SID_MAX_SUB_AUTHORITIES]),
- ppsid[i], pEntries[i].Trustee.ptstrName))
- {
- WARN("bad sid %p for trustee %d\n", pEntries[i].Trustee.ptstrName, i);
- ret = ERROR_INVALID_PARAMETER;
- goto exit;
- }
- break;
- case TRUSTEE_IS_NAME:
- {
- DWORD sid_size = FIELD_OFFSET(SID, SubAuthority[SID_MAX_SUB_AUTHORITIES]);
- DWORD domain_size = MAX_COMPUTERNAME_LENGTH + 1;
- SID_NAME_USE use;
- if (!strcmpW( pEntries[i].Trustee.ptstrName, CURRENT_USER ))
- {
- if (!lookup_user_account_name( ppsid[i], &sid_size, NULL, &domain_size, &use ))
- {
- ret = GetLastError();
- goto exit;
- }
- }
- else if (!LookupAccountNameW(NULL, pEntries[i].Trustee.ptstrName, ppsid[i], &sid_size, NULL, &domain_size, &use))
- {
- WARN("bad user name %s for trustee %d\n", debugstr_w(pEntries[i].Trustee.ptstrName), i);
- ret = ERROR_INVALID_PARAMETER;
- goto exit;
- }
- break;
- }
- case TRUSTEE_IS_OBJECTS_AND_SID:
- FIXME("TRUSTEE_IS_OBJECTS_AND_SID unimplemented\n");
- break;
- case TRUSTEE_IS_OBJECTS_AND_NAME:
- FIXME("TRUSTEE_IS_OBJECTS_AND_NAME unimplemented\n");
- break;
- default:
- WARN("bad trustee form %d for trustee %d\n", pEntries[i].Trustee.TrusteeForm, i);
- ret = ERROR_INVALID_PARAMETER;
+ ret = trustee_to_sid( FIELD_OFFSET(SID, SubAuthority[SID_MAX_SUB_AUTHORITIES]), ppsid[i], &pEntries[i].Trustee);
+ if (ret)
goto exit;
- }
/* Note: we overestimate the ACL size here as a tradeoff between
* instructions (simplicity) and memory */
--
2.12.2

View File

@@ -0,0 +1,69 @@
From 63082c3863d8be466ed14f532653ddf35e40328a Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Fri, 5 May 2017 00:18:50 +0200
Subject: advapi32/tests: Add basic tests for BuildSecurityDescriptor.
---
dlls/advapi32/tests/security.c | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index d6ea3a19fad..c591f7b6e5f 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -7489,6 +7489,44 @@ static void test_child_token_sd(void)
HeapFree(GetProcessHeap(), 0, sd);
}
+static void test_BuildSecurityDescriptorW(void)
+{
+ SECURITY_DESCRIPTOR old_sd, *new_sd, *rel_sd;
+ ULONG new_sd_size;
+ DWORD buf_size;
+ char buf[1024];
+ BOOL success;
+ DWORD ret;
+
+ InitializeSecurityDescriptor(&old_sd, SECURITY_DESCRIPTOR_REVISION);
+
+ buf_size = sizeof(buf);
+ rel_sd = (SECURITY_DESCRIPTOR *)buf;
+ success = MakeSelfRelativeSD(&old_sd, rel_sd, &buf_size);
+ ok(success, "MakeSelfRelativeSD failed with %u\n", GetLastError());
+
+ new_sd = NULL;
+ new_sd_size = 0;
+ ret = BuildSecurityDescriptorW(NULL, NULL, 0, NULL, 0, NULL, NULL, &new_sd_size, (void **)&new_sd);
+ ok(ret == ERROR_SUCCESS, "BuildSecurityDescriptor failed with %u\n", ret);
+ ok(new_sd != NULL, "expected new_sd != NULL\n");
+ ok(new_sd_size == sizeof(old_sd), "expected new_sd_size == sizeof(old_sd), got %u\n", new_sd_size);
+ LocalFree(new_sd);
+
+ new_sd = (void *)0xdeadbeef;
+ ret = BuildSecurityDescriptorW(NULL, NULL, 0, NULL, 0, NULL, &old_sd, &new_sd_size, (void **)&new_sd);
+ ok(ret == ERROR_INVALID_SECURITY_DESCR, "expected ERROR_INVALID_SECURITY_DESCR, got %u\n", ret);
+ ok(new_sd == (void *)0xdeadbeef, "expected new_sd == 0xdeadbeef, got %p\n", new_sd);
+
+ new_sd = NULL;
+ new_sd_size = 0;
+ ret = BuildSecurityDescriptorW(NULL, NULL, 0, NULL, 0, NULL, rel_sd, &new_sd_size, (void **)&new_sd);
+ ok(ret == ERROR_SUCCESS, "BuildSecurityDescriptor failed with %u\n", ret);
+ ok(new_sd != NULL, "expected new_sd != NULL\n");
+ ok(new_sd_size == sizeof(old_sd), "expected new_sd_size == sizeof(old_sd), got %u\n", new_sd_size);
+ LocalFree(new_sd);
+}
+
START_TEST(security)
{
init();
@@ -7542,6 +7580,7 @@ START_TEST(security)
test_pseudo_tokens();
test_maximum_allowed();
test_GetExplicitEntriesFromAclW();
+ test_BuildSecurityDescriptorW();
/* must be the last test, modifies process token */
test_token_security_descriptor();
--
2.12.2

View File

@@ -0,0 +1,2 @@
Fixes: Initial implementation of advapi32.BuildSecurityDescriptorW
Depends: server-LABEL_SECURITY_INFORMATION

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