Compare commits

...

194 Commits

Author SHA1 Message Date
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
Sebastian Lackner
3b127e5f51 Release 1.9.19. 2016-09-19 01:30:09 +02:00
Sebastian Lackner
1e2b0d3e0c Added patch to implement support for SP_COPY_IN_USE_NEEDS_REBOOT in do_file_copyW. 2016-09-18 23:11:45 +02:00
Sebastian Lackner
a358f0984b Added patch to implement CIF reader and download functionality in inseng.dll. 2016-09-18 22:48:10 +02:00
Sebastian Lackner
c08a9ab0d6 Added patch to allow to create win23 prefix when directory already exists. 2016-09-18 20:39:19 +02:00
Sebastian Lackner
4483c9737e Added patch to open current working directory with FILE_TRAVERSE access. 2016-09-18 20:22:06 +02:00
Sebastian Lackner
522961364f Rebase against e2ebc0dc23f0fa04ea79cefc9e3d2faf189a6bf7.
[windowscodecs-32bppGrayFloat]
Partially removed patches to implement support for WICPixelFormat32bppGrayFloat
(accepted upstream).

[windowscodecs-copypixels_to_24bppRGB]
Removed patch to avoid extra conversion step BGR->RGB when converting 32bpp
BGRA to 24bpp RGB (accepted upstream).
2016-09-17 16:06:46 +02:00
Sebastian Lackner
f8b5d1530a Rebase against 1938d389b293930c5ac2f2970c6241e09517cf49.
[gdiplus-GdipCreateMetafileFromStream]
Removed remaining patches to implement GdipGetMetafileHeaderFrom* functions
(accepted upstream).
2016-09-16 07:58:16 +02:00
Sebastian Lackner
75760561c3 Rebase against 4931e6f92bc7e0c229a057ebf2e000f8f5aa1edd. 2016-09-15 06:22:42 +02:00
Sebastian Lackner
79af70fad1 Rebase against 4e9cc305bb1a758eb70419318c7c41c2918fc180. 2016-09-13 23:52:10 +02:00
Sebastian Lackner
3bb2024464 Rebase against c1bc25dd38dab0504bd9eb45641a830ff08488b3.
[gdiplus-GdipCreateMetafileFromStream]
Removed patches to implement GdipCreateMetafileFromStream and
GdipGetMetafileHeaderFromMetafile (accepted upstream).
2016-09-12 23:39:35 +02:00
Sebastian Lackner
2ad4a084dd Added patch to silence a noisy FIXME message in msvcrt.pf_printf. 2016-09-10 18:56:18 +02:00
Sebastian Lackner
4465c82831 Rebase against 4bfefc5c7132023ee40d70572b677ae0e441df38. 2016-09-10 08:27:16 +02:00
Sebastian Lackner
141b05e4ff Rebase against 01581bfc48161c3c55027334b1ecb9e909873a6b. 2016-09-09 22:59:00 +02:00
Sebastian Lackner
50a0e530a8 Rebase against 7c06f1c218a2ecb1f2dda2cfb97b3a2c5b7f01e8. 2016-09-09 19:48:49 +02:00
Sebastian Lackner
b3a71a8918 Rebase against f53c320f04114253955b509da294ef454864679d. 2016-09-07 17:58:48 +02:00
Sebastian Lackner
82a0709ef2 Release 1.9.18. 2016-09-05 16:09:42 +02:00
Sebastian Lackner
bf90df4eed Added hack for WINED3DFMT_R24_UNORM_X8_TYPELESS format. 2016-09-04 21:23:54 +02:00
Sebastian Lackner
e2e200361f Added patch to implement IWICPalette::InitializeFromBitmap and corresponding gdiplus functions. 2016-09-04 21:12:21 +02:00
Sebastian Lackner
ad962f7d64 Rebase against 7baaab5b53011c3a593e1ff32538c9ca706db212.
FIXME: Use CS resource map/unmap mechanism instead of separate opcodes.
2016-09-03 21:19:17 +02:00
Sebastian Lackner
d28e0d12bb Rebase against 225c43b8124aaeb4c2e307379ab98036db1a38b3. 2016-09-01 19:55:33 +02:00
Sebastian Lackner
938ffad317 Rebase against 23a64ca074021bfda46f6287aaa529d6e8f66774. 2016-08-31 21:51:53 +02:00
Sebastian Lackner
6b3228a788 Added patch to avoid extra conversion step BGR->RGB when converting 32bpp BGRA to 24bpp RGB. 2016-08-31 17:54:00 +02:00
Michael MĂĽller
6b709dc505 Added patch for d3d11 1d textures. 2016-08-31 17:42:50 +02:00
Sebastian Lackner
8ca9f08b92 Rebase against 002af352fac43d170aad216bf15098b27555539a. 2016-08-30 20:44:42 +02:00
Sebastian Lackner
39c7e02819 Rebase against d3cb5c24a5ebbc7dcfb181a56f0f55cf3d1a1c30. 2016-08-29 18:29:37 +02:00
Sebastian Lackner
398d920e3a Added patch to implement semi-stub for d3d11_device_CheckFormatSupport. 2016-08-29 03:14:37 +02:00
Sebastian Lackner
5a40e8f8b3 Added patch to add WINED3DFMT_R32G32_{U,S}INT as render target format. 2016-08-29 03:06:03 +02:00
Sebastian Lackner
d4fa026231 Added patch to implement semi-stub for advapi32.GetExplicitEntriesFromAclW. 2016-08-29 03:05:30 +02:00
Sebastian Lackner
43a640f8fd Rebase against 30cdd1fb8cea410cb9e363b16278528669e2c19a. 2016-08-28 20:22:44 +02:00
Sebastian Lackner
deb73bfa7c Rebase against 839995d5e9afcbcdcd084eac3a8e6e48a2173eda. 2016-08-25 23:43:12 +02:00
Sebastian Lackner
f2fd04974f Rebase against a875e3c6ab075c0603e7bf1430abdba704640602. 2016-08-25 23:20:12 +02:00
Sebastian Lackner
9961dd76da Rebase against 94845c400e2d09c96854e756075a0004c17776bb. 2016-08-24 09:30:16 +02:00
Sebastian Lackner
d86ab36369 Rebase against 90173ce448e5afe55627c2cbece28fb4f6bae99d.
[ntdll-ThreadpoolCleanupGroup]
Removed patches to fix multiple bugs related to threadpool cleanup groups and
cancel callbacks (accepted upstream).
2016-08-24 09:29:31 +02:00
Sebastian Lackner
034992d90e Release 1.9.17. 2016-08-22 00:17:29 +02:00
Sebastian Lackner
5b67aa1fc3 Added patch to check input format in MPEG3_StreamOpen. 2016-08-21 03:40:47 +02:00
Sebastian Lackner
d3cebda659 Added patch to fill out DeviceInfoData in SetupDiGetDeviceInterfaceDetail even if interface buffer is too small. 2016-08-20 23:26:28 +02:00
Sebastian Lackner
f438f86e52 Added patches to fix multiple bugs related to threadpool cleanup groups and cancel callbacks. 2016-08-20 22:51:09 +02:00
Sebastian Lackner
17396cec6d kernel32-UmsStubs: Synchronize spec files. 2016-08-20 15:47:51 +02:00
Sebastian Lackner
c4d19a5e32 Rebase against a83d5d3b83042d2305de0595c0d03e4e7bf1e29e. 2016-08-20 14:40:39 +02:00
Sebastian Lackner
fbe5fa909a wined3d-CSMT_Main: Added patch to avoid calling SetEvent when worker thread is fast enough. 2016-08-19 17:14:36 +02:00
Sebastian Lackner
a8ed1e17c2 Rebase against 60f8b516e2a6233eaee8ae58cd2eccce998dd81f.
[ntdll-x86_64_Builtin_Frames]
Temporarily disable patchset to improve handling of builtin frames for x86_64
when switching stack. This needs additional work to be compatible with the
recent collided unwind upstream changes.
2016-08-19 17:12:13 +02:00
Sebastian Lackner
38d1d5a2fe Rebase against 51021faaef8312c35e9772873ad588c194c5c709. 2016-08-16 23:13:29 +02:00
Sebastian Lackner
4a42867417 Rebase against c90e46b66ded518dbfb88f1efdc366e7986defb4. 2016-08-15 20:39:38 +02:00
Sebastian Lackner
436e1adc84 Rebase against d6d0d96402b9c187877f11da173f8fbbf62ba072. 2016-08-13 05:24:18 +02:00
Sebastian Lackner
c46fab6261 Rebase against dca0e38d82c737cd8aeab63e08cf1990d05d9671.
FIXME: Merge buffer/texture preload commands.
2016-08-12 18:06:33 +02:00
Sebastian Lackner
e875860886 patchinstall.sh: Add support for eapply backend and mark epatch as deprecated (thanks NP-Hardass). 2016-08-11 06:07:13 +02:00
Sebastian Lackner
a6c6b83eb7 Rebase against 882980c17a9a033fa8e49a4c116af9583698d218. 2016-08-10 22:22:18 +02:00
Sebastian Lackner
b727968b45 Rebase against ba858c28fd489a812ea0f55a11680a8edaf99ce5. 2016-08-09 20:42:49 +02:00
Sebastian Lackner
929a758ef4 Rebase against 84b3218ed6ad5975f537481edf2f61fb26bedb8b. 2016-08-08 21:43:18 +02:00
Sebastian Lackner
1b0da6367b Release 1.9.16. 2016-08-06 23:43:07 +02:00
Sebastian Lackner
515f93534d wined3d-Silence_FIXMEs: Added patch to silence FIXME in shader_glsl_declare_generic_vertex_attribute. 2016-08-06 19:47:29 +02:00
Sebastian Lackner
d95ae10e5a Rebase against 3852d3357d087353d71d4d11359014a97dbf3e5a.
[d3dx9_36-D3DXDisassembleShader]
Removed patch to implement stub for d3dx9_36.D3DXFillCubeTextureTX (fixed upstream).
2016-08-06 05:03:26 +02:00
Sebastian Lackner
eaf5582379 wined3d-DXTn: Remove an invalid Fixes line. 2016-08-05 22:48:51 +02:00
Sebastian Lackner
61c40e8075 wined3d-CSMT_Main: Added patches to fix wrong return value and to send wined3d_texture_add_dirty_region through the command stream. 2016-08-05 22:47:08 +02:00
Sebastian Lackner
89e2d01a1d Rebase against 0b49495b8ed9e725b47b7ca791312a2a3c3e3c97. 2016-08-05 02:43:06 +02:00
Sebastian Lackner
43c1f6218c taskmgr-Memory_Usage: Update patch and return more precise freemem value if possible. 2016-08-04 20:45:59 +02:00
Sebastian Lackner
69b39e2f8a ntdll-Attach_Process_DLLs: Update patchset and fix a bug related to load ordering. 2016-08-04 08:53:05 +02:00
Sebastian Lackner
2260ec5633 Rebase against a65718a3e7b95443a82dafd5d2c9cded961404a6. 2016-08-04 03:33:52 +02:00
Sebastian Lackner
3aa3a625e3 Rebase against 9ef65cf3d6af2e488d7efcb94fe61aa7e8540351. 2016-08-03 03:13:11 +02:00
Sebastian Lackner
b5a323aaa3 Rebase against 7aadb08212a5269ebefcb100cf567f7cf7aa0a7c. 2016-08-02 23:48:54 +02:00
Sebastian Lackner
0b0ad0faa4 wined3d-CSMT_Main: Remove unused wined3d_cs_emit_query_poll declaration in header file. 2016-08-01 01:46:52 +02:00
Sebastian Lackner
a95641d039 d3dx9_36-D3DXStubs: Update spec files. 2016-07-31 03:45:07 +02:00
Sebastian Lackner
2c23a6155e d3dx9_36-D3DXDisassembleShader: Update spec file (thanks Alistair Leslie-Hughes). 2016-07-31 03:38:10 +02:00
Sebastian Lackner
3ddc7bcaff Fix compiler warnings in multiple patches. 2016-07-31 03:02:56 +02:00
Sebastian Lackner
9f334d5964 Added lots of patches to workaround GCC 6 compiler warnings. 2016-07-31 02:16:08 +02:00
Sebastian Lackner
d926a91bfa Rebase against 0f2a776a59006a15fb84a2a51237d3484f136966. 2016-07-31 01:20:28 +02:00
Sebastian Lackner
0fabea78c6 Rebase against 77fc4697dd7c2b81181c4549c22210bc16913736.
NtCurrentTeb()->Reserved5[0] is now used for a different purpose on x86_64 OSX.
2016-07-31 01:20:28 +02:00
Sebastian Lackner
50a53675fe Rebase against ba2e025b94fa3705d439803a545129c32e8818af. 2016-07-31 01:20:27 +02:00
Sebastian Lackner
ceb2471ad2 Rebase against 2337c50ed769f2078257283f82aa7e696b452324. 2016-07-31 01:20:27 +02:00
Sebastian Lackner
3d23048fe4 Rebase against d262a183116dedfbeedc2d1ec2ea597673bfcd86. 2016-07-31 01:20:27 +02:00
Sebastian Lackner
e1b287d31a Rebase against 52a3a3b20633bf3a08860d43c8a9130a693cbedb. 2016-07-31 01:20:27 +02:00
Sebastian Lackner
af8f18a1f6 Rebase against 63fcf7faee88aea9425f57de8516dea262f54531.
[ntdll-OSX_TEB_x86_64]
Removed patch to improve compatibility of 64-bit support for OS X (accepted
upstream).
2016-07-31 01:20:27 +02:00
Sebastian Lackner
002886bffa Rebase against b05704dbbd429a5325132c77a3e13fcb88b2995f. 2016-07-31 01:20:27 +02:00
Sebastian Lackner
104c5b24f1 Rebase against b54a8dda844a1a43d1dff22eff0ea206be5c630c.
[d3dx9_36-D3DXDisassembleShader]
Removed patch to implement d3dx9_36.D3DXCreateTextureShader with stub interface
(accepted upstream).

