aboutsummaryrefslogtreecommitdiff
path: root/zenserver/projectstore.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-10-01 18:52:22 +0200
committerStefan Boberg <[email protected]>2021-10-01 18:52:22 +0200
commit7df4d5135994c5fb60fe511957be69b5c9b16ae5 (patch)
tree6d51fca1e18b04a9e4e9541c8b96aaabeac82bbe /zenserver/projectstore.cpp
parentfilesystem: Added FileContents::Flatten() and ensured it's possible to #inclu... (diff)
downloadzen-7df4d5135994c5fb60fe511957be69b5c9b16ae5.tar.xz
zen-7df4d5135994c5fb60fe511957be69b5c9b16ae5.zip
Added some code to persist bad package data for inspection
Diffstat (limited to 'zenserver/projectstore.cpp')
-rw-r--r--zenserver/projectstore.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/zenserver/projectstore.cpp b/zenserver/projectstore.cpp
index 7870f9559..6b24692e1 100644
--- a/zenserver/projectstore.cpp
+++ b/zenserver/projectstore.cpp
@@ -1425,7 +1425,12 @@ HttpProjectService::HttpProjectService(CasStore& Store, ProjectStore* Projects)
if (!legacy::TryLoadCbPackage(Package, Payload, &UniqueBuffer::Alloc, &Resolver))
{
- ZEN_ERROR("Received malformed package!");
+ std::filesystem::path BadPackagePath =
+ Oplog.TempPath() / "bad_packages" / "session{}_request{}"_format(HttpReq.SessionId(), HttpReq.RequestId());
+
+ ZEN_ERROR("Received malformed package! Saving payload to '{}'", BadPackagePath);
+
+ zen::WriteFile(BadPackagePath, Payload);
return HttpReq.WriteResponse(HttpResponseCode::BadRequest, HttpContentType::kText, "Invalid package");
}