[Databuckets] Nested Databuckets Protections and Improvements (#4748)

* Check for valid JSON before using it

* Do not allow nested keys to set be set an expiration

* Prevent overwriting of existing object or array

* Nested deletion support

* Update data_bucket.cpp

* Test cases

* More test cases, fix

* Update databuckets.cpp

* Update databuckets.cpp

* Basic databucket tests

* Update databuckets.cpp

* Update databuckets.cpp
This commit is contained in:
Chris Miles
2025-03-04 13:16:21 -06:00
committed by GitHub
parent 3638d157b2
commit 0615864d51
8 changed files with 422 additions and 52 deletions
+2
View File
@@ -45,6 +45,7 @@
#include <type_traits>
#include <fmt/format.h>
#include <cereal/external/rapidjson/document.h>
#ifndef _WIN32
// this doesn't appear to affect linux-based systems..need feedback for _WIN64
@@ -188,6 +189,7 @@ public:
}
static std::string Slugify(const std::string &input, const std::string &separator = "-");
static bool IsValidJson(const std::string& json);
};
const std::string StringFormat(const char *format, ...);