From e0160f8871f7ddcf780ea4554fc052a8c8e0ed51 Mon Sep 17 00:00:00 2001 From: Dan Engelbrecht Date: Mon, 20 Oct 2025 15:27:03 +0200 Subject: fix jupiter payload validation with allow redirect (#594) * don't validate compressed buffer payload if a range is requested --- src/zenremotestore/jupiter/jupitersession.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src') 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); -- cgit v1.2.3