From e871a1020b3fdfc3ef9d29a900b254f2d6e09095 Mon Sep 17 00:00:00 2001 From: Alistair Leslie-Hughes Date: Fri, 23 Nov 2018 11:24:39 +1100 Subject: [PATCH] Rebase against 0c5ce58505e24bf07cbd4c09752ef2f949d64fd0 --- ...e-Add-semi-stub-for-PathCchCombineEx.patch | 20 +++---- ...ment-PathCchRemoveBackslash-PathCchR.patch | 45 +++++++------- patches/patchinstall.sh | 18 +++--- ...GetDeviceInterfaceDetail-should-fill.patch | 58 ++++++++----------- ...nhttp-Fix-handling-of-Accept-headers.patch | 32 +++++----- 5 files changed, 85 insertions(+), 88 deletions(-) diff --git a/patches/kernelbase-PathCchCombineEx/0001-kernelbase-Add-semi-stub-for-PathCchCombineEx.patch b/patches/kernelbase-PathCchCombineEx/0001-kernelbase-Add-semi-stub-for-PathCchCombineEx.patch index 5d852519..58ef1b3d 100644 --- a/patches/kernelbase-PathCchCombineEx/0001-kernelbase-Add-semi-stub-for-PathCchCombineEx.patch +++ b/patches/kernelbase-PathCchCombineEx/0001-kernelbase-Add-semi-stub-for-PathCchCombineEx.patch @@ -1,7 +1,7 @@ -From cc87b15eede29e05caba38bbf2d15614dcbb1f4a Mon Sep 17 00:00:00 2001 +From 29f88a1e1278d0ffec52d4463b3d743765fc1ad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Wed, 16 Aug 2017 02:45:23 +0200 -Subject: [PATCH] kernelbase: Add semi-stub for PathCchCombineEx. +Subject: [PATCH 1/2] kernelbase: Add semi-stub for PathCchCombineEx. --- .../api-ms-win-core-path-l1-1-0.spec | 2 +- @@ -11,7 +11,7 @@ Subject: [PATCH] kernelbase: Add semi-stub for PathCchCombineEx. 4 files changed, 32 insertions(+), 3 deletions(-) diff --git a/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec b/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec -index 0524e7c..c11746e 100644 +index 61eb220..8c720ee 100644 --- a/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec +++ b/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec @@ -8,7 +8,7 @@ @@ -21,7 +21,7 @@ index 0524e7c..c11746e 100644 -@ stub PathCchCombineEx +@ stdcall PathCchCombineEx(ptr long ptr ptr long) kernelbase.PathCchCombineEx @ stdcall PathCchFindExtension(wstr long ptr) kernelbase.PathCchFindExtension - @ stub PathCchIsRoot + @ stdcall PathCchIsRoot(wstr) kernelbase.PathCchIsRoot @ stub PathCchRemoveBackslash diff --git a/dlls/kernelbase/Makefile.in b/dlls/kernelbase/Makefile.in index a7db45e..78c19bd 100644 @@ -36,7 +36,7 @@ index a7db45e..78c19bd 100644 C_SRCS = \ main.c \ diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec -index 6ee822d..fc5ddfd 100644 +index ffb5a95..53d45c4 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -1037,7 +1037,7 @@ @@ -46,10 +46,10 @@ index 6ee822d..fc5ddfd 100644 -# @ stub PathCchCombineEx +@ stdcall PathCchCombineEx(ptr long ptr ptr long) @ stdcall PathCchFindExtension(wstr long ptr) - # @ stub PathCchIsRoot + @ stdcall PathCchIsRoot(wstr) # @ stub PathCchRemoveBackslash diff --git a/dlls/kernelbase/path.c b/dlls/kernelbase/path.c -index 047017e..598229a 100644 +index 75faf0b..047149e 100644 --- a/dlls/kernelbase/path.c +++ b/dlls/kernelbase/path.c @@ -22,6 +22,7 @@ @@ -60,9 +60,9 @@ index 047017e..598229a 100644 #include "strsafe.h" #include "wine/debug.h" -@@ -183,3 +184,29 @@ HRESULT WINAPI PathCchRenameExtension(WCHAR *path, SIZE_T size, const WCHAR *ext - hr = PathCchAddExtension(path, size, extension); - return FAILED(hr) ? hr : S_OK; +@@ -419,3 +420,29 @@ BOOL WINAPI PathIsUNCEx(const WCHAR *path, const WCHAR **server) + if (server) *server = result; + return result ? TRUE : FALSE; } + +/*********************************************************************** diff --git a/patches/kernelbase-PathCchCombineEx/0002-kernelbase-Implement-PathCchRemoveBackslash-PathCchR.patch b/patches/kernelbase-PathCchCombineEx/0002-kernelbase-Implement-PathCchRemoveBackslash-PathCchR.patch index 7a135381..9e618db9 100644 --- a/patches/kernelbase-PathCchCombineEx/0002-kernelbase-Implement-PathCchRemoveBackslash-PathCchR.patch +++ b/patches/kernelbase-PathCchCombineEx/0002-kernelbase-Implement-PathCchRemoveBackslash-PathCchR.patch @@ -1,25 +1,25 @@ -From 64f1f3000c1ef0a6211ace3fd361dcfebd000757 Mon Sep 17 00:00:00 2001 +From 1971ae905df4731f0f3f8b3e27329fff1a0c7b92 Mon Sep 17 00:00:00 2001 From: Julien Schueller Date: Wed, 4 Jul 2018 22:35:16 +0200 -Subject: [PATCH] kernelbase: Implement +Subject: [PATCH 2/2] kernelbase: Implement PathCchRemoveBackslash()/PathCchRemoveBackslashEx(). --- .../api-ms-win-core-path-l1-1-0.spec | 4 +- dlls/kernelbase/kernelbase.spec | 4 +- dlls/kernelbase/path.c | 31 +++++ - dlls/kernelbase/tests/path.c | 128 +++++++++++++++++++++ + dlls/kernelbase/tests/path.c | 129 +++++++++++++++++++++ include/pathcch.h | 2 + - 5 files changed, 165 insertions(+), 4 deletions(-) + 5 files changed, 166 insertions(+), 4 deletions(-) diff --git a/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec b/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec -index c11746e..c899fd9 100644 +index 8c720ee..418ed61 100644 --- a/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec +++ b/dlls/api-ms-win-core-path-l1-1-0/api-ms-win-core-path-l1-1-0.spec @@ -11,8 +11,8 @@ @ stdcall PathCchCombineEx(ptr long ptr ptr long) kernelbase.PathCchCombineEx @ stdcall PathCchFindExtension(wstr long ptr) kernelbase.PathCchFindExtension - @ stub PathCchIsRoot + @ stdcall PathCchIsRoot(wstr) kernelbase.PathCchIsRoot -@ stub PathCchRemoveBackslash -@ stub PathCchRemoveBackslashEx +@ stdcall PathCchRemoveBackslash(wstr long) kernelbase.PathCchRemoveBackslash @@ -28,13 +28,13 @@ index c11746e..c899fd9 100644 @ stub PathCchRemoveFileSpec @ stdcall PathCchRenameExtension(wstr long wstr) kernelbase.PathCchRenameExtension diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec -index fc5ddfd..9863d9f 100644 +index 53d45c4..a568627 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -1040,8 +1040,8 @@ @ stdcall PathCchCombineEx(ptr long ptr ptr long) @ stdcall PathCchFindExtension(wstr long ptr) - # @ stub PathCchIsRoot + @ stdcall PathCchIsRoot(wstr) -# @ stub PathCchRemoveBackslash -# @ stub PathCchRemoveBackslashEx +@ stdcall PathCchRemoveBackslash(wstr long) @@ -43,10 +43,10 @@ index fc5ddfd..9863d9f 100644 # @ stub PathCchRemoveFileSpec @ stdcall PathCchRenameExtension(wstr long wstr) diff --git a/dlls/kernelbase/path.c b/dlls/kernelbase/path.c -index 598229a..68c8dcb 100644 +index 047149e..a413e94 100644 --- a/dlls/kernelbase/path.c +++ b/dlls/kernelbase/path.c -@@ -210,3 +210,34 @@ HRESULT WINAPI PathCchCombineEx(WCHAR *out, SIZE_T size, const WCHAR *path1, con +@@ -446,3 +446,34 @@ HRESULT WINAPI PathCchCombineEx(WCHAR *out, SIZE_T size, const WCHAR *path1, con return S_OK; } @@ -82,7 +82,7 @@ index 598229a..68c8dcb 100644 +} + diff --git a/dlls/kernelbase/tests/path.c b/dlls/kernelbase/tests/path.c -index 1d6f44e..61d2232 100644 +index 2edd49b..97bf7dd 100644 --- a/dlls/kernelbase/tests/path.c +++ b/dlls/kernelbase/tests/path.c @@ -33,6 +33,8 @@ @@ -93,8 +93,8 @@ index 1d6f44e..61d2232 100644 +HRESULT (WINAPI *pPathCchRemoveBackslashEx)(WCHAR *out, SIZE_T size, WCHAR **endptr, SIZE_T *remaining); HRESULT (WINAPI *pPathCchCombineEx)(WCHAR *out, SIZE_T size, const WCHAR *path1, const WCHAR *path2, DWORD flags); HRESULT (WINAPI *pPathCchFindExtension)(const WCHAR *path, SIZE_T size, const WCHAR **extension); - HRESULT (WINAPI *pPathCchRemoveExtension)(WCHAR *path, SIZE_T size); -@@ -632,6 +634,127 @@ static void test_PathCchRenameExtension(void) + BOOL (WINAPI *pPathCchIsRoot)(const WCHAR *path); +@@ -1097,6 +1099,127 @@ static void test_PathIsUNCEx(void) } } @@ -222,9 +222,9 @@ index 1d6f44e..61d2232 100644 START_TEST(path) { HMODULE hmod = LoadLibraryA("kernelbase.dll"); -@@ -644,6 +767,9 @@ START_TEST(path) - pPathCchRemoveExtension = (void *)GetProcAddress(hmod, "PathCchRemoveExtension"); - pPathCchRenameExtension = (void *)GetProcAddress(hmod, "PathCchRenameExtension"); +@@ -1114,6 +1237,9 @@ START_TEST(path) + pPathCchStripToRoot = (void *)GetProcAddress(hmod, "PathCchStripToRoot"); + pPathIsUNCEx = (void *)GetProcAddress(hmod, "PathIsUNCEx"); + pPathCchRemoveBackslash = (void *)GetProcAddress(hmod, "PathCchRemoveBackslash"); + pPathCchRemoveBackslashEx = (void *)GetProcAddress(hmod, "PathCchRemoveBackslashEx"); @@ -232,15 +232,16 @@ index 1d6f44e..61d2232 100644 test_PathCchCombineEx(); test_PathCchAddBackslash(); test_PathCchAddBackslashEx(); -@@ -651,4 +777,6 @@ START_TEST(path) - test_PathCchFindExtension(); - test_PathCchRemoveExtension(); - test_PathCchRenameExtension(); +@@ -1126,4 +1252,7 @@ START_TEST(path) + test_PathCchStripPrefix(); + test_PathCchStripToRoot(); + test_PathIsUNCEx(); ++ + test_PathCchRemoveBackslash(); + test_PathCchRemoveBackslashEx(); } diff --git a/include/pathcch.h b/include/pathcch.h -index 3057b6c..dd92b83 100644 +index 443ccd3..fec4567 100644 --- a/include/pathcch.h +++ b/include/pathcch.h @@ -28,6 +28,8 @@ @@ -251,7 +252,7 @@ index 3057b6c..dd92b83 100644 +HRESULT WINAPI PathCchRemoveBackslashEx(WCHAR *path, SIZE_T size, WCHAR **end, SIZE_T *remaining); HRESULT WINAPI PathCchCombineEx(WCHAR *out, SIZE_T size, const WCHAR *path1, const WCHAR *path2, DWORD flags); HRESULT WINAPI PathCchFindExtension(const WCHAR *path, SIZE_T size, const WCHAR **extension); - HRESULT WINAPI PathCchRemoveExtension(WCHAR *path, SIZE_T size); + BOOL WINAPI PathCchIsRoot(const WCHAR *path); -- 1.9.1 diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 09891df7..d216657b 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "55bcfea8f011c7f31df81a0f05f11a1d5c0d11b1" + echo "0c5ce58505e24bf07cbd4c09752ef2f949d64fd0" } # Show version information @@ -2565,7 +2565,8 @@ fi # | * [#42704] Implement BCryptDeriveKeyPBKDF2 # | # | Modified files: -# | * dlls/bcrypt/bcrypt.spec, dlls/bcrypt/bcrypt_main.c, dlls/bcrypt/tests/bcrypt.c, include/bcrypt.h +# | * dlls/bcrypt/bcrypt.spec, dlls/bcrypt/bcrypt_main.c, dlls/bcrypt/tests/bcrypt.c, dlls/ncrypt/ncrypt.spec, +# | include/bcrypt.h # | if test "$enable_bcrypt_BCryptDeriveKeyPBKDF2" -eq 1; then patch_apply bcrypt-BCryptDeriveKeyPBKDF2/0001-bcrypt-Implement-BCryptDeriveKeyPBKDF2-and-add-test-.patch @@ -2580,7 +2581,8 @@ fi # | * [#45312] Fix issue for Assassin's Creed : Syndicate # | # | Modified files: -# | * dlls/bcrypt/bcrypt.spec, dlls/bcrypt/bcrypt_internal.h, dlls/bcrypt/bcrypt_main.c, include/bcrypt.h +# | * dlls/bcrypt/bcrypt.spec, dlls/bcrypt/bcrypt_internal.h, dlls/bcrypt/bcrypt_main.c, dlls/ncrypt/ncrypt.spec, +# | include/bcrypt.h # | if test "$enable_bcrypt_BCryptGenerateKeyPair" -eq 1; then patch_apply bcrypt-BCryptGenerateKeyPair/0001-bcrypt-Add-support-for-algorithm-ECDH-P256.patch @@ -3989,8 +3991,9 @@ fi # | * api-ms-win-Stub_DLLs # | # | Modified files: -# | * dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec, dlls/kernel32/cpu.c, -# | dlls/kernel32/kernel32.spec, dlls/kernel32/tests/process.c, dlls/kernel32/thread.c, include/winnt.h +# | * dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec, dlls/api-ms-win-core- +# | kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec, dlls/kernel32/cpu.c, dlls/kernel32/kernel32.spec, +# | dlls/kernel32/tests/process.c, dlls/kernel32/thread.c, include/winnt.h # | if test "$enable_kernel32_Processor_Group" -eq 1; then patch_apply kernel32-Processor_Group/0001-kernel32-Implement-some-processor-group-functions.patch @@ -4994,7 +4997,7 @@ fi # | * [#42255] ntdll: Add RtlAddGrowableFunctionTable stub # | # | Modified files: -# | * dlls/ntdll/ntdll.spec, dlls/ntdll/signal_arm.c, dlls/ntdll/signal_arm64.c, dlls/ntdll/signal_x86_64.c +# | * dlls/ntdll/ntdll.spec, dlls/ntdll/signal_arm.c, dlls/ntdll/signal_arm64.c, dlls/ntdll/signal_x86_64.c, include/winnt.h # | if test "$enable_ntdll_RtlAddGrowableFunctionTable" -eq 1; then patch_apply ntdll-RtlAddGrowableFunctionTable/0001-ntdll-Add-RtlAddGrowableFunctionTable-stub.patch @@ -6557,7 +6560,8 @@ fi # | * [#45765] Added GetPointerType stub # | # | Modified files: -# | * dlls/user32/misc.c, dlls/user32/tests/input.c, dlls/user32/user32.spec, include/winuser.h +# | * dlls/api-ms-win-rtcore-ntuser-wmpointer-l1-1-0/api-ms-win-rtcore-ntuser-wmpointer-l1-1-0.spec, dlls/user32/misc.c, +# | dlls/user32/tests/input.c, dlls/user32/user32.spec, include/winuser.h # | if test "$enable_user32_GetPointerType" -eq 1; then patch_apply user32-GetPointerType/0001-user32-Added-GetPointerType-stub.patch diff --git a/patches/setupapi-SetupDiGetDeviceInterfaceDetail/0003-setupapi-SetupDiGetDeviceInterfaceDetail-should-fill.patch b/patches/setupapi-SetupDiGetDeviceInterfaceDetail/0003-setupapi-SetupDiGetDeviceInterfaceDetail-should-fill.patch index 1880c6b7..1c4fe0fb 100644 --- a/patches/setupapi-SetupDiGetDeviceInterfaceDetail/0003-setupapi-SetupDiGetDeviceInterfaceDetail-should-fill.patch +++ b/patches/setupapi-SetupDiGetDeviceInterfaceDetail/0003-setupapi-SetupDiGetDeviceInterfaceDetail-should-fill.patch @@ -1,19 +1,19 @@ -From e9a6546ce13c09f63a180aceb7181d8145c120d3 Mon Sep 17 00:00:00 2001 +From 181e8775404470eef952667261555d960e636585 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Fri, 19 Aug 2016 00:47:08 +0200 -Subject: setupapi: SetupDiGetDeviceInterfaceDetail should fill out +Subject: [PATCH] setupapi: SetupDiGetDeviceInterfaceDetail should fill out DeviceInfoData even if the buffer for DeviceInterfaceData is too small. --- dlls/setupapi/devinst.c | 14 ++++++++------ - dlls/setupapi/tests/devinst.c | 6 +++++- - 2 files changed, 13 insertions(+), 7 deletions(-) + dlls/setupapi/tests/devinst.c | 7 +++++++ + 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/dlls/setupapi/devinst.c b/dlls/setupapi/devinst.c -index 9f77669..f8c347b 100644 +index 93c26ce..b2fc7f8 100644 --- a/dlls/setupapi/devinst.c +++ b/dlls/setupapi/devinst.c -@@ -2844,9 +2844,6 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailA( +@@ -2873,9 +2873,6 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailA( else DeviceInterfaceDetailData->DevicePath[0] = '\0'; @@ -23,7 +23,7 @@ index 9f77669..f8c347b 100644 ret = TRUE; } else -@@ -2855,6 +2852,10 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailA( +@@ -2884,6 +2881,10 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailA( *RequiredSize = bytesNeeded; SetLastError(ERROR_INSUFFICIENT_BUFFER); } @@ -34,7 +34,7 @@ index 9f77669..f8c347b 100644 return ret; } -@@ -2914,9 +2915,6 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailW( +@@ -2943,9 +2944,6 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailW( else DeviceInterfaceDetailData->DevicePath[0] = '\0'; @@ -44,7 +44,7 @@ index 9f77669..f8c347b 100644 ret = TRUE; } else -@@ -2925,6 +2923,10 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailW( +@@ -2954,6 +2952,10 @@ BOOL WINAPI SetupDiGetDeviceInterfaceDetailW( *RequiredSize = bytesNeeded; SetLastError(ERROR_INSUFFICIENT_BUFFER); } @@ -56,31 +56,23 @@ index 9f77669..f8c347b 100644 } diff --git a/dlls/setupapi/tests/devinst.c b/dlls/setupapi/tests/devinst.c -index 9a8ecbc..187e022 100644 +index 7d485dd..ba4fe80 100644 --- a/dlls/setupapi/tests/devinst.c +++ b/dlls/setupapi/tests/devinst.c -@@ -674,6 +674,7 @@ static void testGetDeviceInterfaceDetail(void) - "\\\\?\\root#legacy_bogus#0000#{6a55b5a4-3f65-11db-b704-0011955c2bdb}"; - static const char path_w2k[] = - "\\\\?\\root#legacy_bogus#0000#{6a55b5a4-3f65-11db-b704-0011955c2bdb}\\"; -+ SP_DEVINFO_DATA devinfo; - LPBYTE buf = HeapAlloc(GetProcessHeap(), 0, size); - SP_DEVICE_INTERFACE_DETAIL_DATA_A *detail = - (SP_DEVICE_INTERFACE_DETAIL_DATA_A *)buf; -@@ -701,9 +702,12 @@ static void testGetDeviceInterfaceDetail(void) - !lstrcmpiA(path_w2k, detail->DevicePath), "Unexpected path %s\n", - detail->DevicePath); - /* Check SetupDiGetDeviceInterfaceDetailW */ -- ret = pSetupDiGetDeviceInterfaceDetailW(set, &interfaceData, NULL, 0, &size, NULL); -+ memset(&devinfo, 0, sizeof(devinfo)); -+ devinfo.cbSize = sizeof(devinfo); -+ ret = pSetupDiGetDeviceInterfaceDetailW(set, &interfaceData, NULL, 0, &size, &devinfo); - ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, - "Expected ERROR_INSUFFICIENT_BUFFER, got error code: %d\n", GetLastError()); -+ ok(devinfo.DevInst, "Expected DevInst to be set\n"); - ok(expectedsize == size || - (expectedsize + sizeof(WCHAR)) == size /* W2K adds a backslash */, - "SetupDiGetDeviceInterfaceDetailW returned wrong reqsize, got %d\n", +@@ -815,6 +815,13 @@ static void test_device_iface_detail(void) + ok(GetLastError() == ERROR_INSUFFICIENT_BUFFER, "Got unexpected error %#x.\n", GetLastError()); + ok(size == expectedsize, "Got unexpected size %d.\n", size); + ++ memset(&device, 0, sizeof(device)); ++ device.cbSize = sizeof(device); ++ ret = SetupDiGetDeviceInterfaceDetailW(set, &iface, NULL, 0, &size, &device); ++ ok(!ret && GetLastError() == ERROR_INSUFFICIENT_BUFFER, ++ "Expected ERROR_INSUFFICIENT_BUFFER, got error code: %d\n", GetLastError()); ++ ok(device.DevInst, "Expected DevInst to be set\n"); ++ + heap_free(detail); + SetupDiDestroyDeviceInfoList(set); + -- -2.7.4 +1.9.1 diff --git a/patches/winhttp-Accept_Headers/0001-winhttp-Fix-handling-of-Accept-headers.patch b/patches/winhttp-Accept_Headers/0001-winhttp-Fix-handling-of-Accept-headers.patch index 9d5d8287..23b2be52 100644 --- a/patches/winhttp-Accept_Headers/0001-winhttp-Fix-handling-of-Accept-headers.patch +++ b/patches/winhttp-Accept_Headers/0001-winhttp-Fix-handling-of-Accept-headers.patch @@ -1,4 +1,4 @@ -From 70361946ecd7e0b78ac89f97a37c862e4473b928 Mon Sep 17 00:00:00 2001 +From ef3957d5000837c27a9623768b2f90df8b80b465 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Wed, 21 Dec 2016 00:54:37 +0100 Subject: [PATCH] winhttp: Fix handling of Accept headers. @@ -10,20 +10,20 @@ Subject: [PATCH] winhttp: Fix handling of Accept headers. 3 files changed, 7 insertions(+), 32 deletions(-) diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c -index 7f3ef4c..301dc2f 100644 +index 27628c3..54f7214 100644 --- a/dlls/winhttp/request.c +++ b/dlls/winhttp/request.c -@@ -398,7 +398,7 @@ static BOOL delete_header( request_t *request, DWORD index ) +@@ -398,7 +398,7 @@ static BOOL delete_header( struct request *request, DWORD index ) return TRUE; } --static BOOL process_header( request_t *request, LPCWSTR field, LPCWSTR value, DWORD flags, BOOL request_only ) -+BOOL process_header( request_t *request, LPCWSTR field, LPCWSTR value, DWORD flags, BOOL request_only ) +-static BOOL process_header( struct request *request, const WCHAR *field, const WCHAR *value, DWORD flags, ++BOOL process_header( struct request *request, const WCHAR *field, const WCHAR *value, DWORD flags, + BOOL request_only ) { int index; - struct header hdr; -@@ -2179,16 +2179,11 @@ static BOOL send_request( request_t *request, LPCWSTR headers, DWORD headers_len - session_t *session = connect->session; +@@ -2181,16 +2181,11 @@ static BOOL send_request( struct request *request, const WCHAR *headers, DWORD h + struct session *session = connect->session; char *wire_req; int bytes_sent; - DWORD len, i, flags; @@ -41,10 +41,10 @@ index 7f3ef4c..301dc2f 100644 process_header( request, attr_user_agent, session->agent, WINHTTP_ADDREQ_FLAG_ADD_IF_NEW, TRUE ); diff --git a/dlls/winhttp/session.c b/dlls/winhttp/session.c -index 8804346..87413ca 100644 +index 2051d42..d528659 100644 --- a/dlls/winhttp/session.c +++ b/dlls/winhttp/session.c -@@ -641,8 +641,6 @@ static void request_destroy( struct object_header *hdr ) +@@ -629,8 +629,6 @@ static void request_destroy( struct object_header *hdr ) heap_free( request->headers[i].value ); } heap_free( request->headers ); @@ -53,9 +53,9 @@ index 8804346..87413ca 100644 for (i = 0; i < TARGET_MAX; i++) { for (j = 0; j < SCHEME_MAX; j++) -@@ -1059,32 +1057,14 @@ static const struct object_vtbl request_vtbl = +@@ -1047,32 +1045,14 @@ static const struct object_vtbl request_vtbl = - static BOOL store_accept_types( request_t *request, const WCHAR **accept_types ) + static BOOL store_accept_types( struct request *request, const WCHAR **accept_types ) { + static const WCHAR attr_accept[] = {'A','c','c','e','p','t',0}; + static const DWORD flags = WINHTTP_ADDREQ_FLAG_ADD | WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA; @@ -90,10 +90,10 @@ index 8804346..87413ca 100644 } return TRUE; diff --git a/dlls/winhttp/winhttp_private.h b/dlls/winhttp/winhttp_private.h -index 999f3d7..e10b052 100644 +index 2ee868c..3ac7f4a 100644 --- a/dlls/winhttp/winhttp_private.h +++ b/dlls/winhttp/winhttp_private.h -@@ -198,8 +198,6 @@ typedef struct +@@ -198,8 +198,6 @@ struct request char read_buf[8192]; /* buffer for already read but not returned data */ struct header *headers; DWORD num_headers; @@ -102,11 +102,11 @@ index 999f3d7..e10b052 100644 struct authinfo *authinfo; struct authinfo *proxy_authinfo; HANDLE task_wait; -@@ -292,6 +290,8 @@ void destroy_authinfo( struct authinfo * ) DECLSPEC_HIDDEN; +@@ -290,6 +288,8 @@ void destroy_authinfo( struct authinfo * ) DECLSPEC_HIDDEN; void release_host( struct hostdata *host ) DECLSPEC_HIDDEN; -+BOOL process_header( request_t *request, LPCWSTR field, LPCWSTR value, DWORD flags, BOOL request_only ) DECLSPEC_HIDDEN; ++BOOL process_header( struct request *request, LPCWSTR field, LPCWSTR value, DWORD flags, BOOL request_only ) DECLSPEC_HIDDEN; + extern HRESULT WinHttpRequest_create( void ** ) DECLSPEC_HIDDEN; void release_typelib( void ) DECLSPEC_HIDDEN;