diff --git a/patches/kernel32-Misalign_Workaround/0001-kernel32-Fill-stack-with-meaningful-values-in-call_p.patch b/patches/kernel32-Misalign_Workaround/0001-kernel32-Fill-stack-with-meaningful-values-in-call_p.patch deleted file mode 100644 index bde6f2bf..00000000 --- a/patches/kernel32-Misalign_Workaround/0001-kernel32-Fill-stack-with-meaningful-values-in-call_p.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 46302575f68264f8b097a663bee06e8624fa69ad Mon Sep 17 00:00:00 2001 -From: Sebastian Lackner -Date: Sun, 1 May 2016 16:45:31 +0200 -Subject: kernel32: Fill stack with meaningful values in call_process_entry - mis-align workaround. - ---- - dlls/kernel32/process.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c -index 4771108..28ec659 100644 ---- a/dlls/kernel32/process.c -+++ b/dlls/kernel32/process.c -@@ -1064,7 +1064,9 @@ __ASM_GLOBAL_FUNC( call_process_entry, - __ASM_CFI(".cfi_rel_offset %ebp,0\n\t") - "movl %esp,%ebp\n\t" - __ASM_CFI(".cfi_def_cfa_register %ebp\n\t") -- "subl $12,%esp\n\t" /* deliberately mis-align the stack by 8, Doom 3 needs this */ -+ "pushl 4(%ebp)\n\t" /* deliberately mis-align the stack by 8, Doom 3 needs this */ -+ "pushl 4(%ebp)\n\t" /* Driller expects readable address at this offset */ -+ "pushl 4(%ebp)\n\t" - "pushl 8(%ebp)\n\t" - "call *12(%ebp)\n\t" - "leave\n\t" --- -2.8.0 - diff --git a/patches/kernel32-Misalign_Workaround/definition b/patches/kernel32-Misalign_Workaround/definition deleted file mode 100644 index 1c46e61d..00000000 --- a/patches/kernel32-Misalign_Workaround/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [24374] Fill stack with meaningful values in call_process_entry mis-align workaround diff --git a/patches/kernel32-PE_Loader_Fixes/definition b/patches/kernel32-PE_Loader_Fixes/definition index ccf0ccdf..7af156bb 100644 --- a/patches/kernel32-PE_Loader_Fixes/definition +++ b/patches/kernel32-PE_Loader_Fixes/definition @@ -1,2 +1 @@ Fixes: [42125] Various PE loader fixes for 8k demos -Depends: kernel32-Misalign_Workaround diff --git a/patches/msvcr120-_SetWinRTOutOfMemoryExceptionCallback/0001-msvcr120-Add-stub-for-_SetWinRTOutOfMemoryExceptionC.patch b/patches/msvcr120-_SetWinRTOutOfMemoryExceptionCallback/0001-msvcr120-Add-stub-for-_SetWinRTOutOfMemoryExceptionC.patch deleted file mode 100644 index ab755375..00000000 --- a/patches/msvcr120-_SetWinRTOutOfMemoryExceptionCallback/0001-msvcr120-Add-stub-for-_SetWinRTOutOfMemoryExceptionC.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 3418775c892b4fff2dd9ca879b7d4d1059bd065b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Michael=20M=C3=BCller?= -Date: Fri, 15 Jan 2016 12:58:17 +0100 -Subject: [PATCH] msvcr120: Add stub for _SetWinRTOutOfMemoryExceptionCallback. - ---- - dlls/msvcr120/msvcr120.spec | 2 +- - dlls/msvcr120_app/msvcr120_app.spec | 2 +- - dlls/msvcrt/misc.c | 8 ++++++++ - 3 files changed, 10 insertions(+), 2 deletions(-) - -diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec -index b6f0e1f..19088e4 100644 ---- a/dlls/msvcr120/msvcr120.spec -+++ b/dlls/msvcr120/msvcr120.spec -@@ -844,7 +844,7 @@ - @ stub -arch=i386 _NLG_Return - @ stub -arch=i386 _NLG_Return2 - @ stub -arch=arm,win64 __NLG_Return2 --@ stub _SetWinRTOutOfMemoryExceptionCallback -+@ cdecl -arch=i386,x86_64,arm _SetWinRTOutOfMemoryExceptionCallback(ptr) MSVCR120__SetWinRTOutOfMemoryExceptionCallback - @ stub -arch=win64 _SetImageBase - @ stub -arch=win64 _SetThrowImageBase - @ cdecl _Strftime(ptr long str ptr ptr) -diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec -index 7a9b6aa..166d6b8 100644 ---- a/dlls/msvcr120_app/msvcr120_app.spec -+++ b/dlls/msvcr120_app/msvcr120_app.spec -@@ -838,7 +838,7 @@ - @ stub -arch=i386 _NLG_Return - @ stub -arch=i386 _NLG_Return2 - @ stub -arch=arm,win64 __NLG_Return2 --@ stub _SetWinRTOutOfMemoryExceptionCallback -+@ cdecl -arch=i386,x86_64,arm _SetWinRTOutOfMemoryExceptionCallback(ptr) msvcr120._SetWinRTOutOfMemoryExceptionCallback - @ stub -arch=win64 _SetImageBase - @ stub -arch=win64 _SetThrowImageBase - @ cdecl _Strftime(ptr long str ptr ptr) msvcr120._Strftime -diff --git a/dlls/msvcrt/misc.c b/dlls/msvcrt/misc.c -index c197d69..c5f8f42 100644 ---- a/dlls/msvcrt/misc.c -+++ b/dlls/msvcrt/misc.c -@@ -578,4 +578,12 @@ void CDECL MSVCRT__crtSleep(DWORD timeout) - TRACE("(%u)\n", timeout); - Sleep(timeout); - } -+ -+/********************************************************************* -+ * _SetWinRTOutOfMemoryExceptionCallback (MSVCR120.@) -+ */ -+void CDECL MSVCR120__SetWinRTOutOfMemoryExceptionCallback(void *callback) -+{ -+ FIXME("(%p): stub\n", callback); -+} - #endif --- -1.9.1 - diff --git a/patches/msvcr120-_SetWinRTOutOfMemoryExceptionCallback/definition b/patches/msvcr120-_SetWinRTOutOfMemoryExceptionCallback/definition deleted file mode 100644 index 0010e74f..00000000 --- a/patches/msvcr120-_SetWinRTOutOfMemoryExceptionCallback/definition +++ /dev/null @@ -1 +0,0 @@ -Fixes: [45394] Add stub for _SetWinRTOutOfMemoryExceptionCallback diff --git a/patches/ntdll-RtlIpStringToAddress_Tests/0001-ntdll-tests-Tests-for-RtlIpv6StringToAddress-try-6.patch b/patches/ntdll-RtlIpStringToAddress_Tests/0001-ntdll-tests-Tests-for-RtlIpv6StringToAddress-try-6.patch deleted file mode 100644 index 41cbf5c0..00000000 --- a/patches/ntdll-RtlIpStringToAddress_Tests/0001-ntdll-tests-Tests-for-RtlIpv6StringToAddress-try-6.patch +++ /dev/null @@ -1,501 +0,0 @@ -From 34d880216777154f9fef645795783a6deaddf2f8 Mon Sep 17 00:00:00 2001 -From: Mark Jansen -Date: Sun, 8 Mar 2015 18:24:45 +0100 -Subject: ntdll/tests: Tests for RtlIpv6StringToAddress (try 6) - -Changes from try5: --Reformat ipv6 table to be less wide --Remove _s6_un from memcmp calls - -Changes from try4: --Use RtlMultiByteToUnicodeN for A->W conversion as suggested by stefand on - -Changes from try3: --Also test the W version against the A version --Expand the test with more corner cases --replace the 'broken' int with an enum as suggested by stefand --add comments to the flags, explaining their purpose. --initialize ipv6 from int array in a small function to avoid code -duplication ---- - dlls/ntdll/tests/rtl.c | 430 +++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 430 insertions(+) - -diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c -index ac463c6..657c1ae 100644 ---- a/dlls/ntdll/tests/rtl.c -+++ b/dlls/ntdll/tests/rtl.c -@@ -25,6 +25,7 @@ - - #include "ntdll_test.h" - #include "inaddr.h" -+#include "in6addr.h" - #include "initguid.h" - #define COBJMACROS - #include "shobjidl.h" -@@ -92,9 +93,12 @@ static IMAGE_BASE_RELOCATION *(WINAPI *pLdrProcessRelocationBlock)(void*,UINT,US - static CHAR * (WINAPI *pRtlIpv4AddressToStringA)(const IN_ADDR *, LPSTR); - static NTSTATUS (WINAPI *pRtlIpv4AddressToStringExA)(const IN_ADDR *, USHORT, LPSTR, PULONG); - static NTSTATUS (WINAPI *pRtlIpv4StringToAddressA)(PCSTR, BOOLEAN, PCSTR *, IN_ADDR *); -+static NTSTATUS (WINAPI *pRtlIpv6StringToAddressA)(PCSTR, PCSTR *, struct in6_addr *); -+static NTSTATUS (WINAPI *pRtlIpv6StringToAddressW)(PCWSTR, PCWSTR *, struct in6_addr *); - static NTSTATUS (WINAPI *pLdrAddRefDll)(ULONG, HMODULE); - static NTSTATUS (WINAPI *pLdrLockLoaderLock)(ULONG, ULONG*, ULONG_PTR*); - static NTSTATUS (WINAPI *pLdrUnlockLoaderLock)(ULONG, ULONG_PTR); -+static NTSTATUS (WINAPI *pRtlMultiByteToUnicodeN)(LPWSTR, DWORD, LPDWORD, LPCSTR, DWORD); - static NTSTATUS (WINAPI *pRtlGetCompressionWorkSpaceSize)(USHORT, PULONG, PULONG); - static NTSTATUS (WINAPI *pRtlDecompressBuffer)(USHORT, PUCHAR, ULONG, const UCHAR*, ULONG, PULONG); - static NTSTATUS (WINAPI *pRtlDecompressFragment)(USHORT, PUCHAR, ULONG, const UCHAR*, ULONG, ULONG, PULONG, PVOID); -@@ -146,9 +150,12 @@ static void InitFunctionPtrs(void) - pRtlIpv4AddressToStringA = (void *)GetProcAddress(hntdll, "RtlIpv4AddressToStringA"); - pRtlIpv4AddressToStringExA = (void *)GetProcAddress(hntdll, "RtlIpv4AddressToStringExA"); - pRtlIpv4StringToAddressA = (void *)GetProcAddress(hntdll, "RtlIpv4StringToAddressA"); -+ pRtlIpv6StringToAddressA = (void *)GetProcAddress(hntdll, "RtlIpv6StringToAddressA"); -+ pRtlIpv6StringToAddressW = (void *)GetProcAddress(hntdll, "RtlIpv6StringToAddressW"); - pLdrAddRefDll = (void *)GetProcAddress(hntdll, "LdrAddRefDll"); - pLdrLockLoaderLock = (void *)GetProcAddress(hntdll, "LdrLockLoaderLock"); - pLdrUnlockLoaderLock = (void *)GetProcAddress(hntdll, "LdrUnlockLoaderLock"); -+ pRtlMultiByteToUnicodeN = (void *)GetProcAddress(hntdll, "RtlMultiByteToUnicodeN"); - pRtlGetCompressionWorkSpaceSize = (void *)GetProcAddress(hntdll, "RtlGetCompressionWorkSpaceSize"); - pRtlDecompressBuffer = (void *)GetProcAddress(hntdll, "RtlDecompressBuffer"); - pRtlDecompressFragment = (void *)GetProcAddress(hntdll, "RtlDecompressFragment"); -@@ -1303,6 +1310,428 @@ static void test_RtlIpv4StringToAddress(void) - } - } - -+ -+/* ipv6 addresses based on the set from https://github.com/beaugunderson/javascript-ipv6/tree/master/test/data */ -+static const struct -+{ -+ PCSTR address; -+ NTSTATUS res; -+ int terminator_offset; -+ int ip[8]; -+ /* win_broken: older versions of windows do not handle this correct -+ ex_fail: Ex function does need the string to be terminated, non-Ex does not. -+ ex_skip: test doesnt make sense for Ex (f.e. it's invalid for non-Ex but valid for Ex) */ -+ enum { normal_6, win_broken_6 = 1, ex_fail_6 = 2, ex_skip_6 = 4 } flags; -+} ipv6_tests[] = -+{ -+ { "0000:0000:0000:0000:0000:0000:0000:0000", STATUS_SUCCESS, 39, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "0000:0000:0000:0000:0000:0000:0000:0001", STATUS_SUCCESS, 39, -+ { 0, 0, 0, 0, 0, 0, 0, 0x100 } }, -+ { "0:0:0:0:0:0:0:0", STATUS_SUCCESS, 15, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "0:0:0:0:0:0:0:1", STATUS_SUCCESS, 15, -+ { 0, 0, 0, 0, 0, 0, 0, 0x100 } }, -+ { "0:0:0:0:0:0:0::", STATUS_SUCCESS, 13, -+ { 0, 0, 0, 0, 0, 0, 0, 0 }, win_broken_6 }, -+ { "0:0:0:0:0:0:13.1.68.3", STATUS_SUCCESS, 21, -+ { 0, 0, 0, 0, 0, 0, 0x10d, 0x344 } }, -+ { "0:0:0:0:0:0::", STATUS_SUCCESS, 13, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "0:0:0:0:0::", STATUS_SUCCESS, 11, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "0:0:0:0:0:FFFF:129.144.52.38", STATUS_SUCCESS, 28, -+ { 0, 0, 0, 0, 0, 0xffff, 0x9081, 0x2634 } }, -+ { "0::", STATUS_SUCCESS, 3, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "0:1:2:3:4:5:6:7", STATUS_SUCCESS, 15, -+ { 0, 0x100, 0x200, 0x300, 0x400, 0x500, 0x600, 0x700 } }, -+ { "1080:0:0:0:8:800:200c:417a", STATUS_SUCCESS, 26, -+ { 0x8010, 0, 0, 0, 0x800, 0x8, 0x0c20, 0x7a41 } }, -+ { "0:a:b:c:d:e:f::", STATUS_SUCCESS, 13, -+ { 0, 0xa00, 0xb00, 0xc00, 0xd00, 0xe00, 0xf00, 0 }, win_broken_6 }, -+ { "1111:2222:3333:4444:5555:6666:123.123.123.123", STATUS_SUCCESS, 45, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0x7b7b, 0x7b7b } }, -+ { "1111:2222:3333:4444:5555:6666:7777:8888", STATUS_SUCCESS, 39, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0x7777, 0x8888 } }, -+ { "1111:2222:3333:4444:0x5555:6666:7777:8888", STATUS_INVALID_PARAMETER, 21, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1111:2222:3333:4444:x555:6666:7777:8888", STATUS_INVALID_PARAMETER, 20, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1111:2222:3333:4444:0r5555:6666:7777:8888", STATUS_INVALID_PARAMETER, 21, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1111:2222:3333:4444:r5555:6666:7777:8888", STATUS_INVALID_PARAMETER, 20, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1111:2222:3333:4444:5555:6666:7777::", STATUS_SUCCESS, 34, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0x7777, 0 }, win_broken_6 }, -+ { "1111:2222:3333:4444:5555:6666::", STATUS_SUCCESS, 31, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0, 0 } }, -+ { "1111:2222:3333:4444:5555:6666::8888", STATUS_SUCCESS, 35, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0, 0x8888 } }, -+ { "1111:2222:3333:4444:5555::", STATUS_SUCCESS, 26, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0, 0, 0 } }, -+ { "1111:2222:3333:4444:5555::123.123.123.123", STATUS_SUCCESS, 41, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0, 0x7b7b, 0x7b7b } }, -+ { "1111:2222:3333:4444:5555::0x1.123.123.123", STATUS_SUCCESS, 27, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0, 0, 0x100 }, ex_fail_6 }, -+ { "1111:2222:3333:4444:5555::0x88", STATUS_SUCCESS, 27, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0, 0, 0x8800 }, ex_fail_6 }, -+ { "1111:2222:3333:4444:5555::0X88", STATUS_SUCCESS, 27, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0, 0, 0x8800 }, ex_fail_6 }, -+ { "1111:2222:3333:4444:5555::0X", STATUS_SUCCESS, 27, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0, 0, 0 }, ex_fail_6 }, -+ { "1111:2222:3333:4444:5555::0X88:7777", STATUS_SUCCESS, 27, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0, 0, 0x8800 }, ex_fail_6 }, -+ { "1111:2222:3333:4444:5555::0x8888", STATUS_SUCCESS, 27, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0, 0, 0x8888 }, ex_fail_6 }, -+ { "1111:2222:3333:4444:5555::08888", STATUS_INVALID_PARAMETER, 31, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0xabab, 0xabab, 0xabab } }, -+ { "1111:2222:3333:4444:5555::fffff", STATUS_INVALID_PARAMETER, 31, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0xabab, 0xabab, 0xabab } }, -+ { "1111:2222:3333:4444::fffff", STATUS_INVALID_PARAMETER, 26, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1111:2222:3333::fffff", STATUS_INVALID_PARAMETER, 21, -+ { 0x1111, 0x2222, 0x3333, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1111:2222:3333:4444:5555::7777:8888", STATUS_SUCCESS, 35, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0, 0x7777, 0x8888 } }, -+ { "1111:2222:3333:4444:5555::8888", STATUS_SUCCESS, 30, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0, 0, 0x8888 } }, -+ { "1111::", STATUS_SUCCESS, 6, -+ { 0x1111, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "1111::123.123.123.123", STATUS_SUCCESS, 21, -+ { 0x1111, 0, 0, 0, 0, 0, 0x7b7b, 0x7b7b } }, -+ { "1111::3333:4444:5555:6666:123.123.123.123", STATUS_SUCCESS, 41, -+ { 0x1111, 0, 0x3333, 0x4444, 0x5555, 0x6666, 0x7b7b, 0x7b7b } }, -+ { "1111::3333:4444:5555:6666:7777:8888", STATUS_SUCCESS, 35, -+ { 0x1111, 0, 0x3333, 0x4444, 0x5555, 0x6666, 0x7777, 0x8888 } }, -+ { "1111::4444:5555:6666:123.123.123.123", STATUS_SUCCESS, 36, -+ { 0x1111, 0, 0, 0x4444, 0x5555, 0x6666, 0x7b7b, 0x7b7b } }, -+ { "1111::4444:5555:6666:7777:8888", STATUS_SUCCESS, 30, -+ { 0x1111, 0, 0, 0x4444, 0x5555, 0x6666, 0x7777, 0x8888 } }, -+ { "1111::5555:6666:123.123.123.123", STATUS_SUCCESS, 31, -+ { 0x1111, 0, 0, 0, 0x5555, 0x6666, 0x7b7b, 0x7b7b } }, -+ { "1111::5555:6666:7777:8888", STATUS_SUCCESS, 25, -+ { 0x1111, 0, 0, 0, 0x5555, 0x6666, 0x7777, 0x8888 } }, -+ { "1111::6666:123.123.123.123", STATUS_SUCCESS, 26, -+ { 0x1111, 0, 0, 0, 0, 0x6666, 0x7b7b, 0x7b7b } }, -+ { "1111::6666:7777:8888", STATUS_SUCCESS, 20, -+ { 0x1111, 0, 0, 0, 0, 0x6666, 0x7777, 0x8888 } }, -+ { "1111::7777:8888", STATUS_SUCCESS, 15, -+ { 0x1111, 0, 0, 0, 0, 0, 0x7777, 0x8888 } }, -+ { "1111::8888", STATUS_SUCCESS, 10, -+ { 0x1111, 0, 0, 0, 0, 0, 0, 0x8888 } }, -+ { "1:2:3:4:5:6:1.2.3.4", STATUS_SUCCESS, 19, -+ { 0x100, 0x200, 0x300, 0x400, 0x500, 0x600, 0x201, 0x403 } }, -+ { "1:2:3:4:5:6:7:8", STATUS_SUCCESS, 15, -+ { 0x100, 0x200, 0x300, 0x400, 0x500, 0x600, 0x700, 0x800 } }, -+ { "1:2:3:4:5:6::", STATUS_SUCCESS, 13, -+ { 0x100, 0x200, 0x300, 0x400, 0x500, 0x600, 0, 0 } }, -+ { "1:2:3:4:5:6::8", STATUS_SUCCESS, 14, -+ { 0x100, 0x200, 0x300, 0x400, 0x500, 0x600, 0, 0x800 } }, -+ { "2001:0000:1234:0000:0000:C1C0:ABCD:0876", STATUS_SUCCESS, 39, -+ { 0x120, 0, 0x3412, 0, 0, 0xc0c1, 0xcdab, 0x7608 } }, -+ { "2001:0000:4136:e378:8000:63bf:3fff:fdd2", STATUS_SUCCESS, 39, -+ { 0x120, 0, 0x3641, 0x78e3, 0x80, 0xbf63, 0xff3f, 0xd2fd } }, -+ { "2001:0db8:0:0:0:0:1428:57ab", STATUS_SUCCESS, 27, -+ { 0x120, 0xb80d, 0, 0, 0, 0, 0x2814, 0xab57 } }, -+ { "2001:0db8:1234:ffff:ffff:ffff:ffff:ffff", STATUS_SUCCESS, 39, -+ { 0x120, 0xb80d, 0x3412, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff } }, -+ { "2001::CE49:7601:2CAD:DFFF:7C94:FFFE", STATUS_SUCCESS, 35, -+ { 0x120, 0, 0x49ce, 0x176, 0xad2c, 0xffdf, 0x947c, 0xfeff } }, -+ { "2001:db8:85a3::8a2e:370:7334", STATUS_SUCCESS, 28, -+ { 0x120, 0xb80d, 0xa385, 0, 0, 0x2e8a, 0x7003, 0x3473 } }, -+ { "3ffe:0b00:0000:0000:0001:0000:0000:000a", STATUS_SUCCESS, 39, -+ { 0xfe3f, 0xb, 0, 0, 0x100, 0, 0, 0xa00 } }, -+ { "::", STATUS_SUCCESS, 2, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "::%16", STATUS_SUCCESS, 2, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "::/16", STATUS_SUCCESS, 2, -+ { 0, 0, 0, 0, 0, 0, 0, 0 }, ex_fail_6 }, -+ { "::0", STATUS_SUCCESS, 3, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "::0:0", STATUS_SUCCESS, 5, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "::0:0:0", STATUS_SUCCESS, 7, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "::0:0:0:0", STATUS_SUCCESS, 9, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "::0:0:0:0:0", STATUS_SUCCESS, 11, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ { "::0:0:0:0:0:0", STATUS_SUCCESS, 13, -+ { 0, 0, 0, 0, 0, 0, 0, 0 } }, -+ /* this one and the next one are incorrectly parsed by windows, -+ it adds one zero too many in front, cutting off the last digit. */ -+ { "::0:0:0:0:0:0:0", STATUS_SUCCESS, 13, -+ { 0, 0, 0, 0, 0, 0, 0, 0 }, ex_fail_6 }, -+ { "::0:a:b:c:d:e:f", STATUS_SUCCESS, 13, -+ { 0, 0, 0, 0xa00, 0xb00, 0xc00, 0xd00, 0xe00 }, ex_fail_6 }, -+ { "::123.123.123.123", STATUS_SUCCESS, 17, -+ { 0, 0, 0, 0, 0, 0, 0x7b7b, 0x7b7b } }, -+ { "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", STATUS_SUCCESS, 39, -+ { 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff } }, -+ -+ { "':10.0.0.1", STATUS_INVALID_PARAMETER, 0, -+ { -1 } }, -+ { "-1", STATUS_INVALID_PARAMETER, 0, -+ { -1 } }, -+ { "02001:0000:1234:0000:0000:C1C0:ABCD:0876", STATUS_INVALID_PARAMETER, -1, -+ { -1 } }, -+ { "2001:00000:1234:0000:0000:C1C0:ABCD:0876", STATUS_INVALID_PARAMETER, -1, -+ { 0x120, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "2001:0000:01234:0000:0000:C1C0:ABCD:0876", STATUS_INVALID_PARAMETER, -1, -+ { 0x120, 0, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1.2.3.4", STATUS_INVALID_PARAMETER, 7, -+ { 0x201, 0xab03, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1.2.3.4:1111::5555", STATUS_INVALID_PARAMETER, 7, -+ { 0x201, 0xab03, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1.2.3.4::5555", STATUS_INVALID_PARAMETER, 7, -+ { 0x201, 0xab03, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "11112222:3333:4444:5555:6666:1.2.3.4", STATUS_INVALID_PARAMETER, -1, -+ { -1 } }, -+ { "11112222:3333:4444:5555:6666:7777:8888", STATUS_INVALID_PARAMETER, -1, -+ { -1 } }, -+ { "1111", STATUS_INVALID_PARAMETER, 4, -+ { -1 } }, -+ { "1111:22223333:4444:5555:6666:1.2.3.4", STATUS_INVALID_PARAMETER, -1, -+ { 0x1111, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1111:22223333:4444:5555:6666:7777:8888", STATUS_INVALID_PARAMETER, -1, -+ { 0x1111, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1111:2222:", STATUS_INVALID_PARAMETER, 10, -+ { 0x1111, 0x2222, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1111:2222:1.2.3.4", STATUS_INVALID_PARAMETER, 17, -+ { 0x1111, 0x2222, 0x201, 0xab03, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1111:2222:3333", STATUS_INVALID_PARAMETER, 14, -+ { 0x1111, 0x2222, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1111:2222:3333:4444:5555:6666:7777:1.2.3.4", STATUS_SUCCESS, 36, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0x7777, 0x100 }, ex_fail_6 }, -+ { "1111:2222:3333:4444:5555:6666:7777:8888:", STATUS_SUCCESS, 39, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0x7777, 0x8888 }, ex_fail_6 }, -+ { "1111:2222:3333:4444:5555:6666:7777:8888:1.2.3.4",STATUS_SUCCESS, 39, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0x7777, 0x8888 }, ex_fail_6 }, -+ { "1111:2222:3333:4444:5555:6666:7777:8888:9999", STATUS_SUCCESS, 39, -+ { 0x1111, 0x2222, 0x3333, 0x4444, 0x5555, 0x6666, 0x7777, 0x8888 }, ex_fail_6 }, -+ { "1111:2222:::", STATUS_SUCCESS, 11, -+ { 0x1111, 0x2222, 0, 0, 0, 0, 0, 0 }, ex_fail_6 }, -+ { "1111::5555:", STATUS_INVALID_PARAMETER, 11, -+ { 0x1111, 0x5555, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1111::3333:4444:5555:6666:7777::", STATUS_SUCCESS, 30, -+ { 0x1111, 0, 0, 0x3333, 0x4444, 0x5555, 0x6666, 0x7777 }, ex_fail_6 }, -+ { "1111:2222:::4444:5555:6666:1.2.3.4", STATUS_SUCCESS, 11, -+ { 0x1111, 0x2222, 0, 0, 0, 0, 0, 0 }, ex_fail_6 }, -+ { "1111::3333::5555:6666:1.2.3.4", STATUS_SUCCESS, 10, -+ { 0x1111, 0, 0, 0, 0, 0, 0, 0x3333 }, ex_fail_6 }, -+ { "12345::6:7:8", STATUS_INVALID_PARAMETER, -1, -+ { -1 } }, -+ { "1::1.2.256.4", STATUS_INVALID_PARAMETER, -1, -+ { 0x100, 0x201, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::1.2.3.256", STATUS_INVALID_PARAMETER, 12, -+ { 0x100, 0x201, 0xab03, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::1.2.3.300", STATUS_INVALID_PARAMETER, 12, -+ { 0x100, 0x201, 0xab03, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::1.2::1", STATUS_INVALID_PARAMETER, 6, -+ { 0x100, 0xab01, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::1.2.3.4::1", STATUS_SUCCESS, 10, -+ { 0x100, 0, 0, 0, 0, 0, 0x201, 0x403 }, ex_fail_6 }, -+ { "1::1.", STATUS_INVALID_PARAMETER, 5, -+ { 0x100, 0xab01, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::1.2", STATUS_INVALID_PARAMETER, 6, -+ { 0x100, 0xab01, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::1.2.", STATUS_INVALID_PARAMETER, 7, -+ { 0x100, 0x201, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::1.2.3", STATUS_INVALID_PARAMETER, 8, -+ { 0x100, 0x201, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::1.2.3.", STATUS_INVALID_PARAMETER, 9, -+ { 0x100, 0x201, 0xab03, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::1.2.3.4", STATUS_SUCCESS, 10, -+ { 0x100, 0, 0, 0, 0, 0, 0x201, 0x403 } }, -+ { "1::1.2.3.900", STATUS_INVALID_PARAMETER, 12, -+ { 0x100, 0x201, 0xab03, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::1.2.300.4", STATUS_INVALID_PARAMETER, -1, -+ { 0x100, 0x201, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::1.256.3.4", STATUS_INVALID_PARAMETER, -1, -+ { 0x100, 0xab01, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::256.2.3.4", STATUS_INVALID_PARAMETER, -1, -+ { 0x100, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "1::2::3", STATUS_SUCCESS, 4, -+ { 0x100, 0, 0, 0, 0, 0, 0, 0x200 }, ex_fail_6 }, -+ { "2001:0000:1234: 0000:0000:C1C0:ABCD:0876", STATUS_INVALID_PARAMETER, 15, -+ { 0x120, 0, 0x3412, 0xabab, 0xabab, 0xabab, 0xabab, 0xabab } }, -+ { "2001:0000:1234:0000:0000:C1C0:ABCD:0876 0", STATUS_SUCCESS, 39, -+ { 0x120, 0, 0x3412, 0, 0, 0xc0c1, 0xcdab, 0x7608 }, ex_fail_6 }, -+ { "2001:1:1:1:1:1:255Z255X255Y255", STATUS_INVALID_PARAMETER, 18, -+ { 0x120, 0x100, 0x100, 0x100, 0x100, 0x100, 0xabab, 0xabab } }, -+ { "2001::FFD3::57ab", STATUS_SUCCESS, 10, -+ { 0x120, 0, 0, 0, 0, 0, 0, 0xd3ff }, ex_fail_6 }, -+ { ":", STATUS_INVALID_PARAMETER, 0, -+ { -1 } }, -+ { ":1111:2222:3333:4444:5555:6666:1.2.3.4", STATUS_INVALID_PARAMETER, 0, -+ { -1 } }, -+ { ":1111:2222:3333:4444:5555:6666:7777:8888", STATUS_INVALID_PARAMETER, 0, -+ { -1 } }, -+ { ":1111::", STATUS_INVALID_PARAMETER, 0, -+ { -1 } }, -+ { "::-1", STATUS_SUCCESS, 2, -+ { 0, 0, 0, 0, 0, 0, 0, 0 }, ex_fail_6 }, -+ { "::.", STATUS_SUCCESS, 2, -+ { 0, 0, 0, 0, 0, 0, 0, 0 }, ex_fail_6 }, -+ { "::..", STATUS_SUCCESS, 2, -+ { 0, 0, 0, 0, 0, 0, 0, 0 }, ex_fail_6 }, -+ { "::...", STATUS_SUCCESS, 2, -+ { 0, 0, 0, 0, 0, 0, 0, 0 }, ex_fail_6 }, -+ { "XXXX:XXXX:XXXX:XXXX:XXXX:XXXX:1.2.3.4", STATUS_INVALID_PARAMETER, 0, -+ { -1 } }, -+ { "[::]", STATUS_INVALID_PARAMETER, 0, -+ { -1 }, ex_skip_6 }, -+}; -+const unsigned int ipv6_testcount = sizeof(ipv6_tests) / sizeof(ipv6_tests[0]); -+ -+ -+static void init_ip6(IN6_ADDR* addr, const int src[8]) -+{ -+ unsigned int j; -+ if (!src || src[0] == -1) -+ { -+ for (j = 0; j < 8; ++j) -+ addr->s6_words[j] = 0xabab; -+ } -+ else -+ { -+ for (j = 0; j < 8; ++j) -+ addr->s6_words[j] = src[j]; -+ } -+} -+ -+static void compare_RtlIpv6StringToAddressW(PCSTR name_a, int terminator_offset_a, -+ const struct in6_addr *addr_a, NTSTATUS res_a) -+{ -+ WCHAR name[512]; -+ NTSTATUS res; -+ IN6_ADDR ip; -+ PCWSTR terminator; -+ -+ if (!pRtlIpv6StringToAddressW) -+ return; -+ -+ pRtlMultiByteToUnicodeN(name, sizeof(name), NULL, name_a, strlen(name_a) + 1); -+ -+ init_ip6(&ip, NULL); -+ terminator = (void *)0xdeadbeef; -+ res = pRtlIpv6StringToAddressW(name, &terminator, &ip); -+ ok(res == res_a, "[W:%s] res = 0x%08x, expected 0x%08x\n", name_a, res, res_a); -+ -+ if (terminator_offset_a < 0) -+ { -+ ok(terminator == (void *)0xdeadbeef, -+ "[W:%s] terminator = %p, expected it not to change\n", -+ name_a, terminator); -+ } -+ else -+ { -+ ok(terminator == name + terminator_offset_a, -+ "[W:%s] terminator = %p, expected %p\n", -+ name_a, terminator, name + terminator_offset_a); -+ } -+ -+ ok(!memcmp(&ip, addr_a, sizeof(ip)), -+ "[W:%s] ip = %x:%x:%x:%x:%x:%x:%x:%x, expected %x:%x:%x:%x:%x:%x:%x:%x\n", -+ name_a, -+ ip.s6_words[0], ip.s6_words[1], ip.s6_words[2], ip.s6_words[3], -+ ip.s6_words[4], ip.s6_words[5], ip.s6_words[6], ip.s6_words[7], -+ addr_a->s6_words[0], addr_a->s6_words[1], addr_a->s6_words[2], addr_a->s6_words[3], -+ addr_a->s6_words[4], addr_a->s6_words[5], addr_a->s6_words[6], addr_a->s6_words[7]); -+} -+ -+static void test_RtlIpv6StringToAddress(void) -+{ -+ NTSTATUS res; -+ IN6_ADDR ip, expected_ip; -+ PCSTR terminator; -+ unsigned int i; -+ -+ if (!pRtlIpv6StringToAddressW) -+ { -+ skip("RtlIpv6StringToAddressW not available\n"); -+ /* we can continue, just not test W */ -+ } -+ -+ if (!pRtlIpv6StringToAddressA) -+ { -+ skip("RtlIpv6StringToAddressA not available\n"); -+ return; /* all tests are centered around A, we cannot continue */ -+ } -+ -+ res = pRtlIpv6StringToAddressA("::", &terminator, &ip); -+ ok(res == STATUS_SUCCESS, "[validate] res = 0x%08x, expected STATUS_SUCCESS\n", res); -+ if (0) -+ { -+ /* any of these crash */ -+ res = pRtlIpv6StringToAddressA(NULL, &terminator, &ip); -+ ok(res == STATUS_INVALID_PARAMETER, "[null string] res = 0x%08x, expected STATUS_INVALID_PARAMETER\n", res); -+ res = pRtlIpv6StringToAddressA("::", NULL, &ip); -+ ok(res == STATUS_INVALID_PARAMETER, "[null terminator] res = 0x%08x, expected STATUS_INVALID_PARAMETER\n", res); -+ res = pRtlIpv6StringToAddressA("::", &terminator, NULL); -+ ok(res == STATUS_INVALID_PARAMETER, "[null result] res = 0x%08x, expected STATUS_INVALID_PARAMETER\n", res); -+ } -+ -+ /* sanity check */ -+ ok(sizeof(ip) == sizeof(USHORT)* 8, "sizeof(ip)\n"); -+ -+ for (i = 0; i < ipv6_testcount; i++) -+ { -+ init_ip6(&ip, NULL); -+ terminator = (void *)0xdeadbeef; -+ res = pRtlIpv6StringToAddressA(ipv6_tests[i].address, &terminator, &ip); -+ compare_RtlIpv6StringToAddressW(ipv6_tests[i].address, (terminator != (void *)0xdeadbeef) ? -+ (terminator - ipv6_tests[i].address) : -1, &ip, res); -+ -+ if (ipv6_tests[i].flags & win_broken_6) -+ { -+ ok(res == ipv6_tests[i].res || broken(res == STATUS_INVALID_PARAMETER), -+ "[%s] res = 0x%08x, expected 0x%08x\n", -+ ipv6_tests[i].address, res, ipv6_tests[i].res); -+ -+ if (res == STATUS_INVALID_PARAMETER) -+ continue; -+ } -+ else -+ { -+ ok(res == ipv6_tests[i].res, -+ "[%s] res = 0x%08x, expected 0x%08x\n", -+ ipv6_tests[i].address, res, ipv6_tests[i].res); -+ } -+ -+ if (ipv6_tests[i].terminator_offset < 0) -+ { -+ ok(terminator == (void *)0xdeadbeef, -+ "[%s] terminator = %p, expected it not to change\n", -+ ipv6_tests[i].address, terminator); -+ } -+ else if (ipv6_tests[i].flags & win_broken_6) -+ { -+ PCSTR expected = ipv6_tests[i].address + ipv6_tests[i].terminator_offset; -+ ok(terminator == expected || broken(terminator == expected + 2), -+ "[%s] terminator = %p, expected %p\n", -+ ipv6_tests[i].address, terminator, expected); -+ } -+ else -+ { -+ ok(terminator == ipv6_tests[i].address + ipv6_tests[i].terminator_offset, -+ "[%s] terminator = %p, expected %p\n", -+ ipv6_tests[i].address, terminator, ipv6_tests[i].address + ipv6_tests[i].terminator_offset); -+ } -+ -+ init_ip6(&expected_ip, ipv6_tests[i].ip); -+ ok(!memcmp(&ip, &expected_ip, sizeof(ip)), -+ "[%s] ip = %x:%x:%x:%x:%x:%x:%x:%x, expected %x:%x:%x:%x:%x:%x:%x:%x\n", -+ ipv6_tests[i].address, -+ ip.s6_words[0], ip.s6_words[1], ip.s6_words[2], ip.s6_words[3], -+ ip.s6_words[4], ip.s6_words[5], ip.s6_words[6], ip.s6_words[7], -+ expected_ip.s6_words[0], expected_ip.s6_words[1], expected_ip.s6_words[2], expected_ip.s6_words[3], -+ expected_ip.s6_words[4], expected_ip.s6_words[5], expected_ip.s6_words[6], expected_ip.s6_words[7]); -+ } -+} -+ - static void test_LdrAddRefDll(void) - { - HMODULE mod, mod2; -@@ -2155,6 +2584,7 @@ START_TEST(rtl) - test_RtlIpv4AddressToString(); - test_RtlIpv4AddressToStringEx(); - test_RtlIpv4StringToAddress(); -+ test_RtlIpv6StringToAddress(); - test_LdrAddRefDll(); - test_LdrLockLoaderLock(); - test_RtlCompressBuffer(); --- -2.6.4 - diff --git a/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch b/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch index 67c2c4ae..0260f91a 100644 --- a/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch +++ b/patches/ntdll-RtlQueryPackageIdentity/0003-ntdll-tests-Add-basic-tests-for-RtlQueryPackageIdent.patch @@ -1,4 +1,4 @@ -From b7b1ff9a632ed7c9ea38bce977a7b754526adb1c Mon Sep 17 00:00:00 2001 +From 20ab5002c02f1c11a9e4f8c03555f7c40939c3bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 17 Jan 2016 00:50:50 +0100 Subject: [PATCH] ntdll/tests: Add basic tests for RtlQueryPackageIdentity. @@ -20,12 +20,12 @@ index a1b8588..c5c5191 100644 C_SRCS = \ atom.c \ diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c -index 881bc1a..5862140 100644 +index ec12ea2..143e603 100644 --- a/dlls/ntdll/tests/rtl.c +++ b/dlls/ntdll/tests/rtl.c -@@ -25,6 +25,9 @@ - +@@ -26,6 +26,9 @@ #include "ntdll_test.h" + #include "in6addr.h" #include "inaddr.h" +#include "initguid.h" +#define COBJMACROS @@ -33,7 +33,7 @@ index 881bc1a..5862140 100644 #ifndef __WINE_WINTERNL_H -@@ -99,6 +102,7 @@ static BOOL (WINAPI *pRtlIsCriticalSectionLocked)(CRITICAL_SECTION *); +@@ -103,6 +106,7 @@ static BOOL (WINAPI *pRtlIsCriticalSectionLocked)(CRITICAL_SECTION *); static BOOL (WINAPI *pRtlIsCriticalSectionLockedByThread)(CRITICAL_SECTION *); static NTSTATUS (WINAPI *pRtlInitializeCriticalSectionEx)(CRITICAL_SECTION *, ULONG, ULONG); static NTSTATUS (WINAPI *pLdrEnumerateLoadedModules)(void *, void *, void *); @@ -41,7 +41,7 @@ index 881bc1a..5862140 100644 static NTSTATUS (WINAPI *pRtlMakeSelfRelativeSD)(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD); static NTSTATUS (WINAPI *pRtlAbsoluteToSelfRelativeSD)(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PULONG); static NTSTATUS (WINAPI *pLdrRegisterDllNotification)(ULONG, PLDR_DLL_NOTIFICATION_FUNCTION, void *, void **); -@@ -162,6 +166,7 @@ static void InitFunctionPtrs(void) +@@ -169,6 +173,7 @@ static void InitFunctionPtrs(void) pRtlIsCriticalSectionLockedByThread = (void *)GetProcAddress(hntdll, "RtlIsCriticalSectionLockedByThread"); pRtlInitializeCriticalSectionEx = (void *)GetProcAddress(hntdll, "RtlInitializeCriticalSectionEx"); pLdrEnumerateLoadedModules = (void *)GetProcAddress(hntdll, "LdrEnumerateLoadedModules"); @@ -49,7 +49,7 @@ index 881bc1a..5862140 100644 pRtlMakeSelfRelativeSD = (void *)GetProcAddress(hntdll, "RtlMakeSelfRelativeSD"); pRtlAbsoluteToSelfRelativeSD = (void *)GetProcAddress(hntdll, "RtlAbsoluteToSelfRelativeSD"); pLdrRegisterDllNotification = (void *)GetProcAddress(hntdll, "LdrRegisterDllNotification"); -@@ -2517,6 +2522,76 @@ static void test_LdrRegisterDllNotification(void) +@@ -2946,6 +2951,76 @@ static void test_LdrRegisterDllNotification(void) pLdrUnregisterDllNotification(cookie); } @@ -126,7 +126,7 @@ index 881bc1a..5862140 100644 START_TEST(rtl) { InitFunctionPtrs(); -@@ -2550,6 +2625,7 @@ START_TEST(rtl) +@@ -2980,6 +3055,7 @@ START_TEST(rtl) test_RtlInitializeCriticalSectionEx(); test_RtlLeaveCriticalSection(); test_LdrEnumerateLoadedModules(); diff --git a/patches/ntoskrnl-Stubs/0007-ntoskrnl.exe-Improve-KeInitializeTimerEx-stub.patch b/patches/ntoskrnl-Stubs/0007-ntoskrnl.exe-Improve-KeInitializeTimerEx-stub.patch deleted file mode 100644 index 1d84d928..00000000 --- a/patches/ntoskrnl-Stubs/0007-ntoskrnl.exe-Improve-KeInitializeTimerEx-stub.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 9d314bb031e123beffa43f5b5f47ce6deda25cf4 Mon Sep 17 00:00:00 2001 -From: Alexander Morozov -Date: Fri, 30 Jan 2015 00:33:55 +0100 -Subject: ntoskrnl.exe: Improve KeInitializeTimerEx stub. - ---- - dlls/ntoskrnl.exe/ntoskrnl.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c -index 36331a1..c3a7e2a 100644 ---- a/dlls/ntoskrnl.exe/ntoskrnl.c -+++ b/dlls/ntoskrnl.exe/ntoskrnl.c -@@ -1387,6 +1387,9 @@ void WINAPI KeInitializeSpinLock( PKSPIN_LOCK SpinLock ) - void WINAPI KeInitializeTimerEx( PKTIMER Timer, TIMER_TYPE Type ) - { - FIXME( "stub: %p %d\n", Timer, Type ); -+ -+ RtlZeroMemory(Timer, sizeof(KTIMER)); -+ Timer->Header.Type = Type ? 9 : 8; - } - - --- -2.2.2 - diff --git a/patches/ntoskrnl-Stubs/0013-ntoskrnl.exe-Implement-NtBuildNumber.patch b/patches/ntoskrnl-Stubs/0013-ntoskrnl.exe-Implement-NtBuildNumber.patch index 207f5c8a..4bcd9b9a 100644 --- a/patches/ntoskrnl-Stubs/0013-ntoskrnl.exe-Implement-NtBuildNumber.patch +++ b/patches/ntoskrnl-Stubs/0013-ntoskrnl.exe-Implement-NtBuildNumber.patch @@ -1,7 +1,7 @@ -From 6b77a809cc81c22fced7c970c1c43a5f5426184b Mon Sep 17 00:00:00 2001 +From 44e38cce5a02a0a5db60316270f33974f8d89400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Tue, 6 Jun 2017 21:08:51 +0200 -Subject: ntoskrnl.exe: Implement NtBuildNumber. +Subject: [PATCH] ntoskrnl.exe: Implement NtBuildNumber. --- dlls/ntoskrnl.exe/ntoskrnl.c | 11 +++++++++-- @@ -10,7 +10,7 @@ Subject: ntoskrnl.exe: Implement NtBuildNumber. 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c -index ae699dc..21507dc 100644 +index 958bcdf..343033d 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -52,6 +52,7 @@ WINE_DECLARE_DEBUG_CHANNEL(plugplay); @@ -53,7 +53,7 @@ index ae699dc..21507dc 100644 case DLL_PROCESS_DETACH: if (reserved) break; diff --git a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec -index a572399..0fc9256 100644 +index 5df4ae3..00d09dd 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.exe.spec +++ b/dlls/ntoskrnl.exe/ntoskrnl.exe.spec @@ -743,7 +743,7 @@ @@ -66,7 +66,7 @@ index a572399..0fc9256 100644 @ stdcall NtConnectPort(ptr ptr ptr ptr ptr ptr ptr ptr) @ stdcall NtCreateEvent(ptr long ptr long long) diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c -index 06b365f..71d2491 100644 +index cde78e5..f4bdb0b 100644 --- a/dlls/ntoskrnl.exe/tests/driver.c +++ b/dlls/ntoskrnl.exe/tests/driver.c @@ -143,6 +143,22 @@ static void winetest_end_todo(void) @@ -92,8 +92,8 @@ index 06b365f..71d2491 100644 static void test_currentprocess(void) { PEPROCESS current; -@@ -172,6 +188,19 @@ todo_wine - IoFreeMdl(mdl); +@@ -187,6 +203,19 @@ static void test_init_funcs(void) + ok(timer2.Header.SignalState == 0, "got: %u\n", timer2.Header.SignalState); } +static void test_version(void) @@ -112,14 +112,14 @@ index 06b365f..71d2491 100644 static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info) { ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength; -@@ -197,6 +226,7 @@ static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info) - +@@ -213,6 +242,7 @@ static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info) test_currentprocess(); test_mdl_map(); + test_init_funcs(); + test_version(); /* print process report */ if (test_input->winetest_debug) -- -2.7.4 +1.9.1 diff --git a/patches/ntoskrnl-Stubs/0014-ntoskrnl.exe-Implement-ExInitializeNPagedLookasideLi.patch b/patches/ntoskrnl-Stubs/0014-ntoskrnl.exe-Implement-ExInitializeNPagedLookasideLi.patch index 53732687..9f3dfd90 100644 --- a/patches/ntoskrnl-Stubs/0014-ntoskrnl.exe-Implement-ExInitializeNPagedLookasideLi.patch +++ b/patches/ntoskrnl-Stubs/0014-ntoskrnl.exe-Implement-ExInitializeNPagedLookasideLi.patch @@ -1,7 +1,7 @@ -From e4a32c13ea03d6bfc08f78d93b517d612005a395 Mon Sep 17 00:00:00 2001 +From 95d5fbf3bf582fb219d2de40c829a5c18fb27726 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Tue, 6 Jun 2017 23:42:56 +0200 -Subject: ntoskrnl.exe: Implement ExInitializeNPagedLookasideList. +Subject: [PATCH] ntoskrnl.exe: Implement ExInitializeNPagedLookasideList. --- dlls/ntoskrnl.exe/ntoskrnl.c | 19 +++++++++- @@ -11,7 +11,7 @@ Subject: ntoskrnl.exe: Implement ExInitializeNPagedLookasideList. 4 files changed, 127 insertions(+), 7 deletions(-) diff --git a/dlls/ntoskrnl.exe/ntoskrnl.c b/dlls/ntoskrnl.exe/ntoskrnl.c -index 21507dc..a865cd8 100644 +index 343033d..9fd7231 100644 --- a/dlls/ntoskrnl.exe/ntoskrnl.c +++ b/dlls/ntoskrnl.exe/ntoskrnl.c @@ -1814,7 +1814,24 @@ void WINAPI ExInitializeNPagedLookasideList(PNPAGED_LOOKASIDE_LIST Lookaside, @@ -41,7 +41,7 @@ index 21507dc..a865cd8 100644 /*********************************************************************** diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c -index 5fe997a..1ef27fb 100644 +index f4bdb0b..f56e2dd 100644 --- a/dlls/ntoskrnl.exe/tests/driver.c +++ b/dlls/ntoskrnl.exe/tests/driver.c @@ -22,6 +22,9 @@ @@ -54,7 +54,7 @@ index 5fe997a..1ef27fb 100644 #include "ntstatus.h" #define WIN32_NO_STATUS #include "windef.h" -@@ -201,6 +204,33 @@ static void test_version(void) +@@ -216,6 +219,33 @@ static void test_version(void) return; } @@ -88,15 +88,15 @@ index 5fe997a..1ef27fb 100644 static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info) { ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength; -@@ -227,6 +257,7 @@ static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info) - test_currentprocess(); +@@ -243,6 +273,7 @@ static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info) test_mdl_map(); + test_init_funcs(); test_version(); + test_lookaside_list(); /* print process report */ if (test_input->winetest_debug) -@@ -261,7 +292,7 @@ static NTSTATUS test_basic_ioctl(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR * +@@ -277,7 +308,7 @@ static NTSTATUS test_basic_ioctl(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR * static NTSTATUS WINAPI driver_Create(DEVICE_OBJECT *device, IRP *irp) { @@ -105,7 +105,7 @@ index 5fe997a..1ef27fb 100644 IoCompleteRequest(irp, IO_NO_INCREMENT); return STATUS_SUCCESS; } -@@ -283,14 +314,14 @@ static NTSTATUS WINAPI driver_IoControl(DEVICE_OBJECT *device, IRP *irp) +@@ -299,14 +330,14 @@ static NTSTATUS WINAPI driver_IoControl(DEVICE_OBJECT *device, IRP *irp) break; } @@ -123,7 +123,7 @@ index 5fe997a..1ef27fb 100644 return STATUS_SUCCESS; } diff --git a/include/ddk/wdm.h b/include/ddk/wdm.h -index d6b808f..b43ec62 100644 +index 5abe18b..175c07d 100644 --- a/include/ddk/wdm.h +++ b/include/ddk/wdm.h @@ -144,20 +144,18 @@ typedef enum _KWAIT_REASON @@ -244,7 +244,7 @@ index d6b808f..b43ec62 100644 PSLIST_ENTRY WINAPI ExInterlockedPushEntrySList(PSLIST_HEADER,PSLIST_ENTRY,PKSPIN_LOCK); void WINAPI ExReleaseFastMutexUnsafe(PFAST_MUTEX); diff --git a/include/winnt.h b/include/winnt.h -index b309929..d7694ab 100644 +index 45c3222..719cf84 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -755,6 +755,8 @@ typedef struct _MEMORY_BASIC_INFORMATION @@ -257,5 +257,5 @@ index b309929..d7694ab 100644 #ifdef __GNUC__ # define CONTAINING_RECORD(address, type, field) ({ \ -- -2.7.4 +1.9.1 diff --git a/patches/oleaut32-Load_Save_EMF/0002-oleaut32-Add-support-for-loading-and-saving-EMF-to-I.patch b/patches/oleaut32-Load_Save_EMF/0002-oleaut32-Add-support-for-loading-and-saving-EMF-to-I.patch index d85ec2b0..fc385537 100644 --- a/patches/oleaut32-Load_Save_EMF/0002-oleaut32-Add-support-for-loading-and-saving-EMF-to-I.patch +++ b/patches/oleaut32-Load_Save_EMF/0002-oleaut32-Add-support-for-loading-and-saving-EMF-to-I.patch @@ -1,17 +1,17 @@ -From a7d49a0453ce0947b66f881e7c0e2966bf5549bc Mon Sep 17 00:00:00 2001 +From c0c14c70039d65f61a73d37950f72d8c66bbc2f0 Mon Sep 17 00:00:00 2001 From: Dmitry Timoshkov Date: Tue, 26 Apr 2016 13:15:41 +0800 -Subject: oleaut32: Add support for loading and saving EMF to IPicture +Subject: [PATCH] oleaut32: Add support for loading and saving EMF to IPicture interface. For bug #40523. --- - dlls/oleaut32/olepicture.c | 52 +++++++++++++++++++++++++++++++++++++--- + dlls/oleaut32/olepicture.c | 51 ++++++++++++++++++++++++++++++++++++---- dlls/oleaut32/tests/olepicture.c | 5 +--- - 2 files changed, 50 insertions(+), 7 deletions(-) + 2 files changed, 47 insertions(+), 9 deletions(-) diff --git a/dlls/oleaut32/olepicture.c b/dlls/oleaut32/olepicture.c -index 96c109a..b82031d 100644 +index a2a54bd..3fd7638 100644 --- a/dlls/oleaut32/olepicture.c +++ b/dlls/oleaut32/olepicture.c @@ -266,6 +266,18 @@ static void OLEPictureImpl_SetIcon(OLEPictureImpl * This) @@ -33,19 +33,17 @@ index 96c109a..b82031d 100644 /************************************************************************ * OLEPictureImpl_Construct * -@@ -346,7 +358,11 @@ static OLEPictureImpl* OLEPictureImpl_Construct(LPPICTDESC pictDesc, BOOL fOwn) - case PICTYPE_ICON: - OLEPictureImpl_SetIcon(newObject); +@@ -349,8 +361,7 @@ static HRESULT OLEPictureImpl_Construct(LPPICTDESC pictDesc, BOOL fOwn, OLEPictu break; -+ + case PICTYPE_ENHMETAFILE: +- FIXME("EMF is not supported\n"); +- newObject->himetricWidth = newObject->himetricHeight = 0; + OLEPictureImpl_SetEMF(newObject); -+ break; -+ + break; + default: - FIXME("Unsupported type %d\n", pictDesc->picType); - newObject->himetricWidth = newObject->himetricHeight = 0; -@@ -1761,6 +1777,17 @@ static BOOL serializeIcon(HICON hIcon, void ** ppBuffer, unsigned int * pLength) +@@ -1758,6 +1769,17 @@ static BOOL serializeIcon(HICON hIcon, void ** ppBuffer, unsigned int * pLength) return success; } @@ -63,7 +61,7 @@ index 96c109a..b82031d 100644 static HRESULT WINAPI OLEPictureImpl_Save( IPersistStream* iface,IStream*pStm,BOOL fClearDirty) { -@@ -1836,12 +1863,31 @@ static HRESULT WINAPI OLEPictureImpl_Save( +@@ -1833,12 +1855,31 @@ static HRESULT WINAPI OLEPictureImpl_Save( IStream_Write(pStm, This->data, This->datalen, &dummy); hResult = S_OK; break; @@ -99,10 +97,10 @@ index 96c109a..b82031d 100644 FIXME("(%p,%p,%d), [unknown type] not implemented!\n",This,pStm,fClearDirty); break; diff --git a/dlls/oleaut32/tests/olepicture.c b/dlls/oleaut32/tests/olepicture.c -index de45603..7503265 100644 +index 2498910..dcbd088 100644 --- a/dlls/oleaut32/tests/olepicture.c +++ b/dlls/oleaut32/tests/olepicture.c -@@ -1372,21 +1372,18 @@ todo_wine +@@ -1471,21 +1471,18 @@ todo_wine ok(hr == S_OK, "QueryInterface error %#x\n", hr); hr = IPersistStream_Save(src_stream, dst_stream, TRUE); @@ -126,5 +124,5 @@ index de45603..7503265 100644 GlobalFree(hmem); -- -2.8.0 +1.9.1 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index e8567038..76f18c58 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "80205232d3ece73d4cc6c7589cea893583aae0b1" + echo "8ef224fa43869a8c977921d6bec08863382d6e11" } # Show version information @@ -172,7 +172,6 @@ patch_enable_all () enable_kernel32_GetShortPathName="$1" enable_kernel32_Job_Tests="$1" enable_kernel32_K32GetPerformanceInfo="$1" - enable_kernel32_Misalign_Workaround="$1" enable_kernel32_MoveFile="$1" enable_kernel32_NeedCurrentDirectoryForExePath="$1" enable_kernel32_PE_Loader_Fixes="$1" @@ -195,7 +194,6 @@ patch_enable_all () enable_msi_MsiGetDatabaseState="$1" enable_msi_msi_vcl_get_cost="$1" enable_msidb_Implementation="$1" - enable_msvcr120__SetWinRTOutOfMemoryExceptionCallback="$1" enable_msvcrt_Math_Precision="$1" enable_msvfw32_ICGetDisplayFormat="$1" enable_ntdll_APC_Performance="$1" @@ -692,9 +690,6 @@ patch_enable () kernel32-K32GetPerformanceInfo) enable_kernel32_K32GetPerformanceInfo="$2" ;; - kernel32-Misalign_Workaround) - enable_kernel32_Misalign_Workaround="$2" - ;; kernel32-MoveFile) enable_kernel32_MoveFile="$2" ;; @@ -761,9 +756,6 @@ patch_enable () msidb-Implementation) enable_msidb_Implementation="$2" ;; - msvcr120-_SetWinRTOutOfMemoryExceptionCallback) - enable_msvcr120__SetWinRTOutOfMemoryExceptionCallback="$2" - ;; msvcrt-Math_Precision) enable_msvcrt_Math_Precision="$2" ;; @@ -2200,13 +2192,6 @@ if test "$enable_kernel32_Processor_Group" -eq 1; then enable_api_ms_win_Stub_DLLs=1 fi -if test "$enable_kernel32_PE_Loader_Fixes" -eq 1; then - if test "$enable_kernel32_Misalign_Workaround" -gt 1; then - abort "Patchset kernel32-Misalign_Workaround disabled, but kernel32-PE_Loader_Fixes depends on that." - fi - enable_kernel32_Misalign_Workaround=1 -fi - if test "$enable_kernel32_CopyFileEx" -eq 1; then if test "$enable_ntdll_FileDispositionInformation" -gt 1; then abort "Patchset ntdll-FileDispositionInformation disabled, but kernel32-CopyFileEx depends on that." @@ -4181,21 +4166,6 @@ if test "$enable_kernel32_K32GetPerformanceInfo" -eq 1; then ) >> "$patchlist" fi -# Patchset kernel32-Misalign_Workaround -# | -# | This patchset fixes the following Wine bugs: -# | * [#24374] Fill stack with meaningful values in call_process_entry mis-align workaround -# | -# | Modified files: -# | * dlls/kernel32/process.c -# | -if test "$enable_kernel32_Misalign_Workaround" -eq 1; then - patch_apply kernel32-Misalign_Workaround/0001-kernel32-Fill-stack-with-meaningful-values-in-call_p.patch - ( - printf '%s\n' '+ { "Sebastian Lackner", "kernel32: Fill stack with meaningful values in call_process_entry mis-align workaround.", 1 },'; - ) >> "$patchlist" -fi - # Patchset kernel32-MoveFile # | # | This patchset fixes the following Wine bugs: @@ -4245,9 +4215,6 @@ fi # Patchset kernel32-PE_Loader_Fixes # | -# | This patchset has the following (direct or indirect) dependencies: -# | * kernel32-Misalign_Workaround -# | # | This patchset fixes the following Wine bugs: # | * [#42125] Various PE loader fixes for 8k demos # | @@ -4594,21 +4561,6 @@ if test "$enable_msidb_Implementation" -eq 1; then ) >> "$patchlist" fi -# Patchset msvcr120-_SetWinRTOutOfMemoryExceptionCallback -# | -# | This patchset fixes the following Wine bugs: -# | * [#45394] Add stub for _SetWinRTOutOfMemoryExceptionCallback -# | -# | Modified files: -# | * dlls/msvcr120/msvcr120.spec, dlls/msvcr120_app/msvcr120_app.spec, dlls/msvcrt/misc.c -# | -if test "$enable_msvcr120__SetWinRTOutOfMemoryExceptionCallback" -eq 1; then - patch_apply msvcr120-_SetWinRTOutOfMemoryExceptionCallback/0001-msvcr120-Add-stub-for-_SetWinRTOutOfMemoryExceptionC.patch - ( - printf '%s\n' '+ { "Michael Müller", "msvcr120: Add stub for _SetWinRTOutOfMemoryExceptionCallback.", 1 },'; - ) >> "$patchlist" -fi - # Patchset msvcrt-Math_Precision # | # | This patchset fixes the following Wine bugs: @@ -5310,12 +5262,10 @@ fi # | * dlls/ntdll/tests/rtl.c # | if test "$enable_ntdll_RtlIpStringToAddress_Tests" -eq 1; then - patch_apply ntdll-RtlIpStringToAddress_Tests/0001-ntdll-tests-Tests-for-RtlIpv6StringToAddress-try-6.patch patch_apply ntdll-RtlIpStringToAddress_Tests/0002-ntdll-tests-Tests-for-RtlIpv6StringToAddressEx-try-6.patch patch_apply ntdll-RtlIpStringToAddress_Tests/0003-ntdll-tests-Tests-for-RtlIpv4StringToAddressEx-try-5.patch patch_apply ntdll-RtlIpStringToAddress_Tests/0004-ntdll-tests-Add-tests-for-RtlIpv6AddressToString-and.patch ( - printf '%s\n' '+ { "Mark Jansen", "ntdll/tests: Tests for RtlIpv6StringToAddress.", 6 },'; printf '%s\n' '+ { "Mark Jansen", "ntdll/tests: Tests for RtlIpv6StringToAddressEx.", 6 },'; printf '%s\n' '+ { "Mark Jansen", "ntdll/tests: Tests for RtlIpv4StringToAddressEx (try 5, resend).", 1 },'; printf '%s\n' '+ { "Mark Jansen", "ntdll/tests: Add tests for RtlIpv6AddressToString and RtlIpv6AddressToStringEx.", 1 },'; @@ -5508,7 +5458,6 @@ fi if test "$enable_ntoskrnl_Stubs" -eq 1; then patch_apply ntoskrnl-Stubs/0005-ntoskrnl.exe-Improve-KeReleaseMutex-stub.patch patch_apply ntoskrnl-Stubs/0006-ntoskrnl.exe-Improve-KeInitializeSemaphore-stub.patch - patch_apply ntoskrnl-Stubs/0007-ntoskrnl.exe-Improve-KeInitializeTimerEx-stub.patch patch_apply ntoskrnl-Stubs/0009-ntoskrnl.exe-Implement-MmMapLockedPages-and-MmUnmapL.patch patch_apply ntoskrnl-Stubs/0010-ntoskrnl.exe-Implement-KeInitializeMutex.patch patch_apply ntoskrnl-Stubs/0011-ntoskrnl.exe-Add-IoGetDeviceAttachmentBaseRef-stub.patch @@ -5517,7 +5466,6 @@ if test "$enable_ntoskrnl_Stubs" -eq 1; then ( printf '%s\n' '+ { "Alexander Morozov", "ntoskrnl.exe: Improve KeReleaseMutex stub.", 1 },'; printf '%s\n' '+ { "Alexander Morozov", "ntoskrnl.exe: Improve KeInitializeSemaphore stub.", 1 },'; - printf '%s\n' '+ { "Alexander Morozov", "ntoskrnl.exe: Improve KeInitializeTimerEx stub.", 1 },'; printf '%s\n' '+ { "Christian Costa", "ntoskrnl.exe: Implement MmMapLockedPages and MmUnmapLockedPages.", 1 },'; printf '%s\n' '+ { "Alexander Morozov", "ntoskrnl.exe: Implement KeInitializeMutex.", 1 },'; printf '%s\n' '+ { "Jarkko Korpi", "ntoskrnl.exe: Add IoGetDeviceAttachmentBaseRef stub.", 1 },'; diff --git a/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch b/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch index ce1397ec..47b65ba0 100644 --- a/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch +++ b/patches/winedevice-Default_Drivers/0004-programs-winedevice-Load-some-common-drivers-and-fix.patch @@ -1,7 +1,8 @@ -From 0b0d7c4983de54b3ca98a52a4afdd55c92a53031 Mon Sep 17 00:00:00 2001 +From 5eaebe8bd280d4a331911bfdc088b4f0e9b655b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 8 Jun 2017 23:50:03 +0200 -Subject: programs/winedevice: Load some common drivers and fix ldr order. +Subject: [PATCH] programs/winedevice: Load some common drivers and fix ldr + order. --- dlls/ntoskrnl.exe/tests/driver.c | 52 ++++++++++++++++++++++++++++++++++++++++ @@ -10,7 +11,7 @@ Subject: programs/winedevice: Load some common drivers and fix ldr order. 3 files changed, 79 insertions(+) diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c -index 1ef27fb..6bf2e76 100644 +index f56e2dd..c09099f 100644 --- a/dlls/ntoskrnl.exe/tests/driver.c +++ b/dlls/ntoskrnl.exe/tests/driver.c @@ -31,6 +31,7 @@ @@ -30,7 +31,7 @@ index 1ef27fb..6bf2e76 100644 static HANDLE okfile; static LONG successes; static LONG failures; -@@ -231,6 +234,52 @@ static void test_lookaside_list(void) +@@ -246,6 +249,52 @@ static void test_lookaside_list(void) ExDeleteNPagedLookasideList(&list); } @@ -83,15 +84,15 @@ index 1ef27fb..6bf2e76 100644 static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info) { ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength; -@@ -258,6 +307,7 @@ static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info) - test_mdl_map(); +@@ -274,6 +323,7 @@ static NTSTATUS main_test(IRP *irp, IO_STACK_LOCATION *stack, ULONG_PTR *info) + test_init_funcs(); test_version(); test_lookaside_list(); + test_default_modules(); /* print process report */ if (test_input->winetest_debug) -@@ -346,6 +396,8 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry) +@@ -362,6 +412,8 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry) DbgPrint("loading driver\n"); @@ -151,5 +152,5 @@ index fa8b268..aad5981 100644 if (!(stop_event = CreateEventW( NULL, TRUE, FALSE, NULL ))) return; -- -2.7.4 +1.9.1