[ntdll-NtQuerySection]
Partially removed patches to implement NtQuerySection (fixed upstream).
2016-07-31 01:20:04 +02:00
Sebastian Lackner
e7778c5622 Release 1.9.15. 2016-07-23 22:40:22 +02:00
Sebastian Lackner
b8df58d714 Added patch to use sysfs to populate SCSI registry keys. 2016-07-23 18:37:21 +02:00
Sebastian Lackner
7307a7ea4f patchupdate.py: Add list of authors to autogenerated patches. 2016-07-23 17:27:59 +02:00
Sebastian Lackner
7ca3f2b608 Rebase against 267e8e3eeb6d0b6e8ccab809fddd27bae05cbfc2. 2016-07-23 16:30:17 +02:00
Sebastian Lackner
5989fb0938 Rebase against 654e960e340cc37a9282c52ba8aca5f779a13dbb. 2016-07-23 15:38:42 +02:00
Sebastian Lackner
3f111101a8 Rebase against 51c7df4f376fa7924752dc32a9715a4475e038df. 2016-07-23 14:32:39 +02:00
Sebastian Lackner
857c2fcfe2 Rebase against fac012f2e114870c9628e5ea5b5c8312284c0f3e. 2016-07-23 06:44:18 +02:00
Sebastian Lackner
f901f130fd Rebase against be2908ed071dd11de5dc2fae270aad15e5df7d17. 2016-07-22 20:22:24 +02:00
Sebastian Lackner
ba40b415b7 Rebase against a02c7ce7518b19d401ae854f18d2401a489f60db. 2016-07-22 19:10:06 +02:00
Sebastian Lackner
94f533c0ad Rebase against 0a5e205c06e0f0ccf632e02a48e86a386a4884e0. 2016-07-22 19:06:49 +02:00
Sebastian Lackner
4d1dd4c62a patchutils.py: Create smaller #ifdef ranges. 2016-07-22 18:49:06 +02:00
Sebastian Lackner
2b1f2e8578 patchutils.py: Fix a bug when parsing certain hunk headers. 2016-07-22 18:44:44 +02:00
Sebastian Lackner
4b1b7f77bc patchutils.py: Invert logic for applying #ifdef patches. 2016-07-22 17:33:27 +02:00
Sebastian Lackner
c779a2acbe Rebase against a615647435bd017af1993454902982d7a37b3cb3. 2016-07-20 21:01:50 +02:00
Sebastian Lackner
97fec39e47 Added patch to ensure process_attach callbacks are not executed too early. 2016-07-20 05:00:15 +02:00
Sebastian Lackner
cbd440689d Rebase against a71128513767d44a8f42e10895578b650061bdce.
[ntdll-NtUnmapViewOfSection]
Removed patch to fix behavior of UnmapViewOfFile for Win9x (accepted upstream).

