diff --git a/patches/api-ms-win-Stub_DLLs/0027-uiautomationcore-Add-dll-and-stub-some-functions.patch b/patches/api-ms-win-Stub_DLLs/0027-uiautomationcore-Add-dll-and-stub-some-functions.patch index da450f72..c9f5a8e7 100644 --- a/patches/api-ms-win-Stub_DLLs/0027-uiautomationcore-Add-dll-and-stub-some-functions.patch +++ b/patches/api-ms-win-Stub_DLLs/0027-uiautomationcore-Add-dll-and-stub-some-functions.patch @@ -1,14 +1,13 @@ -From 562369cf1fc87ffd0f46b184f0e3f2492610f65b Mon Sep 17 00:00:00 2001 +From a4d5c33bb2fc98fd0f84ea05575e0d3eeb5a1bcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Tue, 12 Apr 2016 01:02:34 +0200 Subject: [PATCH] uiautomationcore: Add dll and stub some functions. --- dlls/uiautomationcore/Makefile.in | 1 + - dlls/uiautomationcore/uia_main.c | 57 +++++++++++++++++++++++++---- - dlls/uiautomationcore/uiautomationcore.spec | 6 +++ - include/uiautomationcoreapi.h | 9 +++-- - 4 files changed, 61 insertions(+), 12 deletions(-) + dlls/uiautomationcore/uia_main.c | 53 +++++++++++++++++++++++++---- + dlls/uiautomationcore/uiautomationcore.spec | 6 ++++ + 3 files changed, 54 insertions(+), 6 deletions(-) diff --git a/dlls/uiautomationcore/Makefile.in b/dlls/uiautomationcore/Makefile.in index 78d6254..029fc2e 100644 @@ -21,7 +20,7 @@ index 78d6254..029fc2e 100644 C_SRCS = \ uia_main.c diff --git a/dlls/uiautomationcore/uia_main.c b/dlls/uiautomationcore/uia_main.c -index 31b7d3e..ff0506d 100644 +index 31b7d3e..cc4831e 100644 --- a/dlls/uiautomationcore/uia_main.c +++ b/dlls/uiautomationcore/uia_main.c @@ -1,4 +1,5 @@ @@ -102,7 +101,7 @@ index 31b7d3e..ff0506d 100644 return S_OK; } -@@ -61,17 +102,17 @@ HRESULT WINAPI UiaGetReservedMixedAttributeValue(IUnknown **value) +@@ -61,8 +102,8 @@ HRESULT WINAPI UiaGetReservedMixedAttributeValue(IUnknown **value) */ HRESULT WINAPI UiaGetReservedNotSupportedValue(IUnknown **value) { @@ -113,17 +112,6 @@ index 31b7d3e..ff0506d 100644 return S_OK; } - /*********************************************************************** - * UiaLookupId (uiautomationcore.@) - */ --int WINAPI UiaLookupId(enum AutomationIdentifierType type, const GUID *guid) -+int WINAPI UiaLookupId(AutomationIdentifierType type, const GUID *guid) - { -- FIXME("(%d, %s) stub!\n", type, debugstr_guid(guid)); -+ FIXME("(%d, %s): stub!\n", type, debugstr_guid(guid)); - return 1; - } - @@ -81,7 +122,7 @@ int WINAPI UiaLookupId(enum AutomationIdentifierType type, const GUID *guid) LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *elprov) @@ -168,34 +156,6 @@ index 48a06b2..8e676ad 100644 @ stub UiaRegisterProviderCallback @ stub UiaRemoveEvent @ stdcall UiaReturnRawElementProvider(long long long ptr) -diff --git a/include/uiautomationcoreapi.h b/include/uiautomationcoreapi.h -index 12c509f..5ddf4b6 100644 ---- a/include/uiautomationcoreapi.h -+++ b/include/uiautomationcoreapi.h -@@ -39,18 +39,19 @@ DECLARE_HANDLE(HUIAPATTERNOBJECT); - DECLARE_HANDLE(HUIATEXTRANGE); - DECLARE_HANDLE(HUIAEVENT); - --enum AutomationIdentifierType -+typedef enum AutomationIdentifierType - { - AutomationIdentifierType_Property, - AutomationIdentifierType_Pattern, - AutomationIdentifierType_Event, - AutomationIdentifierType_ControlType, -- AutomationIdentifierType_TextAttribute --}; -+ AutomationIdentifierType_TextAttribute, -+ AutomationIdentifierType_LandmarkType, -+} AutomationIdentifierType; - - HRESULT WINAPI UiaGetReservedMixedAttributeValue(IUnknown **value); - HRESULT WINAPI UiaGetReservedNotSupportedValue(IUnknown **value); --int WINAPI UiaLookupId(enum AutomationIdentifierType type, const GUID *guid); -+int WINAPI UiaLookupId(AutomationIdentifierType type, const GUID *guid); - BOOL WINAPI UiaPatternRelease(HUIAPATTERNOBJECT hobj); - HRESULT WINAPI UiaRaiseAutomationEvent(IRawElementProviderSimple *provider, EVENTID id); - LRESULT WINAPI UiaReturnRawElementProvider(HWND hwnd, WPARAM wParam, LPARAM lParam, IRawElementProviderSimple *elprov); -- 1.9.1 diff --git a/patches/bcrypt-BCryptDeriveKeyPBKDF2/0001-bcrypt-Implement-BCryptDeriveKeyPBKDF2-and-add-test-.patch b/patches/bcrypt-BCryptDeriveKeyPBKDF2/0001-bcrypt-Implement-BCryptDeriveKeyPBKDF2-and-add-test-.patch index 6ff3f1e0..54f4e52e 100644 --- a/patches/bcrypt-BCryptDeriveKeyPBKDF2/0001-bcrypt-Implement-BCryptDeriveKeyPBKDF2-and-add-test-.patch +++ b/patches/bcrypt-BCryptDeriveKeyPBKDF2/0001-bcrypt-Implement-BCryptDeriveKeyPBKDF2-and-add-test-.patch @@ -1,4 +1,4 @@ -From d850bbb2836fa4d77c7842009901382b54f29a69 Mon Sep 17 00:00:00 2001 +From a324685a2f4f48d5d9da8c3000164800152dc297 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Sat, 17 Mar 2018 21:14:05 +1100 Subject: [PATCH] bcrypt: Implement BCryptDeriveKeyPBKDF2 and add test vectors. @@ -16,12 +16,12 @@ Signed-off-by: Jack Grigg --- dlls/bcrypt/bcrypt.spec | 1 + dlls/bcrypt/bcrypt_main.c | 163 +++++++++++++++++++++++++++++++++++++++++++++ - dlls/bcrypt/tests/bcrypt.c | 85 +++++++++++++++++++++++ + dlls/bcrypt/tests/bcrypt.c | 83 +++++++++++++++++++++++ include/bcrypt.h | 1 + - 4 files changed, 250 insertions(+) + 4 files changed, 248 insertions(+) diff --git a/dlls/bcrypt/bcrypt.spec b/dlls/bcrypt/bcrypt.spec -index 78824d73b39..f4d9a57bb08 100644 +index 78824d7..f4d9a57 100644 --- a/dlls/bcrypt/bcrypt.spec +++ b/dlls/bcrypt/bcrypt.spec @@ -8,6 +8,7 @@ @@ -33,10 +33,10 @@ index 78824d73b39..f4d9a57bb08 100644 @ stdcall BCryptDestroyKey(ptr) @ stub BCryptDestroySecret diff --git a/dlls/bcrypt/bcrypt_main.c b/dlls/bcrypt/bcrypt_main.c -index 1490089cf72..4ffab1a9cf9 100644 +index 29a0a78..33c1da53 100644 --- a/dlls/bcrypt/bcrypt_main.c +++ b/dlls/bcrypt/bcrypt_main.c -@@ -2282,6 +2282,169 @@ NTSTATUS WINAPI BCryptSetProperty( BCRYPT_HANDLE handle, const WCHAR *prop, UCHA +@@ -2315,6 +2315,169 @@ NTSTATUS WINAPI BCryptSetProperty( BCRYPT_HANDLE handle, const WCHAR *prop, UCHA } } @@ -207,19 +207,10 @@ index 1490089cf72..4ffab1a9cf9 100644 { switch (reason) diff --git a/dlls/bcrypt/tests/bcrypt.c b/dlls/bcrypt/tests/bcrypt.c -index 7d59f6d4c1d..5b1b6c7e189 100644 +index 6865e87..5c4df6a 100644 --- a/dlls/bcrypt/tests/bcrypt.c +++ b/dlls/bcrypt/tests/bcrypt.c -@@ -26,6 +26,8 @@ - - #include "wine/test.h" - -+#define ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0])) -+ - static NTSTATUS (WINAPI *pBCryptOpenAlgorithmProvider)(BCRYPT_ALG_HANDLE *, LPCWSTR, LPCWSTR, ULONG); - static NTSTATUS (WINAPI *pBCryptCloseAlgorithmProvider)(BCRYPT_ALG_HANDLE, ULONG); - static NTSTATUS (WINAPI *pBCryptGetFipsAlgorithmMode)(BOOLEAN *); -@@ -36,6 +38,8 @@ static NTSTATUS (WINAPI *pBCryptHashData)(BCRYPT_HASH_HANDLE, PUCHAR, ULONG, ULO +@@ -36,6 +36,8 @@ static NTSTATUS (WINAPI *pBCryptHashData)(BCRYPT_HASH_HANDLE, PUCHAR, ULONG, ULO static NTSTATUS (WINAPI *pBCryptDuplicateHash)(BCRYPT_HASH_HANDLE, BCRYPT_HASH_HANDLE *, UCHAR *, ULONG, ULONG); static NTSTATUS (WINAPI *pBCryptFinishHash)(BCRYPT_HASH_HANDLE, PUCHAR, ULONG, ULONG); static NTSTATUS (WINAPI *pBCryptDestroyHash)(BCRYPT_HASH_HANDLE); @@ -228,7 +219,7 @@ index 7d59f6d4c1d..5b1b6c7e189 100644 static NTSTATUS (WINAPI *pBCryptGenRandom)(BCRYPT_ALG_HANDLE, PUCHAR, ULONG, ULONG); static NTSTATUS (WINAPI *pBCryptGetProperty)(BCRYPT_HANDLE, LPCWSTR, PUCHAR, ULONG, ULONG *, ULONG); static NTSTATUS (WINAPI *pBCryptSetProperty)(BCRYPT_HANDLE, LPCWSTR, PUCHAR, ULONG, ULONG); -@@ -396,6 +400,81 @@ static void test_BcryptHash(void) +@@ -396,6 +398,81 @@ static void test_BcryptHash(void) ok(ret == STATUS_SUCCESS, "got %08x\n", ret); } @@ -310,7 +301,7 @@ index 7d59f6d4c1d..5b1b6c7e189 100644 static void test_rng(void) { BCRYPT_ALG_HANDLE alg; -@@ -1609,6 +1688,7 @@ START_TEST(bcrypt) +@@ -1630,6 +1707,7 @@ START_TEST(bcrypt) pBCryptDuplicateHash = (void *)GetProcAddress(module, "BCryptDuplicateHash"); pBCryptFinishHash = (void *)GetProcAddress(module, "BCryptFinishHash"); pBCryptDestroyHash = (void *)GetProcAddress(module, "BCryptDestroyHash"); @@ -318,7 +309,7 @@ index 7d59f6d4c1d..5b1b6c7e189 100644 pBCryptGenRandom = (void *)GetProcAddress(module, "BCryptGenRandom"); pBCryptGetProperty = (void *)GetProcAddress(module, "BCryptGetProperty"); pBCryptSetProperty = (void *)GetProcAddress(module, "BCryptSetProperty"); -@@ -1639,5 +1719,10 @@ START_TEST(bcrypt) +@@ -1660,5 +1738,10 @@ START_TEST(bcrypt) else win_skip("BCryptHash is not available\n"); @@ -330,7 +321,7 @@ index 7d59f6d4c1d..5b1b6c7e189 100644 FreeLibrary(module); } diff --git a/include/bcrypt.h b/include/bcrypt.h -index df54f621fa7..d3e4b9959dc 100644 +index df54f62..d3e4b99 100644 --- a/include/bcrypt.h +++ b/include/bcrypt.h @@ -217,6 +217,7 @@ typedef PVOID BCRYPT_HASH_HANDLE; @@ -342,5 +333,5 @@ index df54f621fa7..d3e4b9959dc 100644 NTSTATUS WINAPI BCryptDestroyKey(BCRYPT_KEY_HANDLE); NTSTATUS WINAPI BCryptEncrypt(BCRYPT_KEY_HANDLE, PUCHAR, ULONG, VOID *, PUCHAR, ULONG, PUCHAR, ULONG, ULONG *, ULONG); -- -2.16.2 +1.9.1 diff --git a/patches/kernel32-MoveFile/0004-kernel32-MoveFile-source-source-should-succeed.patch b/patches/kernel32-MoveFile/0004-kernel32-MoveFile-source-source-should-succeed.patch index 36aa8a0d..c0838610 100644 --- a/patches/kernel32-MoveFile/0004-kernel32-MoveFile-source-source-should-succeed.patch +++ b/patches/kernel32-MoveFile/0004-kernel32-MoveFile-source-source-should-succeed.patch @@ -1,7 +1,7 @@ -From 44e1890d7de78cc246d1905ba91c10822de78368 Mon Sep 17 00:00:00 2001 +From 6cd8711153dfad60cf2816d2f9f07189bd37719b Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Tue, 15 Nov 2016 13:02:13 +0800 -Subject: kernel32: MoveFile(source, source) should succeed. +Subject: [PATCH] kernel32: MoveFile(source, source) should succeed. --- dlls/kernel32/path.c | 15 ++++++++++----- @@ -11,10 +11,10 @@ Subject: kernel32: MoveFile(source, source) should succeed. 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/dlls/kernel32/path.c b/dlls/kernel32/path.c -index c746693..954ea71 100644 +index 232ea7e..ba75b7e 100644 --- a/dlls/kernel32/path.c +++ b/dlls/kernel32/path.c -@@ -1235,7 +1235,7 @@ BOOL WINAPI MoveFileWithProgressW( LPCWSTR source, LPCWSTR dest, +@@ -1354,7 +1354,7 @@ BOOL WINAPI MoveFileWithProgressW( LPCWSTR source, LPCWSTR dest, OBJECT_ATTRIBUTES attr; IO_STATUS_BLOCK io; NTSTATUS status; @@ -23,7 +23,7 @@ index c746693..954ea71 100644 ANSI_STRING source_unix, dest_unix; TRACE("(%s,%s,%p,%p,%04x)\n", -@@ -1294,18 +1294,22 @@ BOOL WINAPI MoveFileWithProgressW( LPCWSTR source, LPCWSTR dest, +@@ -1413,18 +1413,22 @@ BOOL WINAPI MoveFileWithProgressW( LPCWSTR source, LPCWSTR dest, FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT ); if (status == STATUS_SUCCESS) /* destination exists */ { @@ -50,7 +50,7 @@ index c746693..954ea71 100644 } else if (status != STATUS_OBJECT_NAME_NOT_FOUND) { -@@ -1365,6 +1369,7 @@ BOOL WINAPI MoveFileWithProgressW( LPCWSTR source, LPCWSTR dest, +@@ -1484,6 +1488,7 @@ BOOL WINAPI MoveFileWithProgressW( LPCWSTR source, LPCWSTR dest, error: if (source_handle) NtClose( source_handle ); @@ -59,10 +59,10 @@ index c746693..954ea71 100644 RtlFreeAnsiString( &dest_unix ); return FALSE; diff --git a/dlls/kernel32/tests/file.c b/dlls/kernel32/tests/file.c -index e784a1c..2f9f21a 100644 +index e201f62..e152cf1 100644 --- a/dlls/kernel32/tests/file.c +++ b/dlls/kernel32/tests/file.c -@@ -1891,7 +1891,7 @@ static void test_MoveFileA(void) +@@ -1886,7 +1886,7 @@ static void test_MoveFileA(void) ok(ret != 0, "GetTempFileNameA error %d\n", GetLastError()); ret = MoveFileA(source, source); @@ -72,23 +72,23 @@ index e784a1c..2f9f21a 100644 ret = MoveFileA(source, dest); ok(!ret && GetLastError() == ERROR_ALREADY_EXISTS, diff --git a/dlls/msvcp120/tests/msvcp120.c b/dlls/msvcp120/tests/msvcp120.c -index 5df5440..b169dc5 100644 +index 969902d..d6051b0 100644 --- a/dlls/msvcp120/tests/msvcp120.c +++ b/dlls/msvcp120/tests/msvcp120.c -@@ -1204,7 +1204,7 @@ static void test_tr2_sys__Rename(void) +@@ -1402,7 +1402,7 @@ static void test_tr2_sys__Rename(void) CloseHandle(file); ret = p_tr2_sys__Rename("tr2_test_dir\\f1", "tr2_test_dir\\f1"); - todo_wine ok(ERROR_SUCCESS == ret, "test_tr2_sys__Rename(): expect: ERROR_SUCCESS, got %d\n", ret); + ok(ERROR_SUCCESS == ret, "test_tr2_sys__Rename(): expect: ERROR_SUCCESS, got %d\n", ret); - for(i=0; i Date: Thu, 16 Jan 2014 20:56:49 -0700 -Subject: ntdll: Add support for junction point creation. +Subject: [PATCH] ntdll: Add support for junction point creation. --- dlls/ntdll/file.c | 91 +++++++++++++++++++++++++++++++++++++++++++++++ dlls/ntdll/tests/file.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++++ include/Makefile.in | 1 + - include/ntifs.h | 52 +++++++++++++++++++++++++++ - 4 files changed, 238 insertions(+) + include/ntifs.h | 50 ++++++++++++++++++++++++++ + 4 files changed, 236 insertions(+) create mode 100644 include/ntifs.h diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c -index 6a456efc46c..a058e9b362f 100644 +index c4528fe..8cd673a 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c @@ -108,12 +108,14 @@ @@ -30,7 +30,7 @@ index 6a456efc46c..a058e9b362f 100644 #define SECSPERDAY 86400 #define SECS_1601_TO_1970 ((369 * 365 + 89) * (ULONGLONG)SECSPERDAY) -@@ -1653,6 +1655,76 @@ NTSTATUS WINAPI NtDeviceIoControlFile(HANDLE handle, HANDLE event, +@@ -1649,6 +1651,76 @@ NTSTATUS WINAPI NtDeviceIoControlFile(HANDLE handle, HANDLE event, } @@ -107,7 +107,7 @@ index 6a456efc46c..a058e9b362f 100644 /************************************************************************** * NtFsControlFile [NTDLL.@] * ZwFsControlFile [NTDLL.@] -@@ -1742,11 +1814,30 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc +@@ -1738,11 +1810,30 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc } break; } @@ -139,7 +139,7 @@ index 6a456efc46c..a058e9b362f 100644 return server_ioctl_file( handle, event, apc, apc_context, io, code, in_buffer, in_size, out_buffer, out_size ); diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c -index d1b8e5fee84..cfa60961d6d 100644 +index bf87000..198e415 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c @@ -37,6 +37,7 @@ @@ -150,7 +150,7 @@ index d1b8e5fee84..cfa60961d6d 100644 #ifndef IO_COMPLETION_ALL_ACCESS #define IO_COMPLETION_ALL_ACCESS 0x001F0003 -@@ -4374,6 +4375,98 @@ static void test_query_ea(void) +@@ -4335,6 +4336,98 @@ static void test_query_ea(void) #undef EA_BUFFER_SIZE } @@ -249,17 +249,17 @@ index d1b8e5fee84..cfa60961d6d 100644 START_TEST(file) { HMODULE hkernel32 = GetModuleHandleA("kernel32.dll"); -@@ -4440,4 +4533,5 @@ START_TEST(file) +@@ -4401,4 +4494,5 @@ START_TEST(file) test_ioctl(); test_flush_buffers_file(); test_query_ea(); + test_junction_points(); } diff --git a/include/Makefile.in b/include/Makefile.in -index cc42f66ebd4..255797759fb 100644 +index 78ab095..dc2bede 100644 --- a/include/Makefile.in +++ b/include/Makefile.in -@@ -550,6 +550,7 @@ HEADER_SRCS = \ +@@ -469,6 +469,7 @@ SOURCES = \ ntddstor.h \ ntdef.h \ ntdsapi.h \ @@ -269,10 +269,10 @@ index cc42f66ebd4..255797759fb 100644 ntsecapi.h \ diff --git a/include/ntifs.h b/include/ntifs.h new file mode 100644 -index 00000000000..db07c28a5df +index 0000000..85100fe --- /dev/null +++ b/include/ntifs.h -@@ -0,0 +1,52 @@ +@@ -0,0 +1,50 @@ +/* + * Win32 definitions for Windows NT + * @@ -322,9 +322,7 @@ index 00000000000..db07c28a5df + }; +} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER; + -+#define IO_REPARSE_TAG_MOUNT_POINT 0xa0000003 -+ +#endif /* __WINE_NTIFS_H */ -- -2.14.2 +1.9.1 diff --git a/patches/ntdll-Junction_Points/0003-ntdll-Add-support-for-deleting-junction-points.patch b/patches/ntdll-Junction_Points/0003-ntdll-Add-support-for-deleting-junction-points.patch index 1048e47a..c86ec5b3 100644 --- a/patches/ntdll-Junction_Points/0003-ntdll-Add-support-for-deleting-junction-points.patch +++ b/patches/ntdll-Junction_Points/0003-ntdll-Add-support-for-deleting-junction-points.patch @@ -1,19 +1,19 @@ -From 63d7c7a66fcf9a64547dcedc7297153b4232368d Mon Sep 17 00:00:00 2001 +From 029fb5b0aa9c8ecb76da3aae5a2394072bf2fa33 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Thu, 16 Jan 2014 21:00:21 -0700 -Subject: ntdll: Add support for deleting junction points. +Subject: [PATCH] ntdll: Add support for deleting junction points. --- dlls/ntdll/file.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++ dlls/ntdll/tests/file.c | 22 +++++++++++++++++++++ - include/ntifs.h | 11 +++++++++++ - 3 files changed, 84 insertions(+) + include/ntifs.h | 12 ++++++++++++ + 3 files changed, 85 insertions(+) diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c -index 85f037a..70ed339 100644 +index 73f9de4..4594c57 100644 --- a/dlls/ntdll/file.c +++ b/dlls/ntdll/file.c -@@ -1778,6 +1778,41 @@ cleanup: +@@ -1775,6 +1775,41 @@ cleanup: } @@ -55,7 +55,7 @@ index 85f037a..70ed339 100644 /************************************************************************** * NtFsControlFile [NTDLL.@] * ZwFsControlFile [NTDLL.@] -@@ -1933,6 +1968,22 @@ NTSTATUS WINAPI SYSCALL(NtFsControlFile)(HANDLE handle, HANDLE event, PIO_APC_RO +@@ -1871,6 +1906,22 @@ NTSTATUS WINAPI NtFsControlFile(HANDLE handle, HANDLE event, PIO_APC_ROUTINE apc status = STATUS_SUCCESS; break; @@ -79,10 +79,10 @@ index 85f037a..70ed339 100644 { REPARSE_DATA_BUFFER *buffer = (REPARSE_DATA_BUFFER *)out_buffer; diff --git a/dlls/ntdll/tests/file.c b/dlls/ntdll/tests/file.c -index 070f6ed..c21691f 100644 +index 286d1e4..a5cb3b7 100644 --- a/dlls/ntdll/tests/file.c +++ b/dlls/ntdll/tests/file.c -@@ -4265,12 +4265,15 @@ static void test_junction_points(void) +@@ -4360,12 +4360,15 @@ static void test_junction_points(void) static const WCHAR junctionW[] = {'\\','j','u','n','c','t','i','o','n',0}; WCHAR path[MAX_PATH], junction_path[MAX_PATH], target_path[MAX_PATH]; static const WCHAR targetW[] = {'\\','t','a','r','g','e','t',0}; @@ -98,7 +98,7 @@ index 070f6ed..c21691f 100644 UNICODE_STRING nameW; HANDLE hJunction; WCHAR *dest; -@@ -4318,6 +4321,8 @@ static void test_junction_points(void) +@@ -4413,6 +4416,8 @@ static void test_junction_points(void) win_skip("Failed to open junction point directory handle (0x%x).\n", GetLastError()); goto cleanup; } @@ -107,7 +107,7 @@ index 070f6ed..c21691f 100644 buffer_len = build_reparse_buffer(nameW.Buffer, &buffer); bret = DeviceIoControl(hJunction, FSCTL_SET_REPARSE_POINT, (LPVOID)buffer, buffer_len, NULL, 0, &dwret, 0); ok(bret, "Failed to create junction point! (0x%x)\n", GetLastError()); -@@ -4332,6 +4337,23 @@ static void test_junction_points(void) +@@ -4427,6 +4432,23 @@ static void test_junction_points(void) ok(bret, "Failed to read junction point!\n"); ok((memcmp(dest, nameW.Buffer, string_len) == 0), "Junction point destination does not match ('%s' != '%s')!\n", wine_dbgstr_w(dest), wine_dbgstr_w(nameW.Buffer)); @@ -132,10 +132,10 @@ index 070f6ed..c21691f 100644 cleanup: diff --git a/include/ntifs.h b/include/ntifs.h -index db07c28..cb8638b 100644 +index 85100fe..10820e4 100644 --- a/include/ntifs.h +++ b/include/ntifs.h -@@ -47,6 +47,17 @@ typedef struct _REPARSE_DATA_BUFFER { +@@ -47,4 +47,16 @@ typedef struct _REPARSE_DATA_BUFFER { }; } REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER; @@ -149,10 +149,9 @@ index db07c28..cb8638b 100644 + } GenericReparseBuffer; +} REPARSE_GUID_DATA_BUFFER, *PREPARSE_GUID_DATA_BUFFER; + - #define IO_REPARSE_TAG_MOUNT_POINT 0xa0000003 +#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer) - ++ #endif /* __WINE_NTIFS_H */ -- -2.7.1 +1.9.1 diff --git a/patches/ntdll-NtQueryVirtualMemory/0007-kernel32-Implement-K32GetMappedFileName.-v2.patch b/patches/ntdll-NtQueryVirtualMemory/0007-kernel32-Implement-K32GetMappedFileName.-v2.patch index 6754b831..da5259d6 100644 --- a/patches/ntdll-NtQueryVirtualMemory/0007-kernel32-Implement-K32GetMappedFileName.-v2.patch +++ b/patches/ntdll-NtQueryVirtualMemory/0007-kernel32-Implement-K32GetMappedFileName.-v2.patch @@ -1,18 +1,18 @@ -From d0f1010e925785febb306d0fd22b70165585b0a2 Mon Sep 17 00:00:00 2001 +From a1c5805b5cb85cca744257e8f34dbd88accb025c Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Wed, 16 Mar 2016 20:23:28 +0800 -Subject: kernel32: Implement K32GetMappedFileName. (v2) +Subject: [PATCH] kernel32: Implement K32GetMappedFileName. (v2) --- dlls/kernel32/virtual.c | 67 +++++++++++++++++++++++++++++++++++-------- - dlls/psapi/tests/psapi_main.c | 25 ++++------------ - 2 files changed, 60 insertions(+), 32 deletions(-) + dlls/psapi/tests/psapi_main.c | 22 +++----------- + 2 files changed, 59 insertions(+), 30 deletions(-) diff --git a/dlls/kernel32/virtual.c b/dlls/kernel32/virtual.c -index 5733a42bbf5..efdddfafc97 100644 +index c7a15cd..f2a2c71 100644 --- a/dlls/kernel32/virtual.c +++ b/dlls/kernel32/virtual.c -@@ -840,29 +840,72 @@ BOOL WINAPI IsBadStringPtrW( LPCWSTR str, UINT_PTR max ) +@@ -650,29 +650,72 @@ BOOL WINAPI IsBadStringPtrW( LPCWSTR str, UINT_PTR max ) } /*********************************************************************** @@ -34,7 +34,9 @@ index 5733a42bbf5..efdddfafc97 100644 + SetLastError(ERROR_INVALID_PARAMETER); + return 0; + } -+ + +- if (file_name && size) +- file_name[0] = '\0'; + buf_len = sizeof(*name) + size * sizeof(WCHAR); + name = HeapAlloc(GetProcessHeap(), 0, buf_len); + if (!name) @@ -42,7 +44,8 @@ index 5733a42bbf5..efdddfafc97 100644 + SetLastError(ERROR_NOT_ENOUGH_MEMORY); + return 0; + } -+ + +- return 0; + status = NtQueryVirtualMemory(process, addr, MemorySectionName, name, buf_len, &buf_len); + if (status) + { @@ -50,13 +53,10 @@ index 5733a42bbf5..efdddfafc97 100644 + SetLastError(RtlNtStatusToDosError(status)); + return 0; + } - -- if (file_name && size) -- file_name[0] = '\0'; ++ + memcpy(file_name, name->SectionFileName.Buffer, name->SectionFileName.MaximumLength); + buf_len = name->SectionFileName.Length; - -- return 0; ++ + HeapFree(GetProcessHeap(), 0, name); + + return buf_len; @@ -98,10 +98,10 @@ index 5733a42bbf5..efdddfafc97 100644 /*********************************************************************** diff --git a/dlls/psapi/tests/psapi_main.c b/dlls/psapi/tests/psapi_main.c -index 23025eedab3..0751bb24fb8 100644 +index 065764b..d36c123 100644 --- a/dlls/psapi/tests/psapi_main.c +++ b/dlls/psapi/tests/psapi_main.c -@@ -364,27 +364,22 @@ static void test_GetMappedFileName(void) +@@ -462,27 +462,22 @@ static void test_GetMappedFileName(void) SetLastError(0xdeadbeef); ret = pGetMappedFileNameA(NULL, hMod, szMapPath, sizeof(szMapPath)); ok(!ret, "GetMappedFileName should fail\n"); @@ -129,7 +129,7 @@ index 23025eedab3..0751bb24fb8 100644 ok(szMapBaseName && *szMapBaseName, "szMapPath=\"%s\"\n", szMapPath); if (szMapBaseName) { -@@ -422,36 +417,31 @@ todo_wine +@@ -520,29 +515,25 @@ todo_wine SetLastError(0xdeadbeef); ret = pGetMappedFileNameA(GetCurrentProcess(), base, map_name, 0); ok(!ret, "GetMappedFileName should fail\n"); @@ -159,16 +159,8 @@ index 23025eedab3..0751bb24fb8 100644 -} SetLastError(0xdeadbeef); - ret = pGetMappedFileNameW(GetCurrentProcess(), base, map_nameW, sizeof(map_nameW)/sizeof(map_nameW[0])); --todo_wine { - ok(ret, "GetMappedFileNameW error %d\n", GetLastError()); - ok(ret > strlen(device_name), "map_name should be longer than device_name\n"); --} -+ - if (nt_get_mapped_file_name(GetCurrentProcess(), base, nt_map_name, sizeof(nt_map_name)/sizeof(nt_map_name[0]))) - { - ok(memcmp(map_nameW, nt_map_name, lstrlenW(map_nameW)) == 0, "map name does not start with a device name: %s\n", map_name); -@@ -462,10 +452,9 @@ todo_wine + ret = pGetMappedFileNameW(GetCurrentProcess(), base, map_nameW, ARRAY_SIZE(map_nameW)); +@@ -560,10 +551,9 @@ todo_wine SetLastError(0xdeadbeef); ret = pGetMappedFileNameW(current_process, base, map_nameW, sizeof(map_nameW)/sizeof(map_nameW[0])); @@ -180,7 +172,7 @@ index 23025eedab3..0751bb24fb8 100644 if (nt_get_mapped_file_name(current_process, base, nt_map_name, sizeof(nt_map_name)/sizeof(nt_map_name[0]))) { ok(memcmp(map_nameW, nt_map_name, lstrlenW(map_nameW)) == 0, "map name does not start with a device name: %s\n", map_name); -@@ -476,16 +465,14 @@ todo_wine +@@ -574,16 +564,14 @@ todo_wine SetLastError(0xdeadbeef); ret = pGetMappedFileNameA(GetCurrentProcess(), base + 0x2000, map_name, sizeof(map_name)); @@ -198,7 +190,7 @@ index 23025eedab3..0751bb24fb8 100644 ok(GetLastError() == ERROR_UNEXP_NET_ERR, "expected ERROR_UNEXP_NET_ERR, got %d\n", GetLastError()); SetLastError(0xdeadbeef); -@@ -497,7 +484,6 @@ todo_wine +@@ -595,7 +583,6 @@ todo_wine SetLastError(0xdeadbeef); ret = pGetMappedFileNameA(0, base, map_name, sizeof(map_name)); ok(!ret, "GetMappedFileName should fail\n"); @@ -206,7 +198,7 @@ index 23025eedab3..0751bb24fb8 100644 ok(GetLastError() == ERROR_INVALID_HANDLE, "expected ERROR_INVALID_HANDLE, got %d\n", GetLastError()); UnmapViewOfFile(base); -@@ -516,7 +502,6 @@ todo_wine +@@ -614,7 +601,6 @@ todo_wine SetLastError(0xdeadbeef); ret = pGetMappedFileNameA(GetCurrentProcess(), base, map_name, sizeof(map_name)); ok(!ret, "GetMappedFileName should fail\n"); @@ -214,7 +206,7 @@ index 23025eedab3..0751bb24fb8 100644 ok(GetLastError() == ERROR_FILE_INVALID, "expected ERROR_FILE_INVALID, got %d\n", GetLastError()); CloseHandle(current_process); -@@ -566,7 +551,7 @@ static void test_GetProcessImageFileName(void) +@@ -664,7 +650,7 @@ static void test_GetProcessImageFileName(void) if(ret && ret1) { /* Windows returns 2*strlen-1 */ @@ -224,5 +216,5 @@ index 23025eedab3..0751bb24fb8 100644 } -- -2.12.2 +1.9.1 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index dae16a7f..66f37500 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "868fb05e7710dbaa94569fa7d2c3736580aec438" + echo "e470221dcaaadf10f222551997ff837f1e7557de" } # Show version information @@ -2688,8 +2688,7 @@ fi # | ms-win-appmodel-usercontext-l1-1-0.spec, dlls/ext-ms-win-appmodel-usercontext-l1-1-0/main.c, dlls/ext-ms-win-xaml- # | pal-l1-1-0/Makefile.in, dlls/ext-ms-win-xaml-pal-l1-1-0/ext-ms-win-xaml-pal-l1-1-0.spec, dlls/ext-ms-win-xaml- # | pal-l1-1-0/main.c, dlls/iertutil/Makefile.in, dlls/iertutil/iertutil.spec, dlls/iertutil/main.c, -# | dlls/uiautomationcore/Makefile.in, dlls/uiautomationcore/uia_main.c, dlls/uiautomationcore/uiautomationcore.spec, -# | include/uiautomationcoreapi.h +# | dlls/uiautomationcore/Makefile.in, dlls/uiautomationcore/uia_main.c, dlls/uiautomationcore/uiautomationcore.spec # | if test "$enable_api_ms_win_Stub_DLLs" -eq 1; then patch_apply api-ms-win-Stub_DLLs/0006-iertutil-Add-dll-and-add-stub-for-ordinal-811.patch @@ -2793,11 +2792,11 @@ fi # | * dlls/bcrypt/bcrypt.spec, dlls/bcrypt/bcrypt_main.c, include/bcrypt.h # | if test "$enable_bcrypt_BCryptGenerateKeyPair" -eq 1; then - patch_apply bcrypt-BCryptGenerateKeyPair/0001-Add-support-for-bcrypt-algorythm-ECDH-P256.-Necessar.patch + patch_apply bcrypt-BCryptGenerateKeyPair/0001-Add-support-for-bcrypt-algorithm-ECDH-P256.-Necessar.patch patch_apply bcrypt-BCryptGenerateKeyPair/0002-Add-support-for-bcrypt-function-BCryptGenerateKeyPai.patch patch_apply bcrypt-BCryptGenerateKeyPair/0003-Add-support-for-bcrypt-function-BCryptFinalizeKeyPai.patch ( - printf '%s\n' '+ { "Maxime Lombard", "bcrypt: Add support for algorythm ECDH P256.", 1 },'; + printf '%s\n' '+ { "Maxime Lombard", "bcrypt: Add support for algorithm ECDH P256.", 1 },'; printf '%s\n' '+ { "Maxime Lombard", "bcrypt: Add BCryptGenerateKeyPair stub.", 1 },'; printf '%s\n' '+ { "Maxime Lombard", "bcrypt: Add BCryptFinalizeKeyPair stub.", 1 },'; ) >> "$patchlist"