diff --git a/appsec/src/extension/attributes.h b/appsec/src/extension/attributes.h index 68ad88f453..b25505ebf5 100644 --- a/appsec/src/extension/attributes.h +++ b/appsec/src/extension/attributes.h @@ -6,8 +6,6 @@ #ifndef DD_ATTRIBUTES_H #define DD_ATTRIBUTES_H -#include "configuration.h" - #ifndef __has_feature # define __has_feature(x) 0 #endif diff --git a/appsec/src/extension/commands_helpers.c b/appsec/src/extension/commands_helpers.c index 0d0b9c4eb8..f89d441673 100644 --- a/appsec/src/extension/commands_helpers.c +++ b/appsec/src/extension/commands_helpers.c @@ -574,14 +574,14 @@ static void dd_command_process_settings(mpack_node_t root) mpack_node_t value = mpack_node_map_value_at(root, i); if (mpack_node_type(key) != mpack_type_str) { - mlog(dd_log_warning, "Failed to process user collection setting: " + mlog(dd_log_warning, "Failed to process unknown setting: " "invalid type for key"); - return; + continue; } if (mpack_node_type(value) != mpack_type_str) { - mlog(dd_log_warning, "Failed to process user collection setting: " + mlog(dd_log_warning, "Failed to process unknown setting: " "invalid type for value"); - return; + continue; } const char *key_str = mpack_node_str(key); @@ -599,7 +599,7 @@ static void dd_command_process_settings(mpack_node_t root) "unknown key %.*s", (int)key_len, key_str); } - return; + continue; } } } diff --git a/appsec/src/extension/commands_helpers.h b/appsec/src/extension/commands_helpers.h index 10cc9cbce3..3ebe26c140 100644 --- a/appsec/src/extension/commands_helpers.h +++ b/appsec/src/extension/commands_helpers.h @@ -5,8 +5,8 @@ // (https://www.datadoghq.com/). Copyright 2021 Datadog, Inc. #pragma once -#include "attributes.h" #include "commands_ctx.h" +#include "attributes.h" #include "dddefs.h" #include "network.h" #include diff --git a/appsec/src/extension/user_tracking.h b/appsec/src/extension/user_tracking.h index c9a16e763b..549652a16b 100644 --- a/appsec/src/extension/user_tracking.h +++ b/appsec/src/extension/user_tracking.h @@ -5,6 +5,7 @@ // (https://www.datadoghq.com/). Copyright 2021 Datadog, Inc. #pragma once +#include "zai_string/string.h" #include "attributes.h" #include diff --git a/appsec/src/helper/remote_config/listeners/asm_features_listener.cpp b/appsec/src/helper/remote_config/listeners/asm_features_listener.cpp index af9931ef57..156db3e98c 100644 --- a/appsec/src/helper/remote_config/listeners/asm_features_listener.cpp +++ b/appsec/src/helper/remote_config/listeners/asm_features_listener.cpp @@ -17,10 +17,6 @@ void asm_features_listener::init() ruleset_ = rapidjson::Document(rapidjson::kObjectType); aggregator_ = std::make_unique(); aggregator_->init(&ruleset_.GetAllocator()); -} - -void asm_features_listener::on_unapply(const config & /*config*/) -{ service_config_->unset_asm(); service_config_->unset_auto_user_instrum(); } @@ -103,4 +99,4 @@ void asm_features_listener::commit() service_config_->set_auto_user_instrum(mode); } -} // namespace dds::remote_config +} // namespace dds::remote_config \ No newline at end of file diff --git a/appsec/src/helper/remote_config/listeners/asm_features_listener.hpp b/appsec/src/helper/remote_config/listeners/asm_features_listener.hpp index 0bbd9263de..9e86b02c29 100644 --- a/appsec/src/helper/remote_config/listeners/asm_features_listener.hpp +++ b/appsec/src/helper/remote_config/listeners/asm_features_listener.hpp @@ -21,7 +21,7 @@ class asm_features_listener : public listener_base { void init() override; void on_update(const config &config) override; - void on_unapply(const config &config) override; + void on_unapply(const config &config) override {} void commit() override; [[nodiscard]] std::unordered_set get_supported_products() override diff --git a/appsec/tests/helper/remote_config/listeners/asm_features_listener_test.cpp b/appsec/tests/helper/remote_config/listeners/asm_features_listener_test.cpp index 31bbcbe5d0..ef92e00253 100644 --- a/appsec/tests/helper/remote_config/listeners/asm_features_listener_test.cpp +++ b/appsec/tests/helper/remote_config/listeners/asm_features_listener_test.cpp @@ -571,36 +571,4 @@ TEST(RemoteConfigAsmFeaturesListener, ErrorConfigInvalidEnabledKey) remote_config_service->get_auto_user_intrum_mode()); EXPECT_EQ(0, error_message.compare(expected_error_message)); } - -TEST(RemoteConfigAsmFeaturesListener, UnapplyWithAsmEnabled) -{ - auto remote_config_service = std::make_shared(); - remote_config::asm_features_listener listener(remote_config_service); - listener.init(); - - EXPECT_EQ(enable_asm_status::NOT_SET, - remote_config_service->get_asm_enabled_status()); - EXPECT_EQ(auto_user_instrum_mode::UNDEFINED, - remote_config_service->get_auto_user_intrum_mode()); - - try { - listener.on_update(get_asm_enabled_config()); - listener.on_update(get_auto_user_instrum_config()); - listener.commit(); - } catch (remote_config::error_applying_config &error) { - std::cout << error.what() << std::endl; - } - - EXPECT_EQ(enable_asm_status::ENABLED, - remote_config_service->get_asm_enabled_status()); - EXPECT_EQ(auto_user_instrum_mode::IDENTIFICATION, - remote_config_service->get_auto_user_intrum_mode()); - - listener.on_unapply(get_asm_enabled_config()); - - EXPECT_EQ(enable_asm_status::NOT_SET, - remote_config_service->get_asm_enabled_status()); - EXPECT_EQ(auto_user_instrum_mode::UNDEFINED, - remote_config_service->get_auto_user_intrum_mode()); -} } // namespace dds