From 06f6e13358706bb965ccca7816f4f947e485eaa0 Mon Sep 17 00:00:00 2001 From: "Nagulapally, Arun Kumar" Date: Wed, 27 May 2026 11:42:22 -0700 Subject: [PATCH 1/4] RDKB-64617 Set Default RFC values on Fully Deployed RFC Features (AdvanceSecurity) Reason for change: enable Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AdvanceSecurityCujoTelemetry.Enable & Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.AdvanceSecurityCujoTracer.Enable to true Test Procedure: Ensure default value persists on FR scenario's and no functionality issue observed. Risks: Low Signed-off-by: arunkumar_nagulapally@comcast.com --- .../cosa_adv_security_internal.c | 66 +++++++++++----- .../cosa_adv_security_internal.h | 10 +++ .../CcspAdvSecurityInternalTest.cpp | 75 +++++++++++++++++++ 3 files changed, 132 insertions(+), 19 deletions(-) diff --git a/source/AdvSecurityDml/cosa_adv_security_internal.c b/source/AdvSecurityDml/cosa_adv_security_internal.c index e10ddc1..97496f8 100644 --- a/source/AdvSecurityDml/cosa_adv_security_internal.c +++ b/source/AdvSecurityDml/cosa_adv_security_internal.c @@ -1027,6 +1027,8 @@ CosaSecurityInitialize { UNREFERENCED_PARAMETER(hThisObject); ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; + ANSC_STATUS getCujoTracerRfcStatus = ANSC_STATUS_FAILURE; + ANSC_STATUS getCujoTelemetryRfcStatus = ANSC_STATUS_FAILURE; ULONG Value = 0; ULONG ValueSB = 0; ULONG ValueSF = 0; @@ -1282,8 +1284,8 @@ CosaSecurityInitialize CosaGetSysCfgUlong(g_AdvSecAgentEnabled, &ValueASAGENT_RFC); CosaGetSysCfgUlong(g_AdvSecSafeBrowsingEnabled, &ValueASSAFEBROWSING_RFC); CosaGetSysCfgUlong(g_AdvSecCujoTelemetryWiFiFPEnabled, &ValueASCUJOTELEMETRYWIFIFP_RFC); - CosaGetSysCfgUlong(g_AdvSecCujoTracerEnabled, &ValueASCUJOTRACER_RFC); - CosaGetSysCfgUlong(g_AdvSecCujoTelemetryEnabled, &ValueASCUJOTELEMETRY_RFC); + getCujoTracerRfcStatus = CosaGetSysCfgUlong(g_AdvSecCujoTracerEnabled, &ValueASCUJOTRACER_RFC); + getCujoTelemetryRfcStatus = CosaGetSysCfgUlong(g_AdvSecCujoTelemetryEnabled, &ValueASCUJOTELEMETRY_RFC); CosaGetSysCfgUlong(g_AdvSecSATEEnabled, &ValueASSATE_RFC); CosaGetSysCfgUlong(g_AdvSecTCPTrackerFilterDevicesEnabled, &ValueASTCPTrackerFilterDevices_RFC); CosaGetSysCfgUlong(g_RaptrEnabled, &ValueRAPTR_RFC); @@ -1301,21 +1303,21 @@ CosaSecurityInitialize g_pAdvSecAgent->pDFIcmpv6_RFC->bEnable = ValueDFIcmpv6_RFC; g_pAdvSecAgent->pWSDiscoveryAnalysis_RFC->bEnable = ValueWSA_RFC; g_pAdvSecAgent->pAdvSecOTM_RFC->bEnable = ValueASOTM_RFC; - if (ValueASUSERSPACE_RFC == 0) - { - // Enable user-space feature - returnStatus = CosaSetSysCfgUlong(g_AdvSecUserSpaceEnabled, 1); - if (returnStatus != ANSC_STATUS_SUCCESS) - { - CcspTraceError(("%s: syscfg_set failure\n", __FUNCTION__)); - } - g_pAdvSecAgent->pAdvSecUserSpace_RFC->bEnable = TRUE; - CcspTraceInfo(("AdvSecUserSpace_RFCEnable:TRUE\n")); - } - else - { - g_pAdvSecAgent->pAdvSecUserSpace_RFC->bEnable = ValueASUSERSPACE_RFC; - } + g_pAdvSecAgent->pAdvSecUserSpace_RFC->bEnable = ValueASUSERSPACE_RFC; + + returnStatus = CosaAdvSecApplyRfcDefaultTrue( + g_AdvSecCujoTracerEnabled, + getCujoTracerRfcStatus, + ValueASCUJOTRACER_RFC, + &g_pAdvSecAgent->pAdvSecCujoTracer_RFC->bEnable, + "AdvSecCujoTracer_RFCEnable"); + + returnStatus = CosaAdvSecApplyRfcDefaultTrue( + g_AdvSecCujoTelemetryEnabled, + getCujoTelemetryRfcStatus, + ValueASCUJOTELEMETRY_RFC, + &g_pAdvSecAgent->pAdvSecCujoTelemetry_RFC->bEnable, + "AdvSecCujoTelemetry_RFCEnable"); #ifdef WIFI_DATA_COLLECTION g_pAdvSecAgent->pLevl_RFC->bEnable = ValueLEVL_RFC; @@ -1369,8 +1371,6 @@ CosaSecurityInitialize g_pAdvSecAgent->pAdvSecAgent_RFC->bEnable = ValueASAGENT_RFC; g_pAdvSecAgent->pAdvSecSafeBrowsing_RFC->bEnable = ValueASSAFEBROWSING_RFC; g_pAdvSecAgent->pAdvSecCujoTelemetryWiFiFP_RFC->bEnable = ValueASCUJOTELEMETRYWIFIFP_RFC; - g_pAdvSecAgent->pAdvSecCujoTracer_RFC->bEnable = ValueASCUJOTRACER_RFC; - g_pAdvSecAgent->pAdvSecCujoTelemetry_RFC->bEnable = ValueASCUJOTELEMETRY_RFC; g_pAdvSecAgent->pAdvSecSATE_RFC->bEnable = ValueASSATE_RFC; g_pAdvSecAgent->pAdvSecTCPTrackerFilterDevices_RFC->bEnable = ValueASTCPTrackerFilterDevices_RFC; g_pAdvSecAgent->pRaptr_RFC->bEnable = ValueRAPTR_RFC; @@ -1482,6 +1482,34 @@ ANSC_STATUS CosaSetSysCfgUlong(char* setting, ULONG value) return ret; } +ANSC_STATUS +CosaAdvSecApplyRfcDefaultTrue + ( + char* setting, + ANSC_STATUS getStatus, + ULONG value, + BOOL* pEnable, + const char* featureLogName + ) +{ + ANSC_STATUS ret = ANSC_STATUS_SUCCESS; + + if ((getStatus != ANSC_STATUS_SUCCESS) || (value == 0)) + { + ret = CosaSetSysCfgUlong(setting, 1); + if (ret != ANSC_STATUS_SUCCESS) + { + CcspTraceError(("%s: syscfg_set failure\n", __FUNCTION__)); + } + *pEnable = TRUE; + CcspTraceInfo(("%s:TRUE\n", featureLogName)); + return ret; + } + + *pEnable = value; + return ret; +} + #ifdef WIFI_DATA_COLLECTION ANSC_STATUS CosaAdvWifiDataConsumerInit(void) { diff --git a/source/AdvSecurityDml/cosa_adv_security_internal.h b/source/AdvSecurityDml/cosa_adv_security_internal.h index 9fcce96..ea8294c 100644 --- a/source/AdvSecurityDml/cosa_adv_security_internal.h +++ b/source/AdvSecurityDml/cosa_adv_security_internal.h @@ -308,6 +308,16 @@ CosaSetSysCfgUlong ULONG value ); +ANSC_STATUS +CosaAdvSecApplyRfcDefaultTrue + ( + char* setting, + ANSC_STATUS getStatus, + ULONG value, + BOOL* pEnable, + const char* featureLogName + ); + ANSC_STATUS CosaAdvSecGetCustomURL ( diff --git a/source/test/CcspAdvSecurityDmlTest/CcspAdvSecurityInternalTest.cpp b/source/test/CcspAdvSecurityDmlTest/CcspAdvSecurityInternalTest.cpp index 0f3b8e2..821ebdd 100644 --- a/source/test/CcspAdvSecurityDmlTest/CcspAdvSecurityInternalTest.cpp +++ b/source/test/CcspAdvSecurityDmlTest/CcspAdvSecurityInternalTest.cpp @@ -2030,3 +2030,78 @@ TEST_F(CcspAdvSecurityInternalTestFixture, CosaAdvSecAgentRaptrDeInit) free(g_pAdvSecAgent->pRaptr_RFC); free(g_pAdvSecAgent); } + +TEST_F(CcspAdvSecurityInternalTestFixture, CosaAdvSecApplyRfcDefaultTrue_GetFailure_DefaultsToTrue) +{ + const char *AdvSecCujoTracerEnabled = "Adv_AdvSecCujoTracerRFCEnable"; + BOOL enable = FALSE; + + EXPECT_CALL(*g_safecLibMock, _sprintf_s_chk(_, _, _, _)) + .Times(1) + .WillOnce(Return(0)); + EXPECT_CALL(*g_syscfgMock, syscfg_set_nns(StrEq(AdvSecCujoTracerEnabled), _)) + .Times(1) + .WillOnce(Return(0)); + EXPECT_CALL(*g_syscfgMock, syscfg_commit()) + .Times(1) + .WillOnce(Return(0)); + + ANSC_STATUS status = CosaAdvSecApplyRfcDefaultTrue( + (char*)AdvSecCujoTracerEnabled, + ANSC_STATUS_FAILURE, + 0, + &enable, + "AdvSecCujoTracer_RFCEnable"); + + EXPECT_EQ(status, ANSC_STATUS_SUCCESS); + EXPECT_EQ(enable, TRUE); +} + +TEST_F(CcspAdvSecurityInternalTestFixture, CosaAdvSecApplyRfcDefaultTrue_ZeroValue_DefaultsToTrue) +{ + const char *AdvSecCujoTelemetryEnabled = "Adv_AdvSecCujoTelemetryRFCEnable"; + BOOL enable = FALSE; + + EXPECT_CALL(*g_safecLibMock, _sprintf_s_chk(_, _, _, _)) + .Times(1) + .WillOnce(Return(0)); + EXPECT_CALL(*g_syscfgMock, syscfg_set_nns(StrEq(AdvSecCujoTelemetryEnabled), _)) + .Times(1) + .WillOnce(Return(0)); + EXPECT_CALL(*g_syscfgMock, syscfg_commit()) + .Times(1) + .WillOnce(Return(0)); + + ANSC_STATUS status = CosaAdvSecApplyRfcDefaultTrue( + (char*)AdvSecCujoTelemetryEnabled, + ANSC_STATUS_SUCCESS, + 0, + &enable, + "AdvSecCujoTelemetry_RFCEnable"); + + EXPECT_EQ(status, ANSC_STATUS_SUCCESS); + EXPECT_EQ(enable, TRUE); +} + +TEST_F(CcspAdvSecurityInternalTestFixture, CosaAdvSecApplyRfcDefaultTrue_EnabledValue_NoDefaultWrite) +{ + const char *AdvSecCujoTracerEnabled = "Adv_AdvSecCujoTracerRFCEnable"; + BOOL enable = FALSE; + + EXPECT_CALL(*g_syscfgMock, syscfg_set_nns(StrEq(AdvSecCujoTracerEnabled), _)) + .Times(0); + EXPECT_CALL(*g_syscfgMock, syscfg_commit()) + .Times(0); + EXPECT_CALL(*g_safecLibMock, _sprintf_s_chk(_, _, _, _)) + .Times(0); + + ANSC_STATUS status = CosaAdvSecApplyRfcDefaultTrue( + (char*)AdvSecCujoTracerEnabled, + ANSC_STATUS_SUCCESS, + 1, + &enable, + "AdvSecCujoTracer_RFCEnable"); + + EXPECT_EQ(status, ANSC_STATUS_SUCCESS); + EXPECT_EQ(enable, TRUE); +} From 01d21c231a728b26177b76ac4cc2a84f1103f625 Mon Sep 17 00:00:00 2001 From: "Nagulapally, Arun Kumar" Date: Fri, 29 May 2026 09:44:56 -0700 Subject: [PATCH 2/4] Review comments fix --- source/AdvSecurityDml/cosa_adv_security_dml.c | 6 +--- .../cosa_adv_security_internal.c | 30 +++++++------------ .../cosa_adv_security_internal.h | 2 -- 3 files changed, 11 insertions(+), 27 deletions(-) diff --git a/source/AdvSecurityDml/cosa_adv_security_dml.c b/source/AdvSecurityDml/cosa_adv_security_dml.c index 68c1947..838b8b4 100644 --- a/source/AdvSecurityDml/cosa_adv_security_dml.c +++ b/source/AdvSecurityDml/cosa_adv_security_dml.c @@ -3114,11 +3114,7 @@ AdvanceSecurityUserSpace_RFC_SetParamBoolValue if( bValue ) returnStatus = CosaAdvSecUserSpaceInit(g_pAdvSecAgent->pAdvSecUserSpace_RFC); else - { - //returnStatus = CosaAdvSecUserSpaceDeInit(g_pAdvSecAgent->pAdvSecUserSpace_RFC); - CcspTraceInfo(("AdvSecUserSpace_RFC is defaulted to TRUE, cannot be set to FALSE \n")); - return FALSE; - } + returnStatus = CosaAdvSecUserSpaceDeInit(g_pAdvSecAgent->pAdvSecUserSpace_RFC); if ( returnStatus != ANSC_STATUS_SUCCESS ) { diff --git a/source/AdvSecurityDml/cosa_adv_security_internal.c b/source/AdvSecurityDml/cosa_adv_security_internal.c index 25eb85b..88b883c 100644 --- a/source/AdvSecurityDml/cosa_adv_security_internal.c +++ b/source/AdvSecurityDml/cosa_adv_security_internal.c @@ -1103,6 +1103,7 @@ CosaSecurityInitialize ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; ANSC_STATUS getCujoTracerRfcStatus = ANSC_STATUS_FAILURE; ANSC_STATUS getCujoTelemetryRfcStatus = ANSC_STATUS_FAILURE; + ANSC_STATUS getUserSpaceRfcStatus = ANSC_STATUS_FAILURE; ULONG Value = 0; ULONG ValueSB = 0; ULONG ValueSF = 0; @@ -1363,7 +1364,7 @@ CosaSecurityInitialize CosaGetSysCfgUlong(g_DeviceFingerPrintICMPv6Enabled, &ValueDFIcmpv6_RFC); CosaGetSysCfgUlong(g_WSDiscoveryAnalysisEnabled, &ValueWSA_RFC); CosaGetSysCfgUlong(g_AdvSecOTMEnabled, &ValueASOTM_RFC); - CosaGetSysCfgUlong(g_AdvSecUserSpaceEnabled, &ValueASUSERSPACE_RFC); + getUserSpaceRfcStatus = CosaGetSysCfgUlong(g_AdvSecUserSpaceEnabled, &ValueASUSERSPACE_RFC); #ifdef NETWORK_INTELLIGENCE CosaGetSysCfgUlong(g_AdvSecNetworkIntelligenceEnabled, &ValueNI_RFC); CosaGetSysCfgUlong(g_NetworkIntelligenceMemoryLimit, &ValueNIML_RFC); @@ -1396,7 +1397,6 @@ CosaSecurityInitialize g_pAdvSecAgent->pDFIcmpv6_RFC->bEnable = ValueDFIcmpv6_RFC; g_pAdvSecAgent->pWSDiscoveryAnalysis_RFC->bEnable = ValueWSA_RFC; g_pAdvSecAgent->pAdvSecOTM_RFC->bEnable = ValueASOTM_RFC; - g_pAdvSecAgent->pAdvSecUserSpace_RFC->bEnable = ValueASUSERSPACE_RFC; returnStatus = CosaAdvSecApplyRfcDefaultTrue( g_AdvSecCujoTracerEnabled, @@ -1411,21 +1411,13 @@ CosaSecurityInitialize ValueASCUJOTELEMETRY_RFC, &g_pAdvSecAgent->pAdvSecCujoTelemetry_RFC->bEnable, "AdvSecCujoTelemetry_RFCEnable"); - if (ValueASUSERSPACE_RFC == 0) - { - // Enable user-space feature - returnStatus = CosaSetSysCfgUlong(g_AdvSecUserSpaceEnabled, 1); - if (returnStatus != ANSC_STATUS_SUCCESS) - { - CcspTraceError(("%s: syscfg_set failure\n", __FUNCTION__)); - } - g_pAdvSecAgent->pAdvSecUserSpace_RFC->bEnable = TRUE; - CcspTraceInfo(("AdvSecUserSpace_RFCEnable:TRUE\n")); - } - else - { - g_pAdvSecAgent->pAdvSecUserSpace_RFC->bEnable = ValueASUSERSPACE_RFC; - } + + returnStatus = CosaAdvSecApplyRfcDefaultTrue( + g_AdvSecUserSpaceEnabled, + getUserSpaceRfcStatus, + ValueASUSERSPACE_RFC, + &g_pAdvSecAgent->pAdvSecUserSpace_RFC->bEnable, + "AdvSecUserSpace_RFCEnable"); #ifdef NETWORK_INTELLIGENCE g_pAdvSecAgent->pAdvNetworkIntelligence_RFC->bEnable = ValueNI_RFC; g_pAdvSecAgent->pAdvNetworkIntelligence_RFC->uMemoryLimit = ValueNIML_RFC; @@ -1618,7 +1610,7 @@ CosaAdvSecApplyRfcDefaultTrue { ANSC_STATUS ret = ANSC_STATUS_SUCCESS; - if ((getStatus != ANSC_STATUS_SUCCESS) || (value == 0)) + if (getStatus != ANSC_STATUS_SUCCESS) { ret = CosaSetSysCfgUlong(setting, 1); if (ret != ANSC_STATUS_SUCCESS) @@ -3269,7 +3261,6 @@ ANSC_STATUS CosaAdvSecUserSpaceInit(ANSC_HANDLE hThisObject) return returnStatus; } -/* ANSC_STATUS CosaAdvSecUserSpaceDeInit(ANSC_HANDLE hThisObject) { UNREFERENCED_PARAMETER(hThisObject); @@ -3294,7 +3285,6 @@ ANSC_STATUS CosaAdvSecUserSpaceDeInit(ANSC_HANDLE hThisObject) CcspTraceWarning (("AdvSecUserSpace_RFCEnable:FALSE\n")); return returnStatus; } -*/ #ifdef WIFI_DATA_COLLECTION ANSC_STATUS CosaLevlInit(ANSC_HANDLE hThisObject) diff --git a/source/AdvSecurityDml/cosa_adv_security_internal.h b/source/AdvSecurityDml/cosa_adv_security_internal.h index e28218e..e81fd08 100644 --- a/source/AdvSecurityDml/cosa_adv_security_internal.h +++ b/source/AdvSecurityDml/cosa_adv_security_internal.h @@ -478,13 +478,11 @@ CosaAdvSecUserSpaceInit ANSC_HANDLE hThisObject ); -/* ANSC_STATUS CosaAdvSecUserSpaceDeInit ( ANSC_HANDLE hThisObject ); -*/ ANSC_STATUS CosaLevlInit From e3c91e18fac4a49ae89de135f79344dc2e80fb24 Mon Sep 17 00:00:00 2001 From: "Nagulapally, Arun Kumar" Date: Wed, 3 Jun 2026 10:31:11 -0700 Subject: [PATCH 3/4] comments fix --- .../cosa_adv_security_internal.c | 19 ++++++++++++++++--- .../CcspAdvSecurityInternalTest.cpp | 13 +++++-------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/source/AdvSecurityDml/cosa_adv_security_internal.c b/source/AdvSecurityDml/cosa_adv_security_internal.c index 450df3e..0387719 100644 --- a/source/AdvSecurityDml/cosa_adv_security_internal.c +++ b/source/AdvSecurityDml/cosa_adv_security_internal.c @@ -1102,6 +1102,7 @@ CosaSecurityInitialize { UNREFERENCED_PARAMETER(hThisObject); ANSC_STATUS returnStatus = ANSC_STATUS_SUCCESS; + ANSC_STATUS applyRfcStatus = ANSC_STATUS_SUCCESS; ANSC_STATUS getCujoTracerRfcStatus = ANSC_STATUS_FAILURE; ANSC_STATUS getCujoTelemetryRfcStatus = ANSC_STATUS_FAILURE; ANSC_STATUS getUserSpaceRfcStatus = ANSC_STATUS_FAILURE; @@ -1399,26 +1400,38 @@ CosaSecurityInitialize g_pAdvSecAgent->pWSDiscoveryAnalysis_RFC->bEnable = ValueWSA_RFC; g_pAdvSecAgent->pAdvSecOTM_RFC->bEnable = ValueASOTM_RFC; - returnStatus = CosaAdvSecApplyRfcDefaultTrue( + applyRfcStatus = CosaAdvSecApplyRfcDefaultTrue( g_AdvSecCujoTracerEnabled, getCujoTracerRfcStatus, ValueASCUJOTRACER_RFC, &g_pAdvSecAgent->pAdvSecCujoTracer_RFC->bEnable, "AdvSecCujoTracer_RFCEnable"); + if ((returnStatus == ANSC_STATUS_SUCCESS) && (applyRfcStatus != ANSC_STATUS_SUCCESS)) + { + returnStatus = applyRfcStatus; + } - returnStatus = CosaAdvSecApplyRfcDefaultTrue( + applyRfcStatus = CosaAdvSecApplyRfcDefaultTrue( g_AdvSecCujoTelemetryEnabled, getCujoTelemetryRfcStatus, ValueASCUJOTELEMETRY_RFC, &g_pAdvSecAgent->pAdvSecCujoTelemetry_RFC->bEnable, "AdvSecCujoTelemetry_RFCEnable"); + if ((returnStatus == ANSC_STATUS_SUCCESS) && (applyRfcStatus != ANSC_STATUS_SUCCESS)) + { + returnStatus = applyRfcStatus; + } - returnStatus = CosaAdvSecApplyRfcDefaultTrue( + applyRfcStatus = CosaAdvSecApplyRfcDefaultTrue( g_AdvSecUserSpaceEnabled, getUserSpaceRfcStatus, ValueASUSERSPACE_RFC, &g_pAdvSecAgent->pAdvSecUserSpace_RFC->bEnable, "AdvSecUserSpace_RFCEnable"); + if ((returnStatus == ANSC_STATUS_SUCCESS) && (applyRfcStatus != ANSC_STATUS_SUCCESS)) + { + returnStatus = applyRfcStatus; + } #ifdef NETWORK_INTELLIGENCE g_pAdvSecAgent->pAdvNetworkIntelligence_RFC->bEnable = ValueNI_RFC; g_pAdvSecAgent->pAdvNetworkIntelligence_RFC->uMemoryLimit = ValueNIML_RFC; diff --git a/source/test/CcspAdvSecurityDmlTest/CcspAdvSecurityInternalTest.cpp b/source/test/CcspAdvSecurityDmlTest/CcspAdvSecurityInternalTest.cpp index d6b90ec..78bfb79 100644 --- a/source/test/CcspAdvSecurityDmlTest/CcspAdvSecurityInternalTest.cpp +++ b/source/test/CcspAdvSecurityDmlTest/CcspAdvSecurityInternalTest.cpp @@ -2279,20 +2279,17 @@ TEST_F(CcspAdvSecurityInternalTestFixture, CosaAdvSecApplyRfcDefaultTrue_GetFail EXPECT_EQ(enable, TRUE); } -TEST_F(CcspAdvSecurityInternalTestFixture, CosaAdvSecApplyRfcDefaultTrue_ZeroValue_DefaultsToTrue) +TEST_F(CcspAdvSecurityInternalTestFixture, CosaAdvSecApplyRfcDefaultTrue_ZeroValue_NoDefaultWrite) { const char *AdvSecCujoTelemetryEnabled = "Adv_AdvSecCujoTelemetryRFCEnable"; BOOL enable = FALSE; EXPECT_CALL(*g_safecLibMock, _sprintf_s_chk(_, _, _, _)) - .Times(1) - .WillOnce(Return(0)); + .Times(0); EXPECT_CALL(*g_syscfgMock, syscfg_set_nns(StrEq(AdvSecCujoTelemetryEnabled), _)) - .Times(1) - .WillOnce(Return(0)); + .Times(0); EXPECT_CALL(*g_syscfgMock, syscfg_commit()) - .Times(1) - .WillOnce(Return(0)); + .Times(0); ANSC_STATUS status = CosaAdvSecApplyRfcDefaultTrue( (char*)AdvSecCujoTelemetryEnabled, @@ -2302,7 +2299,7 @@ TEST_F(CcspAdvSecurityInternalTestFixture, CosaAdvSecApplyRfcDefaultTrue_ZeroVal "AdvSecCujoTelemetry_RFCEnable"); EXPECT_EQ(status, ANSC_STATUS_SUCCESS); - EXPECT_EQ(enable, TRUE); + EXPECT_EQ(enable, FALSE); } TEST_F(CcspAdvSecurityInternalTestFixture, CosaAdvSecApplyRfcDefaultTrue_EnabledValue_NoDefaultWrite) From 6f4c845f05d1335468e19a104b6c46fc7dadbc1e Mon Sep 17 00:00:00 2001 From: "Nagulapally, Arun Kumar" Date: Wed, 3 Jun 2026 10:43:47 -0700 Subject: [PATCH 4/4] comments fix --- source/AdvSecurityDml/cosa_adv_security_dml.c | 7 +++++-- source/AdvSecurityDml/cosa_adv_security_internal.c | 3 ++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/source/AdvSecurityDml/cosa_adv_security_dml.c b/source/AdvSecurityDml/cosa_adv_security_dml.c index 838b8b4..2ae720d 100644 --- a/source/AdvSecurityDml/cosa_adv_security_dml.c +++ b/source/AdvSecurityDml/cosa_adv_security_dml.c @@ -3112,9 +3112,12 @@ AdvanceSecurityUserSpace_RFC_SetParamBoolValue if(bValue == g_pAdvSecAgent->pAdvSecUserSpace_RFC->bEnable) return TRUE; if( bValue ) - returnStatus = CosaAdvSecUserSpaceInit(g_pAdvSecAgent->pAdvSecUserSpace_RFC); + returnStatus = CosaAdvSecUserSpaceInit(g_pAdvSecAgent->pAdvSecUserSpace_RFC); else - returnStatus = CosaAdvSecUserSpaceDeInit(g_pAdvSecAgent->pAdvSecUserSpace_RFC); + { + CcspTraceInfo(("AdvSecUserSpace_RFC is defaulted to TRUE, cannot be set to FALSE \n")); + return FALSE; + } if ( returnStatus != ANSC_STATUS_SUCCESS ) { diff --git a/source/AdvSecurityDml/cosa_adv_security_internal.c b/source/AdvSecurityDml/cosa_adv_security_internal.c index 0387719..a366901 100644 --- a/source/AdvSecurityDml/cosa_adv_security_internal.c +++ b/source/AdvSecurityDml/cosa_adv_security_internal.c @@ -1629,7 +1629,8 @@ CosaAdvSecApplyRfcDefaultTrue ret = CosaSetSysCfgUlong(setting, 1); if (ret != ANSC_STATUS_SUCCESS) { - CcspTraceError(("%s: syscfg_set failure\n", __FUNCTION__)); + CcspTraceError(("%s: %s default-to-true persist failed\n", __FUNCTION__, featureLogName)); + return ret; } *pEnable = TRUE; CcspTraceInfo(("%s:TRUE\n", featureLogName));