aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2025-10-20 15:27:03 +0200
committerGitHub Enterprise <[email protected]>2025-10-20 15:27:03 +0200
commite0160f8871f7ddcf780ea4554fc052a8c8e0ed51 (patch)
tree58cab9168536ac786628b03e40d4e57d6e22bb3d /src
parentsilence warnings in CprHttpClient if request was aborted (#591) (diff)
downloadzen-e0160f8871f7ddcf780ea4554fc052a8c8e0ed51.tar.xz
zen-e0160f8871f7ddcf780ea4554fc052a8c8e0ed51.zip
fix jupiter payload validation with allow redirect (#594)
* don't validate compressed buffer payload if a range is requested
Diffstat (limited to 'src')
-rw-r--r--src/zenremotestore/jupiter/jupitersession.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/zenremotestore/jupiter/jupitersession.cpp b/src/zenremotestore/jupiter/jupitersession.cpp
index 942e2a9dc..6a7938e7f 100644
--- a/src/zenremotestore/jupiter/jupitersession.cpp
+++ b/src/zenremotestore/jupiter/jupitersession.cpp
@@ -780,11 +780,14 @@ JupiterSession::GetBuildBlob(std::string_view Namespace,
{
IoHash ValidateRawHash;
uint64_t ValidateRawSize = 0;
- ZEN_ASSERT_SLOW(CompressedBuffer::ValidateCompressedHeader(Response.ResponsePayload, ValidateRawHash, ValidateRawSize));
- ZEN_ASSERT_SLOW(ValidateRawHash == Hash);
- ZEN_ASSERT_SLOW(ValidateRawSize > 0);
- ZEN_UNUSED(ValidateRawHash, ValidateRawSize);
- Response.ResponsePayload.SetContentType(ZenContentType::kCompressedBinary);
+ if (!Headers.Entries.contains("Range"))
+ {
+ ZEN_ASSERT_SLOW(CompressedBuffer::ValidateCompressedHeader(Response.ResponsePayload, ValidateRawHash, ValidateRawSize));
+ ZEN_ASSERT_SLOW(ValidateRawHash == Hash);
+ ZEN_ASSERT_SLOW(ValidateRawSize > 0);
+ ZEN_UNUSED(ValidateRawHash, ValidateRawSize);
+ Response.ResponsePayload.SetContentType(ZenContentType::kCompressedBinary);
+ }
}
}
return detail::ConvertResponse(Response, "JupiterSession::GetBuildBlob"sv);