[shell32-FolderItems_Stub_Iface]
Removed patch to implement stubbed FolderItems interface (fixed upstream).
2016-07-19 18:33:14 +02:00
Sebastian Lackner
5125d3edeb Rebase against adde9fadebe07c30ecc9f12685751fb78b3473c5.
[server-BaseNamedObjects]
Removed patch to provide symlink to BaseNamedObjects in \Sessions\1 (accepted
upstream).
2016-07-18 20:03:49 +02:00
Sebastian Lackner
6455c8e654 d3dx9_36-GetShaderSemantics: Correct spec files (thanks Alistair Leslie-Hughes). 2016-07-17 15:43:06 +02:00
Sebastian Lackner
b1b5d6c670 Added patch to provide symlink to BaseNamedObjects in \Sessions\1. 2016-07-16 18:12:26 +02:00
Sebastian Lackner
6a8aacda4c Rebase against fec0b697c74a8e016b41968b342f9fc9fe11bf74.
[ntdll-NtQueryInformationThread]
Removed patch to implement support for fs segment in GetThreadSelectorEntry
(accepted upstream).
2016-07-15 17:49:47 +02:00
Sebastian Lackner
f788007dc4 Rebase against 5101a90bca2bd2618b488f37624af43efe17a0e0.
[secur32-Gnutls_Algorithms]
Removed patch to define missing gnutls_kx_algorithm_t values for old gnutls
versions (accepted upstream).

