aboutsummaryrefslogtreecommitdiff
path: root/src/zenstore/cache/cacherpc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zenstore/cache/cacherpc.cpp')
-rw-r--r--src/zenstore/cache/cacherpc.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/zenstore/cache/cacherpc.cpp b/src/zenstore/cache/cacherpc.cpp
index ec045af2f..2a7721fe2 100644
--- a/src/zenstore/cache/cacherpc.cpp
+++ b/src/zenstore/cache/cacherpc.cpp
@@ -174,11 +174,17 @@ CacheRpcHandler::HandleRpcRequest(const CacheRequestContext& Context,
{
if (ContentType == ZenContentType::kCbObject)
{
+ if (CbValidateError Error = ValidateCompactBinary(Body.GetView(), CbValidateMode::Default); Error != CbValidateError::None)
+ {
+ ZEN_WARN("Content format is corrupt, compact binary format validation failed. Reason: '{}'", ToString(Error));
+ return RpcResponseCode::BadRequest;
+ }
+
ObjectBuffer = LoadCompactBinaryObject(std::move(Body));
Object = ObjectBuffer;
if (!Object)
{
- ZEN_WARN("Content format not supported, expected compact binary format")
+ ZEN_WARN("Content format not supported, expected compact binary format");
return RpcResponseCode::BadRequest;
}
}
@@ -202,6 +208,9 @@ CacheRpcHandler::HandleRpcRequest(const CacheRequestContext& Context,
{
if (UriNamespace != ParamsNamespace)
{
+ ZEN_WARN("Rpc message namespace mismatch, request rejected. Expected '{}', received '{}'",
+ UriNamespace,
+ ParamsNamespace.value());
return RpcResponseCode::BadRequest;
}
}