From 4b41a20552d9da253514b71482df5f7ac11df206 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Tue, 10 Mar 2015 18:36:54 +0100 Subject: [PATCH] Change dependency order of ntdll-LZNT1_Compression and ntdll-RtlIpStringToAddress. --- ...tests-for-Rtl-Decompress-Compress-Bu.patch | 18 ++++----- patches/ntdll-LZNT1_Compression/definition | 1 - ...sts-for-RtlIpv6StringToAddress-try-6.patch | 24 +++++------ ...s-for-RtlIpv6StringToAddressEx-try-6.patch | 14 +++---- patches/ntdll-RtlIpStringToAddress/definition | 1 + patches/patchinstall.sh | 40 +++++++++---------- 6 files changed, 49 insertions(+), 49 deletions(-) create mode 100644 patches/ntdll-RtlIpStringToAddress/definition diff --git a/patches/ntdll-LZNT1_Compression/0004-ntdll-tests-Add-tests-for-Rtl-Decompress-Compress-Bu.patch b/patches/ntdll-LZNT1_Compression/0004-ntdll-tests-Add-tests-for-Rtl-Decompress-Compress-Bu.patch index 655bc086..aa490887 100644 --- a/patches/ntdll-LZNT1_Compression/0004-ntdll-tests-Add-tests-for-Rtl-Decompress-Compress-Bu.patch +++ b/patches/ntdll-LZNT1_Compression/0004-ntdll-tests-Add-tests-for-Rtl-Decompress-Compress-Bu.patch @@ -1,4 +1,4 @@ -From 6b246b16957c097a43fa5b37399cd97a24ad045b Mon Sep 17 00:00:00 2001 +From ec029295815e271cfaf193997cdde3cf53df4a3b Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Thu, 30 Oct 2014 17:41:11 +0100 Subject: ntdll/tests: Add tests for Rtl[Decompress|Compress]Buffer and @@ -9,13 +9,13 @@ Subject: ntdll/tests: Add tests for Rtl[Decompress|Compress]Buffer and 1 file changed, 740 insertions(+) diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c -index 79c4974..0c4d684 100644 +index e8eb04a..2f6c421 100644 --- a/dlls/ntdll/tests/rtl.c +++ b/dlls/ntdll/tests/rtl.c -@@ -99,6 +99,10 @@ static NTSTATUS (WINAPI *pLdrAddRefDll)(ULONG, HMODULE); +@@ -92,6 +92,10 @@ static NTSTATUS (WINAPI *pRtlIpv4StringToAddressA)(PCSTR, BOOLEAN, PCSTR *, IN_ + 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); @@ -23,10 +23,10 @@ index 79c4974..0c4d684 100644 static HMODULE hkernel32 = 0; static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL); -@@ -152,6 +156,10 @@ static void InitFunctionPtrs(void) +@@ -139,6 +143,10 @@ static void InitFunctionPtrs(void) + 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"); @@ -34,7 +34,7 @@ index 79c4974..0c4d684 100644 } hkernel32 = LoadLibraryA("kernel32.dll"); ok(hkernel32 != 0, "LoadLibrary failed\n"); -@@ -2416,6 +2424,735 @@ static void test_LdrLockLoaderLock(void) +@@ -1599,6 +1607,735 @@ static void test_LdrLockLoaderLock(void) pLdrUnlockLoaderLock(0, magic); } @@ -770,8 +770,8 @@ index 79c4974..0c4d684 100644 START_TEST(rtl) { InitFunctionPtrs(); -@@ -2445,4 +3182,7 @@ START_TEST(rtl) - test_RtlIpv6StringToAddressEx(); +@@ -1625,4 +2362,7 @@ START_TEST(rtl) + test_RtlIpv4StringToAddress(); test_LdrAddRefDll(); test_LdrLockLoaderLock(); + test_RtlGetCompressionWorkSpaceSize(); diff --git a/patches/ntdll-LZNT1_Compression/definition b/patches/ntdll-LZNT1_Compression/definition index f064e7ad..9f1ffb54 100644 --- a/patches/ntdll-LZNT1_Compression/definition +++ b/patches/ntdll-LZNT1_Compression/definition @@ -1,2 +1 @@ Fixes: [37449] Support for RtlDecompressBuffer -Depends: ntdll-RtlIpStringToAddress diff --git a/patches/ntdll-RtlIpStringToAddress/0001-ntdll-tests-Tests-for-RtlIpv6StringToAddress-try-6.patch b/patches/ntdll-RtlIpStringToAddress/0001-ntdll-tests-Tests-for-RtlIpv6StringToAddress-try-6.patch index 0a4cc15b..0f99b424 100644 --- a/patches/ntdll-RtlIpStringToAddress/0001-ntdll-tests-Tests-for-RtlIpv6StringToAddress-try-6.patch +++ b/patches/ntdll-RtlIpStringToAddress/0001-ntdll-tests-Tests-for-RtlIpv6StringToAddress-try-6.patch @@ -1,4 +1,4 @@ -From bced9dedb0501192c6d7ac1bfcba0edb83964ade Mon Sep 17 00:00:00 2001 +From 0200b5ccf86d7b87846f4d8c98f9ac0775e810d8 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) @@ -22,7 +22,7 @@ duplication 1 file changed, 430 insertions(+) diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c -index e8eb04a..8030c86 100644 +index 2f6c421..d4c83c2 100644 --- a/dlls/ntdll/tests/rtl.c +++ b/dlls/ntdll/tests/rtl.c @@ -25,6 +25,7 @@ @@ -43,10 +43,10 @@ index e8eb04a..8030c86 100644 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 HMODULE hkernel32 = 0; - static BOOL (WINAPI *pIsWow64Process)(HANDLE, PBOOL); -@@ -136,9 +140,12 @@ static void InitFunctionPtrs(void) + 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); +@@ -140,9 +144,12 @@ static void InitFunctionPtrs(void) pRtlIpv4AddressToStringA = (void *)GetProcAddress(hntdll, "RtlIpv4AddressToStringA"); pRtlIpv4AddressToStringExA = (void *)GetProcAddress(hntdll, "RtlIpv4AddressToStringExA"); pRtlIpv4StringToAddressA = (void *)GetProcAddress(hntdll, "RtlIpv4StringToAddressA"); @@ -56,10 +56,10 @@ index e8eb04a..8030c86 100644 pLdrLockLoaderLock = (void *)GetProcAddress(hntdll, "LdrLockLoaderLock"); pLdrUnlockLoaderLock = (void *)GetProcAddress(hntdll, "LdrUnlockLoaderLock"); + pRtlMultiByteToUnicodeN = (void *)GetProcAddress(hntdll, "RtlMultiByteToUnicodeN"); - } - hkernel32 = LoadLibraryA("kernel32.dll"); - ok(hkernel32 != 0, "LoadLibrary failed\n"); -@@ -1492,6 +1499,428 @@ static void test_RtlIpv4StringToAddress(void) + pRtlGetCompressionWorkSpaceSize = (void *)GetProcAddress(hntdll, "RtlGetCompressionWorkSpaceSize"); + pRtlDecompressBuffer = (void *)GetProcAddress(hntdll, "RtlDecompressBuffer"); + pRtlDecompressFragment = (void *)GetProcAddress(hntdll, "RtlDecompressFragment"); +@@ -1500,6 +1507,428 @@ static void test_RtlIpv4StringToAddress(void) } } @@ -488,14 +488,14 @@ index e8eb04a..8030c86 100644 static void test_LdrAddRefDll(void) { HMODULE mod, mod2; -@@ -1623,6 +2052,7 @@ START_TEST(rtl) +@@ -2360,6 +2789,7 @@ START_TEST(rtl) test_RtlIpv4AddressToString(); test_RtlIpv4AddressToStringEx(); test_RtlIpv4StringToAddress(); + test_RtlIpv6StringToAddress(); test_LdrAddRefDll(); test_LdrLockLoaderLock(); - } + test_RtlGetCompressionWorkSpaceSize(); -- 2.3.1 diff --git a/patches/ntdll-RtlIpStringToAddress/0002-ntdll-tests-Tests-for-RtlIpv6StringToAddressEx-try-6.patch b/patches/ntdll-RtlIpStringToAddress/0002-ntdll-tests-Tests-for-RtlIpv6StringToAddressEx-try-6.patch index ae7352c9..d5af9056 100644 --- a/patches/ntdll-RtlIpStringToAddress/0002-ntdll-tests-Tests-for-RtlIpv6StringToAddressEx-try-6.patch +++ b/patches/ntdll-RtlIpStringToAddress/0002-ntdll-tests-Tests-for-RtlIpv6StringToAddressEx-try-6.patch @@ -1,4 +1,4 @@ -From 61f51c445a223aaceb0b404f4c13eda296133f25 Mon Sep 17 00:00:00 2001 +From 486707397ce18ce3f92f0ffbc388626312d9f952 Mon Sep 17 00:00:00 2001 From: Mark Jansen Date: Sun, 8 Mar 2015 18:24:50 +0100 Subject: ntdll/tests: Tests for RtlIpv6StringToAddressEx (try 6) @@ -21,7 +21,7 @@ Changes from try3: 1 file changed, 268 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c -index 8030c86..5d789d1 100644 +index d4c83c2..b389d6f 100644 --- a/dlls/ntdll/tests/rtl.c +++ b/dlls/ntdll/tests/rtl.c @@ -92,6 +92,8 @@ static NTSTATUS (WINAPI *pRtlIpv4AddressToStringExA)(const IN_ADDR *, USHORT, L @@ -33,7 +33,7 @@ index 8030c86..5d789d1 100644 static NTSTATUS (WINAPI *pLdrAddRefDll)(ULONG, HMODULE); static NTSTATUS (WINAPI *pLdrLockLoaderLock)(ULONG, ULONG*, ULONG_PTR*); static NTSTATUS (WINAPI *pLdrUnlockLoaderLock)(ULONG, ULONG_PTR); -@@ -142,6 +144,8 @@ static void InitFunctionPtrs(void) +@@ -146,6 +148,8 @@ static void InitFunctionPtrs(void) pRtlIpv4StringToAddressA = (void *)GetProcAddress(hntdll, "RtlIpv4StringToAddressA"); pRtlIpv6StringToAddressA = (void *)GetProcAddress(hntdll, "RtlIpv6StringToAddressA"); pRtlIpv6StringToAddressW = (void *)GetProcAddress(hntdll, "RtlIpv6StringToAddressW"); @@ -42,7 +42,7 @@ index 8030c86..5d789d1 100644 pLdrAddRefDll = (void *)GetProcAddress(hntdll, "LdrAddRefDll"); pLdrLockLoaderLock = (void *)GetProcAddress(hntdll, "LdrLockLoaderLock"); pLdrUnlockLoaderLock = (void *)GetProcAddress(hntdll, "LdrUnlockLoaderLock"); -@@ -1775,7 +1779,6 @@ static const struct +@@ -1783,7 +1787,6 @@ static const struct }; const unsigned int ipv6_testcount = sizeof(ipv6_tests) / sizeof(ipv6_tests[0]); @@ -50,7 +50,7 @@ index 8030c86..5d789d1 100644 static void init_ip6(IN6_ADDR* addr, const int src[8]) { unsigned int j; -@@ -1921,6 +1924,269 @@ static void test_RtlIpv6StringToAddress(void) +@@ -1929,6 +1932,269 @@ static void test_RtlIpv6StringToAddress(void) } } @@ -320,14 +320,14 @@ index 8030c86..5d789d1 100644 static void test_LdrAddRefDll(void) { HMODULE mod, mod2; -@@ -2053,6 +2319,7 @@ START_TEST(rtl) +@@ -2790,6 +3056,7 @@ START_TEST(rtl) test_RtlIpv4AddressToStringEx(); test_RtlIpv4StringToAddress(); test_RtlIpv6StringToAddress(); + test_RtlIpv6StringToAddressEx(); test_LdrAddRefDll(); test_LdrLockLoaderLock(); - } + test_RtlGetCompressionWorkSpaceSize(); -- 2.3.1 diff --git a/patches/ntdll-RtlIpStringToAddress/definition b/patches/ntdll-RtlIpStringToAddress/definition new file mode 100644 index 00000000..72de5380 --- /dev/null +++ b/patches/ntdll-RtlIpStringToAddress/definition @@ -0,0 +1 @@ +Depends: ntdll-LZNT1_Compression diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index fd566f70..4b2b3db2 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -1022,11 +1022,11 @@ if test "$enable_ntdll_WriteWatches" -eq 1; then enable_ws2_32_WriteWatches=1 fi -if test "$enable_ntdll_LZNT1_Compression" -eq 1; then - if test "$enable_ntdll_RtlIpStringToAddress" -gt 1; then - abort "Patchset ntdll-RtlIpStringToAddress disabled, but ntdll-LZNT1_Compression depends on that." +if test "$enable_ntdll_RtlIpStringToAddress" -eq 1; then + if test "$enable_ntdll_LZNT1_Compression" -gt 1; then + abort "Patchset ntdll-LZNT1_Compression disabled, but ntdll-RtlIpStringToAddress depends on that." fi - enable_ntdll_RtlIpStringToAddress=1 + enable_ntdll_LZNT1_Compression=1 fi if test "$enable_ntdll_Junction_Points" -eq 1; then @@ -2844,22 +2844,6 @@ if test "$enable_ntdll_Junction_Points" -eq 1; then ) >> "$patchlist" fi -# Patchset ntdll-RtlIpStringToAddress -# | -# | Modified files: -# | * dlls/ntdll/tests/rtl.c -# | -if test "$enable_ntdll_RtlIpStringToAddress" -eq 1; then - patch_apply ntdll-RtlIpStringToAddress/0001-ntdll-tests-Tests-for-RtlIpv6StringToAddress-try-6.patch - patch_apply ntdll-RtlIpStringToAddress/0002-ntdll-tests-Tests-for-RtlIpv6StringToAddressEx-try-6.patch - patch_apply ntdll-RtlIpStringToAddress/0003-ntdll-tests-Tests-for-RtlIpv4StringToAddressEx-try-5.patch - ( - echo '+ { "Mark Jansen", "ntdll/tests: Tests for RtlIpv6StringToAddress.", 6 },'; - echo '+ { "Mark Jansen", "ntdll/tests: Tests for RtlIpv6StringToAddressEx.", 6 },'; - echo '+ { "Mark Jansen", "ntdll/tests: Tests for RtlIpv4StringToAddressEx (try 5, resend).", 1 },'; - ) >> "$patchlist" -fi - # Patchset ntdll-LZNT1_Compression # | # | This patchset fixes the following Wine bugs: @@ -2929,6 +2913,22 @@ if test "$enable_ntdll_Pipe_SpecialCharacters" -eq 1; then ) >> "$patchlist" fi +# Patchset ntdll-RtlIpStringToAddress +# | +# | Modified files: +# | * dlls/ntdll/tests/rtl.c +# | +if test "$enable_ntdll_RtlIpStringToAddress" -eq 1; then + patch_apply ntdll-RtlIpStringToAddress/0001-ntdll-tests-Tests-for-RtlIpv6StringToAddress-try-6.patch + patch_apply ntdll-RtlIpStringToAddress/0002-ntdll-tests-Tests-for-RtlIpv6StringToAddressEx-try-6.patch + patch_apply ntdll-RtlIpStringToAddress/0003-ntdll-tests-Tests-for-RtlIpv4StringToAddressEx-try-5.patch + ( + echo '+ { "Mark Jansen", "ntdll/tests: Tests for RtlIpv6StringToAddress.", 6 },'; + echo '+ { "Mark Jansen", "ntdll/tests: Tests for RtlIpv6StringToAddressEx.", 6 },'; + echo '+ { "Mark Jansen", "ntdll/tests: Tests for RtlIpv4StringToAddressEx (try 5, resend).", 1 },'; + ) >> "$patchlist" +fi + # Patchset ntdll-RtlUnwindEx # | # | This patchset fixes the following Wine bugs: