diff --git a/components/security_apps/orchestration/update_communication/declarative_policy_utils.cc b/components/security_apps/orchestration/update_communication/declarative_policy_utils.cc index 00e8a49..fcfce84 100644 --- a/components/security_apps/orchestration/update_communication/declarative_policy_utils.cc +++ b/components/security_apps/orchestration/update_communication/declarative_policy_utils.cc @@ -168,6 +168,10 @@ DeclarativePolicyUtils::getUpdate(CheckUpdateRequest &request) auto maybe_new_version = getLocalPolicyChecksum(); if (!maybe_new_version.ok() || maybe_new_version == curr_version) { + if (!policy_checksum.ok() || getPolicyChecksum() != policy_checksum.unpack()) { + dbgTrace(D_ORCHESTRATOR) << "Update policy checksum"; + return getPolicyChecksum(); + } dbgDebug(D_ORCHESTRATOR) << "No new version is currently available"; return ""; } diff --git a/components/security_apps/orchestration/update_communication/fog_communication.cc b/components/security_apps/orchestration/update_communication/fog_communication.cc index 1772749..30731ef 100755 --- a/components/security_apps/orchestration/update_communication/fog_communication.cc +++ b/components/security_apps/orchestration/update_communication/fog_communication.cc @@ -100,8 +100,11 @@ FogCommunication::downloadAttributeFile(const GetResourceFile &resourse_file, co string policy_mgmt_mode = getSettingWithDefault("management", "profileManagedMode"); if (policy_mgmt_mode == "declarative" && resourse_file.getFileName() =="policy") { - dbgDebug(D_ORCHESTRATOR) << "Download policy on declarative mode - returnig the local policy"; - return i_declarative_policy->getCurrPolicy(); + dbgDebug(D_ORCHESTRATOR) << "Download policy on declarative mode - returning the local policy"; + string policy = i_declarative_policy->getCurrPolicy(); + auto orchestration_tools = Singleton::Consume::by(); + if (orchestration_tools->writeFile(policy, file_path)) return policy; + return genError("Failed to write policy to file: " + file_path); } static const string file_attribute_str = "/api/v2/agents/resources/"; diff --git a/components/security_apps/orchestration/update_communication/update_communication_ut/fog_communication_ut.cc b/components/security_apps/orchestration/update_communication/update_communication_ut/fog_communication_ut.cc index b0f9ed6..eabc0a9 100755 --- a/components/security_apps/orchestration/update_communication/update_communication_ut/fog_communication_ut.cc +++ b/components/security_apps/orchestration/update_communication/update_communication_ut/fog_communication_ut.cc @@ -1417,6 +1417,10 @@ TEST_F(FogCommunicationTest, downloadFileDeclarativeMode) mock_ot, writeFile(encrypted_access_token, data_path + session_token_file_name, false)).WillOnce(Return(true) ); + EXPECT_CALL( + mock_ot, + writeFile(_, "/tmp/orch_files/", false)).WillOnce(Return(true) + ); EXPECT_CALL(mock_ml, yield(A())).WillOnce( Invoke( [] (chrono::microseconds microseconds) diff --git a/nodes/http_transaction_handler/CMakeLists.txt b/nodes/http_transaction_handler/CMakeLists.txt index 23488c7..f8f8f88 100755 --- a/nodes/http_transaction_handler/CMakeLists.txt +++ b/nodes/http_transaction_handler/CMakeLists.txt @@ -83,8 +83,6 @@ gen_help( "--certs-dir " "Path to the hosts trusted ca directory" ) -set_package_params("--platform x86") - gen_package( install-cp-nano-service-http-transaction-handler.sh http_transaction_handler_service diff --git a/nodes/orchestration/CMakeLists.txt b/nodes/orchestration/CMakeLists.txt index 43a10dd..84e3bdf 100755 --- a/nodes/orchestration/CMakeLists.txt +++ b/nodes/orchestration/CMakeLists.txt @@ -166,8 +166,6 @@ gen_help( "-ia" "Ignore access control package" ) -set_package_params("--platform x86") - gen_package( install-cp-nano-agent.sh orchestration