Rebase against e470221dcaaadf10f222551997ff837f1e7557de

This commit is contained in:
Alistair Leslie-Hughes 2018-06-12 08:51:26 +10:00
parent d78f0a5a7b
commit 122a110c7a
7 changed files with 90 additions and 151 deletions

View File

@ -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?= <michael@fds-team.de>
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

View File

@ -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 <me@jackgrigg.com>
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 <me@jackgrigg.com>
---
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

View File

@ -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 <dmitry@baikal.ru>
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<sizeof(tests)/sizeof(tests[0]); i++) {
for(i=0; i<ARRAY_SIZE(tests); i++) {
errno = 0xdeadbeef;
if(tests[i].val == ERROR_SUCCESS) {
diff --git a/programs/cmd/tests/test_builtins.cmd.exp b/programs/cmd/tests/test_builtins.cmd.exp
index d01a23e..c559e3b 100644
index dcc9629..e16f9f3 100644
--- a/programs/cmd/tests/test_builtins.cmd.exp
+++ b/programs/cmd/tests/test_builtins.cmd.exp
@@ -1058,8 +1058,8 @@ file move succeeded
@@ -1261,8 +1261,8 @@ file move succeeded
@todo_wine@bar@or_broken@baz
read-only files are moveable
file moved in subdirectory
@ -100,5 +100,5 @@ index d01a23e..c559e3b 100644
simple directory move succeeded
moving a directory to itself gives error; errlevel 1
--
2.9.0
1.9.1

View File

@ -1,18 +1,18 @@
From 61bf2e5fc768bcdf7c28fa459c9e1f8a98912169 Mon Sep 17 00:00:00 2001
From 97655d49034368dde4a9565f15692ae9416b8bc8 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
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

View File

@ -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" <erich.e.hoover@gmail.com>
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

View File

@ -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 <dmitry@baikal.ru>
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

View File

@ -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"