diff options
Diffstat (limited to 'zenserver/cache/structuredcache.cpp')
| -rw-r--r-- | zenserver/cache/structuredcache.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/zenserver/cache/structuredcache.cpp b/zenserver/cache/structuredcache.cpp index ecc2367ad..317c5641a 100644 --- a/zenserver/cache/structuredcache.cpp +++ b/zenserver/cache/structuredcache.cpp @@ -4,6 +4,7 @@ #include <zencore/compactbinarybuilder.h> #include <zencore/compactbinaryvalidation.h> +#include <zencore/compress.h> #include <zencore/fmtutils.h> #include <zencore/httpserver.h> #include <zencore/timer.h> @@ -243,9 +244,11 @@ HttpStructuredCacheService::HandleCachePayloadRequest(zen::HttpServerRequest& Re { zen::IoHash ChunkHash = zen::IoHash::HashMemory(Body); - if (ChunkHash != Ref.PayloadId) + zen::CompressedBuffer Compressed = zen::CompressedBuffer::FromCompressed(SharedBuffer(Body)); + + if (IoHash::FromBLAKE3(Compressed.GetRawHash()) != Ref.PayloadId) { - // the URL and data hashes don't match! + // the URL specified content id and content hashes don't match! return Request.WriteResponse(HttpResponse::BadRequest); } |