diff options
author | Sean Hall <r.sean.hall@gmail.com> | 2022-02-18 19:00:23 -0600 |
---|---|---|
committer | Sean Hall <r.sean.hall@gmail.com> | 2022-02-19 11:53:06 -0700 |
commit | f94e47a9e1b6d4366e5d2c8e850067204d0c5dc9 (patch) | |
tree | 94b51b1c662a79b3636519d6e8e3448e1118f477 | |
parent | 28c0a27ddf03dcf07a11c291699428a32f381fbc (diff) | |
download | wix-f94e47a9e1b6d4366e5d2c8e850067204d0c5dc9.tar.gz wix-f94e47a9e1b6d4366e5d2c8e850067204d0c5dc9.tar.bz2 wix-f94e47a9e1b6d4366e5d2c8e850067204d0c5dc9.zip |
Parse the Content-Length string value to avoid the 2GB limitation.
-rw-r--r-- | src/libs/dutil/WixToolset.DUtil/inetutil.cpp | 14 | ||||
-rw-r--r-- | src/test/burn/WixToolsetTest.BurnE2E/CacheTests.cs | 4 |
2 files changed, 8 insertions, 10 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/inetutil.cpp b/src/libs/dutil/WixToolset.DUtil/inetutil.cpp index 8dace55f..c4cddd11 100644 --- a/src/libs/dutil/WixToolset.DUtil/inetutil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/inetutil.cpp | |||
@@ -30,16 +30,14 @@ extern "C" HRESULT DAPI InternetGetSizeByHandle( | |||
30 | Assert(pllSize); | 30 | Assert(pllSize); |
31 | 31 | ||
32 | HRESULT hr = S_OK; | 32 | HRESULT hr = S_OK; |
33 | DWORD dwSize = 0; | 33 | LPWSTR sczValue = NULL; |
34 | DWORD cb = 0; | ||
35 | 34 | ||
36 | cb = sizeof(dwSize); | 35 | hr = InternetQueryInfoString(hiFile, HTTP_QUERY_CONTENT_LENGTH, &sczValue); |
37 | if (!::HttpQueryInfoW(hiFile, HTTP_QUERY_CONTENT_LENGTH | HTTP_QUERY_FLAG_NUMBER, reinterpret_cast<LPVOID>(&dwSize), &cb, NULL)) | 36 | InetExitOnLastError(hr, "Failed to get content length string for internet file handle"); |
38 | { | 37 | |
39 | InetExitOnLastError(hr, "Failed to get size for internet file handle"); | 38 | hr = StrStringToInt64(sczValue, 0, pllSize); |
40 | } | 39 | InetExitOnLastError(hr, "Failed to parse size for internet file handle: %ls", sczValue); |
41 | 40 | ||
42 | *pllSize = dwSize; | ||
43 | LExit: | 41 | LExit: |
44 | return hr; | 42 | return hr; |
45 | } | 43 | } |
diff --git a/src/test/burn/WixToolsetTest.BurnE2E/CacheTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/CacheTests.cs index ee61baff..943939e3 100644 --- a/src/test/burn/WixToolsetTest.BurnE2E/CacheTests.cs +++ b/src/test/burn/WixToolsetTest.BurnE2E/CacheTests.cs | |||
@@ -110,7 +110,7 @@ namespace WixToolsetTest.BurnE2E | |||
110 | } | 110 | } |
111 | 111 | ||
112 | Assert.False(LogVerifier.MessageInLogFile(logPath, "Range request not supported for URL: http://localhost:9999/e2e/BundleC/fivegb.file")); | 112 | Assert.False(LogVerifier.MessageInLogFile(logPath, "Range request not supported for URL: http://localhost:9999/e2e/BundleC/fivegb.file")); |
113 | Assert.True(LogVerifier.MessageInLogFile(logPath, "Content-Length not returned for URL: http://localhost:9999/e2e/BundleC/fivegb.file")); | 113 | Assert.False(LogVerifier.MessageInLogFile(logPath, "Content-Length not returned for URL: http://localhost:9999/e2e/BundleC/fivegb.file")); |
114 | } | 114 | } |
115 | 115 | ||
116 | [Fact] | 116 | [Fact] |
@@ -123,7 +123,7 @@ namespace WixToolsetTest.BurnE2E | |||
123 | } | 123 | } |
124 | 124 | ||
125 | Assert.True(LogVerifier.MessageInLogFile(logPath, "Range request not supported for URL: http://localhost:9999/e2e/BundleC/fivegb.file")); | 125 | Assert.True(LogVerifier.MessageInLogFile(logPath, "Range request not supported for URL: http://localhost:9999/e2e/BundleC/fivegb.file")); |
126 | Assert.True(LogVerifier.MessageInLogFile(logPath, "Content-Length not returned for URL: http://localhost:9999/e2e/BundleC/fivegb.file")); | 126 | Assert.False(LogVerifier.MessageInLogFile(logPath, "Content-Length not returned for URL: http://localhost:9999/e2e/BundleC/fivegb.file")); |
127 | } | 127 | } |
128 | 128 | ||
129 | [Fact] | 129 | [Fact] |