[taskmgr-Memory_Usage]
Removed patch to use sysinfo to report correct number of physical pages
(accepted upstream).
2016-07-15 03:04:28 +02:00
Sebastian Lackner
31baacffe2 Rebase against 1bcc7ce75f64f2894de43379674bc5c53c52bb3a. 2016-07-11 03:06:53 +02:00
Sebastian Lackner
bd3563bdf1 Rebase against 0a3700e051f3e9473c5daa40a5cdd951b1310b8c.
[gdi32-PtInRegion]
Removed patch to add back the extents test (accepted upstream).
2016-07-10 22:20:23 +02:00
563 changed files with 40990 additions and 14862 deletions

View File

@@ -66,7 +66,8 @@ Configuration:
Backends:
--backend=patch Use regular 'patch' utility to apply patches (default)
--backend=epatch Use 'epatch' to apply patches (Gentoo only)
--backend=eapply Use 'eapply' to apply patches (Gentoo only)
--backend=epatch Use 'epatch' to apply patches (Gentoo only, deprecated)
--backend=git-am Use 'git am' to apply patches
--backend=git-apply Use 'git apply' to apply patches
--backend=stg Import the patches using stacked git

View File

@@ -1,25 +0,0 @@
From 869fbc7190eb77e027be4bcd98d938198189c3dd 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/layout.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/dwrite/layout.c b/dlls/dwrite/layout.c
index 38b5e32..24f4abc 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -5115,7 +5115,7 @@ static const IDWriteTextFormat2Vtbl 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;
}
HRESULT create_textformat(const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style,
--
2.7.1

View File

@@ -0,0 +1,48 @@
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 +-
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 706ed4e..c76a909 100644
--- a/dlls/dwrite/layout.c
+++ b/dlls/dwrite/layout.c
@@ -5196,7 +5196,7 @@ static const IDWriteTextFormat2Vtbl 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;
}
HRESULT create_textformat(const WCHAR *family_name, IDWriteFontCollection *collection, DWRITE_FONT_WEIGHT weight, DWRITE_FONT_STYLE style,
--
2.9.0

View File

@@ -0,0 +1,185 @@
From 9904ee15d00d0809c12759446c09adc1981e3cf9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 29 Aug 2016 19:45:47 +0200
Subject: advapi32: Implement AddMandatoryAce.
---
dlls/advapi32/security.c | 6 ++++--
dlls/advapi32/tests/security.c | 45 ++++++++++++++++++++++++++++++++++++++++++
dlls/ntdll/ntdll.spec | 1 +
dlls/ntdll/sec.c | 25 +++++++++++++++++++++++
include/winbase.h | 1 +
include/winternl.h | 1 +
6 files changed, 77 insertions(+), 2 deletions(-)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 28331df..45c0f7e 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -1711,10 +1711,12 @@ BOOL WINAPI AddAce(
return set_ntstatus(RtlAddAce(pAcl, dwAceRevision, dwStartingAceIndex, pAceList, nAceListLength));
}
+/******************************************************************************
+ * AddMandatoryAce [ADVAPI32.@]
+ */
BOOL WINAPI AddMandatoryAce(ACL *acl, DWORD ace_revision, DWORD ace_flags, DWORD mandatory_policy, PSID label_sid)
{
- FIXME("%p %x %x %x %p - stub\n", acl, ace_revision, ace_flags, mandatory_policy, label_sid);
- return FALSE;
+ return set_ntstatus(RtlAddMandatoryAce(acl, ace_revision, ace_flags, mandatory_policy, SYSTEM_MANDATORY_LABEL_ACE_TYPE, label_sid));
}
/******************************************************************************
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index 18f4e04..cdbe4f8 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -65,6 +65,7 @@
static BOOL (WINAPI *pAddAccessAllowedAceEx)(PACL, DWORD, DWORD, DWORD, PSID);
static BOOL (WINAPI *pAddAccessDeniedAceEx)(PACL, DWORD, DWORD, DWORD, PSID);
static BOOL (WINAPI *pAddAuditAccessAceEx)(PACL, DWORD, DWORD, DWORD, PSID, BOOL, BOOL);
+static BOOL (WINAPI *pAddMandatoryAce)(PACL,DWORD,DWORD,DWORD,PSID);
static VOID (WINAPI *pBuildTrusteeWithSidA)( PTRUSTEEA pTrustee, PSID pSid );
static VOID (WINAPI *pBuildTrusteeWithNameA)( PTRUSTEEA pTrustee, LPSTR pName );
static VOID (WINAPI *pBuildTrusteeWithObjectsAndNameA)( PTRUSTEEA pTrustee,
@@ -199,6 +200,7 @@ static void init(void)
pAddAccessAllowedAceEx = (void *)GetProcAddress(hmod, "AddAccessAllowedAceEx");
pAddAccessDeniedAceEx = (void *)GetProcAddress(hmod, "AddAccessDeniedAceEx");
pAddAuditAccessAceEx = (void *)GetProcAddress(hmod, "AddAuditAccessAceEx");
+ pAddMandatoryAce = (void *)GetProcAddress(hmod, "AddMandatoryAce");
pCheckTokenMembership = (void *)GetProcAddress(hmod, "CheckTokenMembership");
pConvertStringSecurityDescriptorToSecurityDescriptorA =
(void *)GetProcAddress(hmod, "ConvertStringSecurityDescriptorToSecurityDescriptorA" );
@@ -6064,6 +6066,48 @@ static void test_default_dacl_owner_sid(void)
CloseHandle( handle );
}
+static void test_integrity(void)
+{
+ static SID low_level = {SID_REVISION, 1, {SECURITY_MANDATORY_LABEL_AUTHORITY},
+ {SECURITY_MANDATORY_LOW_RID}};
+ SYSTEM_MANDATORY_LABEL_ACE *ace;
+ char buffer_acl[256];
+ ACL *pAcl = (ACL*)&buffer_acl;
+ BOOL ret, found;
+ DWORD index;
+
+ if (!pAddMandatoryAce)
+ {
+ win_skip("Mandatory integrity labels not supported, skipping test\n");
+ return;
+ }
+
+ ret = InitializeAcl(pAcl, 256, ACL_REVISION);
+ ok(ret, "InitializeAcl failed with %u\n", GetLastError());
+
+ ret = pAddMandatoryAce(pAcl, ACL_REVISION, 0, 0x1234, &low_level);
+ ok(!ret, "AddMandatoryAce succeeded\n");
+ ok(GetLastError() == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER got %u\n", GetLastError());
+
+ ret = pAddMandatoryAce(pAcl, ACL_REVISION, 0, SYSTEM_MANDATORY_LABEL_NO_WRITE_UP, &low_level);
+ ok(ret, "AddMandatoryAce failed with %u\n", GetLastError());
+
+ index = 0;
+ found = FALSE;
+ while (pGetAce( pAcl, index++, (void **)&ace ))
+ {
+ if (ace->Header.AceType == SYSTEM_MANDATORY_LABEL_ACE_TYPE)
+ {
+ found = TRUE;
+ ok(ace->Header.AceFlags == 0, "Expected 0 as flags, got %x\n", ace->Header.AceFlags);
+ ok(ace->Mask == SYSTEM_MANDATORY_LABEL_NO_WRITE_UP,
+ "Expected SYSTEM_MANDATORY_LABEL_NO_WRITE_UP as flag, got %x\n", ace->Mask);
+ ok(EqualSid(&ace->SidStart, &low_level), "Expected low integrity level\n");
+ }
+ }
+ ok(found, "Could not find mandatory label\n");
+}
+
static void test_AdjustTokenPrivileges(void)
{
TOKEN_PRIVILEGES tp, prev;
@@ -6444,6 +6488,7 @@ START_TEST(security)
test_CreateRestrictedToken();
test_TokenIntegrityLevel();
test_default_dacl_owner_sid();
+ test_integrity();
test_AdjustTokenPrivileges();
test_AddAce();
test_system_security_access();
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 28aa2df..f6f8eba 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -422,6 +422,7 @@
@ stdcall RtlAddAuditAccessAceEx(ptr long long long ptr long long)
@ stdcall RtlAddAuditAccessObjectAce(ptr long long long ptr ptr ptr long long)
# @ stub RtlAddCompoundAce
+@ stdcall RtlAddMandatoryAce(ptr long long long long ptr)
# @ stub RtlAddRange
@ cdecl -arch=arm,x86_64 RtlAddFunctionTable(ptr long long)
@ stdcall RtlAddRefActivationContext(ptr)
diff --git a/dlls/ntdll/sec.c b/dlls/ntdll/sec.c
index 3bc52ac..daa2cae 100644
--- a/dlls/ntdll/sec.c
+++ b/dlls/ntdll/sec.c
@@ -1379,6 +1379,31 @@ NTSTATUS WINAPI RtlAddAuditAccessObjectAce(
return STATUS_NOT_IMPLEMENTED;
}
+/**************************************************************************
+ * RtlAddMandatoryAce [NTDLL.@]
+ */
+NTSTATUS WINAPI RtlAddMandatoryAce(
+ IN OUT PACL pAcl,
+ IN DWORD dwAceRevision,
+ IN DWORD dwAceFlags,
+ IN DWORD dwMandatoryFlags,
+ IN DWORD dwAceType,
+ IN PSID pSid)
+{
+ static DWORD valid_flags = SYSTEM_MANDATORY_LABEL_NO_WRITE_UP | SYSTEM_MANDATORY_LABEL_NO_READ_UP |
+ SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP;
+
+ TRACE("(%p,%d,0x%08x,0x%08x,%u,%p)\n",pAcl,dwAceRevision,dwAceFlags,dwMandatoryFlags, dwAceType, pSid);
+
+ if (dwAceType != SYSTEM_MANDATORY_LABEL_ACE_TYPE)
+ return STATUS_INVALID_PARAMETER;
+
+ if (dwMandatoryFlags & ~valid_flags)
+ return STATUS_INVALID_PARAMETER;
+
+ return add_access_ace(pAcl, dwAceRevision, dwAceFlags, dwMandatoryFlags, pSid, dwAceType);
+}
+
/******************************************************************************
* RtlValidAcl [NTDLL.@]
*/
diff --git a/include/winbase.h b/include/winbase.h
index eff5972..42c826d 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -1693,6 +1693,7 @@ WINBASEAPI ATOM WINAPI AddAtomW(LPCWSTR);
#define AddAtom WINELIB_NAME_AW(AddAtom)
WINADVAPI BOOL WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
WINADVAPI BOOL WINAPI AddAuditAccessAceEx(PACL,DWORD,DWORD,DWORD,PSID,BOOL,BOOL);
+WINADVAPI BOOL WINAPI AddMandatoryAce(PACL,DWORD,DWORD,DWORD,PSID);
WINBASEAPI VOID WINAPI AddRefActCtx(HANDLE);
WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
WINADVAPI BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD);
diff --git a/include/winternl.h b/include/winternl.h
index f35091c..c104e6f 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -2405,6 +2405,7 @@ NTSYSAPI NTSTATUS WINAPI RtlAddAtomToAtomTable(RTL_ATOM_TABLE,const WCHAR*,RTL_
NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessAceEx(PACL,DWORD,DWORD,DWORD,PSID,BOOL,BOOL);
NTSYSAPI NTSTATUS WINAPI RtlAddAuditAccessObjectAce(PACL,DWORD,DWORD,DWORD,GUID*,GUID*,PSID,BOOL,BOOL);
+NTSYSAPI NTSTATUS WINAPI RtlAddMandatoryAce(PACL,DWORD,DWORD,DWORD,DWORD,PSID);
NTSYSAPI void WINAPI RtlAddRefActivationContext(HANDLE);
NTSYSAPI PVOID WINAPI RtlAddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
NTSYSAPI NTSTATUS WINAPI RtlAdjustPrivilege(ULONG,BOOLEAN,BOOLEAN,PBOOLEAN);
--
2.9.0

View File

@@ -0,0 +1 @@
Fixes: Implement advapi32.AddMandatoryAce

View File

@@ -0,0 +1,277 @@
From cb383abcb7d36d739092a93c1f276895622b6806 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Sun, 28 Aug 2016 21:56:41 +0200
Subject: advapi32: Implement GetExplicitEntriesFromAclW.
---
dlls/advapi32/security.c | 81 ++++++++++++++++++++++-
dlls/advapi32/tests/security.c | 142 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 221 insertions(+), 2 deletions(-)
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
index 92a1789..c60aa4e 100644
--- a/dlls/advapi32/security.c
+++ b/dlls/advapi32/security.c
@@ -4202,8 +4202,85 @@ DWORD WINAPI GetExplicitEntriesFromAclA( PACL pacl, PULONG pcCountOfExplicitEntr
DWORD WINAPI GetExplicitEntriesFromAclW( PACL pacl, PULONG pcCountOfExplicitEntries,
PEXPLICIT_ACCESSW* pListOfExplicitEntries)
{
- FIXME("%p %p %p\n",pacl, pcCountOfExplicitEntries, pListOfExplicitEntries);
- return ERROR_CALL_NOT_IMPLEMENTED;
+ ACL_SIZE_INFORMATION sizeinfo;
+ EXPLICIT_ACCESSW* entries;
+ MAX_SID *sid_entries;
+ ACE_HEADER *ace;
+ NTSTATUS status;
+ int i;
+
+ FIXME("%p %p %p: semi-stub\n",pacl, pcCountOfExplicitEntries, pListOfExplicitEntries);
+
+ if (!pcCountOfExplicitEntries || !pListOfExplicitEntries)
+ return ERROR_INVALID_PARAMETER;
+
+ status = RtlQueryInformationAcl(pacl, &sizeinfo, sizeof(sizeinfo), AclSizeInformation);
+ if (status) return RtlNtStatusToDosError(status);
+
+ if (!sizeinfo.AceCount)
+ {
+ *pcCountOfExplicitEntries = 0;
+ *pListOfExplicitEntries = NULL;
+ return ERROR_SUCCESS;
+ }
+
+ entries = LocalAlloc(LMEM_FIXED | LMEM_ZEROINIT, (sizeof(EXPLICIT_ACCESSW) + sizeof(MAX_SID)) * sizeinfo.AceCount);
+ if (!entries) return ERROR_OUTOFMEMORY;
+ sid_entries = (MAX_SID*)((char*)entries + sizeof(EXPLICIT_ACCESSW) * sizeinfo.AceCount);
+
+ for (i = 0; i < sizeinfo.AceCount; i++)
+ {
+ status = RtlGetAce(pacl, i, (void**)&ace);
+ if (status) goto error;
+
+ switch (ace->AceType)
+ {
+ case ACCESS_ALLOWED_ACE_TYPE:
+ {
+ ACCESS_ALLOWED_ACE *allow = (ACCESS_ALLOWED_ACE *)ace;
+ entries[i].grfAccessMode = GRANT_ACCESS;
+ entries[i].grfInheritance = ace->AceFlags;
+ entries[i].grfAccessPermissions = allow->Mask;
+
+ CopySid(sizeof(MAX_SID), (PSID)&sid_entries[i], (PSID)&allow->SidStart);
+ entries[i].Trustee.pMultipleTrustee = NULL;
+ entries[i].Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
+ entries[i].Trustee.TrusteeForm = TRUSTEE_IS_SID;
+ entries[i].Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN;
+ entries[i].Trustee.ptstrName = (WCHAR *)&sid_entries[i];
+ break;
+ }
+
+ case ACCESS_DENIED_ACE_TYPE:
+ {
+ ACCESS_DENIED_ACE *deny = (ACCESS_DENIED_ACE *)ace;
+ entries[i].grfAccessMode = DENY_ACCESS;
+ entries[i].grfInheritance = ace->AceFlags;
+ entries[i].grfAccessPermissions = deny->Mask;
+
+ CopySid(sizeof(MAX_SID), (PSID)&sid_entries[i], (PSID)&deny->SidStart);
+ entries[i].Trustee.pMultipleTrustee = NULL;
+ entries[i].Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
+ entries[i].Trustee.TrusteeForm = TRUSTEE_IS_SID;
+ entries[i].Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN;
+ entries[i].Trustee.ptstrName = (WCHAR *)&sid_entries[i];
+ break;
+ }
+
+ default:
+ FIXME("Unhandled ace type %d\n", ace->AceType);
+ entries[i].grfAccessMode = NOT_USED_ACCESS;
+ continue;
+ }
+ }
+
+ *pcCountOfExplicitEntries = sizeinfo.AceCount;
+ *pListOfExplicitEntries = entries;
+ return ERROR_SUCCESS;
+
+error:
+ LocalFree(entries);
+ return RtlNtStatusToDosError(status);
}
/******************************************************************************
diff --git a/dlls/advapi32/tests/security.c b/dlls/advapi32/tests/security.c
index cf104ab..2bcb108 100644
--- a/dlls/advapi32/tests/security.c
+++ b/dlls/advapi32/tests/security.c
@@ -133,6 +133,7 @@ static BOOL (WINAPI *pGetWindowsAccountDomainSid)(PSID,PSID,DWORD*);
static void (WINAPI *pRtlInitAnsiString)(PANSI_STRING,PCSZ);
static NTSTATUS (WINAPI *pRtlFreeUnicodeString)(PUNICODE_STRING);
static PSID_IDENTIFIER_AUTHORITY (WINAPI *pGetSidIdentifierAuthority)(PSID);
+static DWORD (WINAPI *pGetExplicitEntriesFromAclW)(PACL,PULONG,PEXPLICIT_ACCESSW*);
static HMODULE hmod;
static int myARGC;
@@ -227,6 +228,7 @@ static void init(void)
pGetAce = (void *)GetProcAddress(hmod, "GetAce");
pGetWindowsAccountDomainSid = (void *)GetProcAddress(hmod, "GetWindowsAccountDomainSid");
pGetSidIdentifierAuthority = (void *)GetProcAddress(hmod, "GetSidIdentifierAuthority");
+ pGetExplicitEntriesFromAclW = (void *)GetProcAddress(hmod, "GetExplicitEntriesFromAclW");
myARGC = winetest_get_mainargs( &myARGV );
}
@@ -6378,6 +6380,145 @@ static void test_pseudo_tokens(void)
"Expected ERROR_NO_TOKEN, got %u\n", GetLastError());
}
+static void test_GetExplicitEntriesFromAclW(void)
+{
+ static const WCHAR wszCurrentUser[] = { 'C','U','R','R','E','N','T','_','U','S','E','R','\0'};
+ SID_IDENTIFIER_AUTHORITY SIDAuthWorld = { SECURITY_WORLD_SID_AUTHORITY };
+ SID_IDENTIFIER_AUTHORITY SIDAuthNT = { SECURITY_NT_AUTHORITY };
+ PSID everyone_sid = NULL, users_sid = NULL;
+ EXPLICIT_ACCESSW access;
+ EXPLICIT_ACCESSW *access2;
+ PACL new_acl, old_acl = NULL;
+ ULONG count;
+ DWORD res;
+
+ if (!pGetExplicitEntriesFromAclW)
+ {
+ win_skip("GetExplicitEntriesFromAclW is not available\n");
+ return;
+ }
+
+ if (!pSetEntriesInAclW)
+ {
+ win_skip("SetEntriesInAclW is not available\n");
+ return;
+ }
+
+ old_acl = HeapAlloc(GetProcessHeap(), 0, 256);
+ res = InitializeAcl(old_acl, 256, ACL_REVISION);
+ if(!res && GetLastError() == ERROR_CALL_NOT_IMPLEMENTED)
+ {
+ win_skip("ACLs not implemented - skipping tests\n");
+ HeapFree(GetProcessHeap(), 0, old_acl);
+ return;
+ }
+ ok(res, "InitializeAcl failed with error %d\n", GetLastError());
+
+ res = AllocateAndInitializeSid(&SIDAuthWorld, 1, SECURITY_WORLD_RID, 0, 0, 0, 0, 0, 0, 0, &everyone_sid);
+ ok(res, "AllocateAndInitializeSid failed with error %d\n", GetLastError());
+
+ res = AllocateAndInitializeSid(&SIDAuthNT, 2, SECURITY_BUILTIN_DOMAIN_RID,
+ DOMAIN_ALIAS_RID_USERS, 0, 0, 0, 0, 0, 0, &users_sid);
+ ok(res, "AllocateAndInitializeSid failed with error %d\n", GetLastError());
+
+ res = AddAccessAllowedAce(old_acl, ACL_REVISION, KEY_READ, users_sid);
+ ok(res, "AddAccessAllowedAce failed with error %d\n", GetLastError());
+
+ access2 = NULL;
+ res = pGetExplicitEntriesFromAclW(old_acl, &count, &access2);
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
+ ok(count == 1, "Expected count == 1, got %d\n", count);
+ ok(access2[0].grfAccessMode == GRANT_ACCESS, "Expected GRANT_ACCESS, got %d\n", access2[0].grfAccessMode);
+ ok(access2[0].grfAccessPermissions == KEY_READ, "Expected KEY_READ, got %d\n", access2[0].grfAccessPermissions);
+ ok(access2[0].Trustee.TrusteeForm == TRUSTEE_IS_SID, "Expected SID trustee, got %d\n", access2[0].Trustee.TrusteeForm);
+ ok(access2[0].grfInheritance == NO_INHERITANCE, "Expected NO_INHERITANCE, got %x\n", access2[0].grfInheritance);
+ ok(EqualSid(access2[0].Trustee.ptstrName, users_sid), "Expected equal SIDs\n");
+ LocalFree(access2);
+
+ access.Trustee.MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
+ access.Trustee.pMultipleTrustee = NULL;
+
+ access.grfAccessPermissions = KEY_WRITE;
+ access.grfAccessMode = GRANT_ACCESS;
+ access.grfInheritance = NO_INHERITANCE;
+ access.Trustee.TrusteeType = TRUSTEE_IS_WELL_KNOWN_GROUP;
+ access.Trustee.TrusteeForm = TRUSTEE_IS_SID;
+ access.Trustee.ptstrName = everyone_sid;
+ res = pSetEntriesInAclW(1, &access, old_acl, &new_acl);
+ ok(res == ERROR_SUCCESS, "SetEntriesInAclW failed: %u\n", res);
+ ok(new_acl != NULL, "returned acl was NULL\n");
+
+ access2 = NULL;
+ res = pGetExplicitEntriesFromAclW(new_acl, &count, &access2);
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
+ ok(count == 2, "Expected count == 2, got %d\n", count);
+ ok(access2[0].grfAccessMode == GRANT_ACCESS, "Expected GRANT_ACCESS, got %d\n", access2[0].grfAccessMode);
+ ok(access2[0].grfAccessPermissions == KEY_WRITE, "Expected KEY_WRITE, got %d\n", access2[0].grfAccessPermissions);
+ ok(access2[0].Trustee.TrusteeType == TRUSTEE_IS_UNKNOWN,
+ "Expected TRUSTEE_IS_UNKNOWN trustee type, got %d\n", access2[0].Trustee.TrusteeType);
+ ok(access2[0].Trustee.TrusteeForm == TRUSTEE_IS_SID, "Expected SID trustee, got %d\n", access2[0].Trustee.TrusteeForm);
+ ok(access2[0].grfInheritance == NO_INHERITANCE, "Expected NO_INHERITANCE, got %x\n", access2[0].grfInheritance);
+ ok(EqualSid(access2[0].Trustee.ptstrName, everyone_sid), "Expected equal SIDs\n");
+ LocalFree(access2);
+ LocalFree(new_acl);
+
+ access.Trustee.TrusteeType = TRUSTEE_IS_UNKNOWN;
+ res = pSetEntriesInAclW(1, &access, old_acl, &new_acl);
+ ok(res == ERROR_SUCCESS, "SetEntriesInAclW failed: %u\n", res);
+ ok(new_acl != NULL, "returned acl was NULL\n");
+
+ access2 = NULL;
+ res = pGetExplicitEntriesFromAclW(new_acl, &count, &access2);
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
+ ok(count == 2, "Expected count == 2, got %d\n", count);
+ ok(access2[0].grfAccessMode == GRANT_ACCESS, "Expected GRANT_ACCESS, got %d\n", access2[0].grfAccessMode);
+ ok(access2[0].grfAccessPermissions == KEY_WRITE, "Expected KEY_WRITE, got %d\n", access2[0].grfAccessPermissions);
+ ok(access2[0].Trustee.TrusteeType == TRUSTEE_IS_UNKNOWN,
+ "Expected TRUSTEE_IS_UNKNOWN trustee type, got %d\n", access2[0].Trustee.TrusteeType);
+ ok(access2[0].Trustee.TrusteeForm == TRUSTEE_IS_SID, "Expected SID trustee, got %d\n", access2[0].Trustee.TrusteeForm);
+ ok(access2[0].grfInheritance == NO_INHERITANCE, "Expected NO_INHERITANCE, got %x\n", access2[0].grfInheritance);
+ ok(EqualSid(access2[0].Trustee.ptstrName, everyone_sid), "Expected equal SIDs\n");
+ LocalFree(access2);
+ LocalFree(new_acl);
+
+ access.Trustee.TrusteeForm = TRUSTEE_IS_NAME;
+ access.Trustee.ptstrName = (LPWSTR)wszCurrentUser;
+ res = pSetEntriesInAclW(1, &access, old_acl, &new_acl);
+ ok(res == ERROR_SUCCESS, "SetEntriesInAclW failed: %u\n", res);
+ ok(new_acl != NULL, "returned acl was NULL\n");
+
+ access2 = NULL;
+ res = pGetExplicitEntriesFromAclW(new_acl, &count, &access2);
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
+ ok(count == 2, "Expected count == 2, got %d\n", count);
+ ok(access2[0].grfAccessMode == GRANT_ACCESS, "Expected GRANT_ACCESS, got %d\n", access2[0].grfAccessMode);
+ ok(access2[0].grfAccessPermissions == KEY_WRITE, "Expected KEY_WRITE, got %d\n", access2[0].grfAccessPermissions);
+ ok(access2[0].Trustee.TrusteeType == TRUSTEE_IS_UNKNOWN,
+ "Expected TRUSTEE_IS_UNKNOWN trustee type, got %d\n", access2[0].Trustee.TrusteeType);
+ ok(access2[0].Trustee.TrusteeForm == TRUSTEE_IS_SID, "Expected SID trustee, got %d\n", access2[0].Trustee.TrusteeForm);
+ ok(access2[0].grfInheritance == NO_INHERITANCE, "Expected NO_INHERITANCE, got %x\n", access2[0].grfInheritance);
+ LocalFree(access2);
+ LocalFree(new_acl);
+
+ access.grfAccessMode = REVOKE_ACCESS;
+ access.Trustee.TrusteeForm = TRUSTEE_IS_SID;
+ access.Trustee.ptstrName = users_sid;
+ res = pSetEntriesInAclW(1, &access, old_acl, &new_acl);
+ ok(res == ERROR_SUCCESS, "SetEntriesInAclW failed: %u\n", res);
+ ok(new_acl != NULL, "returned acl was NULL\n");
+
+ access2 = (void *)0xdeadbeef;
+ res = pGetExplicitEntriesFromAclW(new_acl, &count, &access2);
+ ok(res == ERROR_SUCCESS, "GetExplicitEntriesFromAclW failed with error %d\n", GetLastError());
+ ok(count == 0, "Expected count == 0, got %d\n", count);
+ ok(access2 == NULL, "access2 was not NULL\n");
+ LocalFree(new_acl);
+
+ FreeSid(users_sid);
+ FreeSid(everyone_sid);
+ HeapFree(GetProcessHeap(), 0, old_acl);
+}
+
START_TEST(security)
{
init();
@@ -6424,4 +6565,5 @@ START_TEST(security)
test_system_security_access();
test_GetSidIdentifierAuthority();
test_pseudo_tokens();
+ test_GetExplicitEntriesFromAclW();
}
--
2.9.0

View File

@@ -0,0 +1 @@
Fixes: Implement semi-stub for advapi32.GetExplicitEntriesFromAclW

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