From daa9ed4f743597742a76ac67eb1bd440d79d08a8 Mon Sep 17 00:00:00 2001 From: nvenka781 Date: Wed, 28 Jan 2026 01:02:11 +0000 Subject: [PATCH 1/8] Added flags to check MAPT feature mode check --- .../apply_system_defaults.c | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c index 0a589550..f963ed79 100644 --- a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c +++ b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c @@ -1362,6 +1362,43 @@ static int ApplyPartnersObjectItemsIntoSysevents( char *pcPartnerID ) return 0; } +#if defined(FEATURE_MAPT) || defined(FEATURE_SUPPORT_MAPT_NAT46) +#if defined(_ONESTACK_PRODUCT_REQ_) +#define FEATURE_MAPT 1 +// TODO: Temporary stub +static BOOL isFeatureSupportedInCurrentMode(int feature_id) +{ + struct stat st; + (void)feature_id; + + return (stat("/nvram2/mapt.support", &st) == 0) ? TRUE : FALSE; +} + +static BOOL IsMAPTConflictingFeaturesEnabled(void) +{ + struct { + const char *feature_syscfg; + const char *log; + } conflicts[] = { +#if defined(_COSA_FOR_BCI_) + { "one_to_one_nat", "1-to-1 NAT" }, +#endif + }; + int range = (int)(sizeof(conflicts)/sizeof(conflicts[0])); + + for (int i = 0; i < range; i++) + { + if ( 0 == IsValuePresentinSyscfgDB(conflicts[i].feature_syscfg) ) + { + printf("MAP-T blocked: feature %s is already enabled\n", conflicts[i].log); + return TRUE; + } + } + + return FALSE; +} +#endif + STATIC void addInSysCfgdDB (char *key, char *value) { /* There are parameters which needs to be available in syscfg/PSM DBs @@ -1564,6 +1601,18 @@ STATIC void addInSysCfgdDB (char *key, char *value) { if ( 0 == IsValuePresentinSyscfgDB( "MAPT_Enable" ) ) { +#if defined(_ONESTACK_PRODUCT_REQ_) + if (!isFeatureSupportedInCurrentMode(FEATURE_MAPT)) + { + printf("MAP-T enable rejected, unsupported mode\n"); + return FALSE; + } + else if (IsMAPTConflictingFeaturesEnabled()) + { + printf("MAP-T enable rejected due to conflicting features\n"); + return FALSE; + } +#endif set_syscfg_partner_values( value,"MAPT_Enable" ); } } @@ -1804,6 +1853,19 @@ STATIC void updateSysCfgdDB (char *key, char *value) #if defined(FEATURE_MAPT) || defined(FEATURE_SUPPORT_MAPT_NAT46) if ( 0 == strcmp ( key, "Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.MAP-T.Enable" ) ) { +#if defined(_ONESTACK_PRODUCT_REQ_) + if (!isFeatureSupportedInCurrentMode(FEATURE_MAPT)) + { + printf("MAP-T enable rejected, unsupported mode\n"); + return FALSE; + } + else if (IsMAPTConflictingFeaturesEnabled()) + { + printf("MAP-T enable rejected due to conflicting features\n"); + return FALSE; + } +#endif + set_syscfg_partner_values( value, "MAPT_Enable"); } #endif From 2b199ce31475c6aaec237d76a648b8282118ba70 Mon Sep 17 00:00:00 2001 From: nvenka781 Date: Wed, 28 Jan 2026 01:38:31 +0000 Subject: [PATCH 2/8] Corrected compilation warnings --- .../init/src/apply_system_defaults/apply_system_defaults.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c index f963ed79..40265120 100644 --- a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c +++ b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c @@ -1366,7 +1366,7 @@ static int ApplyPartnersObjectItemsIntoSysevents( char *pcPartnerID ) #if defined(_ONESTACK_PRODUCT_REQ_) #define FEATURE_MAPT 1 // TODO: Temporary stub -static BOOL isFeatureSupportedInCurrentMode(int feature_id) +static bool isFeatureSupportedInCurrentMode(int feature_id) { struct stat st; (void)feature_id; @@ -1374,7 +1374,7 @@ static BOOL isFeatureSupportedInCurrentMode(int feature_id) return (stat("/nvram2/mapt.support", &st) == 0) ? TRUE : FALSE; } -static BOOL IsMAPTConflictingFeaturesEnabled(void) +static bool IsMAPTConflictingFeaturesEnabled(void) { struct { const char *feature_syscfg; @@ -1388,7 +1388,7 @@ static BOOL IsMAPTConflictingFeaturesEnabled(void) for (int i = 0; i < range; i++) { - if ( 0 == IsValuePresentinSyscfgDB(conflicts[i].feature_syscfg) ) + if ( 0 == IsValuePresentinSyscfgDB((char *)conflicts[i].feature_syscfg) ) { printf("MAP-T blocked: feature %s is already enabled\n", conflicts[i].log); return TRUE; @@ -1398,6 +1398,7 @@ static BOOL IsMAPTConflictingFeaturesEnabled(void) return FALSE; } #endif +#endif STATIC void addInSysCfgdDB (char *key, char *value) { From f51b3307719b00d2b073b5456d1751e1d2c1ed45 Mon Sep 17 00:00:00 2001 From: nvenka781 Date: Wed, 28 Jan 2026 01:44:10 +0000 Subject: [PATCH 3/8] Corrected function returns --- .../init/src/apply_system_defaults/apply_system_defaults.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c index 40265120..a26984aa 100644 --- a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c +++ b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c @@ -1606,12 +1606,12 @@ STATIC void addInSysCfgdDB (char *key, char *value) if (!isFeatureSupportedInCurrentMode(FEATURE_MAPT)) { printf("MAP-T enable rejected, unsupported mode\n"); - return FALSE; + return; } else if (IsMAPTConflictingFeaturesEnabled()) { printf("MAP-T enable rejected due to conflicting features\n"); - return FALSE; + return; } #endif set_syscfg_partner_values( value,"MAPT_Enable" ); From bbafb1f487830b1de468fe5ce5a1fae59a58d38b Mon Sep 17 00:00:00 2001 From: nvenka781 Date: Wed, 28 Jan 2026 01:47:47 +0000 Subject: [PATCH 4/8] Corrected function returns --- .../init/src/apply_system_defaults/apply_system_defaults.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c index a26984aa..2f3f162c 100644 --- a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c +++ b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c @@ -1858,12 +1858,12 @@ STATIC void updateSysCfgdDB (char *key, char *value) if (!isFeatureSupportedInCurrentMode(FEATURE_MAPT)) { printf("MAP-T enable rejected, unsupported mode\n"); - return FALSE; + return; } else if (IsMAPTConflictingFeaturesEnabled()) { printf("MAP-T enable rejected due to conflicting features\n"); - return FALSE; + return; } #endif From 4eee3e816a63656c1cf41b54a559235573806546 Mon Sep 17 00:00:00 2001 From: nvenka781 Date: Wed, 28 Jan 2026 02:46:51 +0000 Subject: [PATCH 5/8] Fixed some review comments --- .../src/apply_system_defaults/apply_system_defaults.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c index 2f3f162c..f161976c 100644 --- a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c +++ b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c @@ -1364,7 +1364,6 @@ static int ApplyPartnersObjectItemsIntoSysevents( char *pcPartnerID ) #if defined(FEATURE_MAPT) || defined(FEATURE_SUPPORT_MAPT_NAT46) #if defined(_ONESTACK_PRODUCT_REQ_) -#define FEATURE_MAPT 1 // TODO: Temporary stub static bool isFeatureSupportedInCurrentMode(int feature_id) { @@ -1390,7 +1389,7 @@ static bool IsMAPTConflictingFeaturesEnabled(void) { if ( 0 == IsValuePresentinSyscfgDB((char *)conflicts[i].feature_syscfg) ) { - printf("MAP-T blocked: feature %s is already enabled\n", conflicts[i].log); + APPLY_PRINT("MAP-T blocked: feature %s is already enabled\n", conflicts[i].log); return TRUE; } } @@ -1605,12 +1604,12 @@ STATIC void addInSysCfgdDB (char *key, char *value) #if defined(_ONESTACK_PRODUCT_REQ_) if (!isFeatureSupportedInCurrentMode(FEATURE_MAPT)) { - printf("MAP-T enable rejected, unsupported mode\n"); + APPLY_PRINT("MAP-T enable rejected, unsupported mode\n"); return; } else if (IsMAPTConflictingFeaturesEnabled()) { - printf("MAP-T enable rejected due to conflicting features\n"); + APPLY_PRINT("MAP-T enable rejected due to conflicting features\n"); return; } #endif @@ -1857,12 +1856,12 @@ STATIC void updateSysCfgdDB (char *key, char *value) #if defined(_ONESTACK_PRODUCT_REQ_) if (!isFeatureSupportedInCurrentMode(FEATURE_MAPT)) { - printf("MAP-T enable rejected, unsupported mode\n"); + APPLY_PRINT("MAP-T enable rejected, unsupported mode\n"); return; } else if (IsMAPTConflictingFeaturesEnabled()) { - printf("MAP-T enable rejected due to conflicting features\n"); + APPLY_PRINT("MAP-T enable rejected due to conflicting features\n"); return; } #endif From 458358e47a7cd38e063d134d03eed7df0ccf61f0 Mon Sep 17 00:00:00 2001 From: nvenka781 Date: Thu, 29 Jan 2026 02:58:53 +0000 Subject: [PATCH 6/8] Addressed review comments --- .../apply_system_defaults.c | 26 +++++++++---------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c index f161976c..dd2a88f4 100644 --- a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c +++ b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c @@ -1379,9 +1379,7 @@ static bool IsMAPTConflictingFeaturesEnabled(void) const char *feature_syscfg; const char *log; } conflicts[] = { -#if defined(_COSA_FOR_BCI_) { "one_to_one_nat", "1-to-1 NAT" }, -#endif }; int range = (int)(sizeof(conflicts)/sizeof(conflicts[0])); @@ -1599,20 +1597,20 @@ STATIC void addInSysCfgdDB (char *key, char *value) #if defined(FEATURE_MAPT) || defined(FEATURE_SUPPORT_MAPT_NAT46) if ( 0 == strcmp ( key, "Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.MAP-T.Enable") ) { - if ( 0 == IsValuePresentinSyscfgDB( "MAPT_Enable" ) ) - { #if defined(_ONESTACK_PRODUCT_REQ_) - if (!isFeatureSupportedInCurrentMode(FEATURE_MAPT)) - { - APPLY_PRINT("MAP-T enable rejected, unsupported mode\n"); - return; - } - else if (IsMAPTConflictingFeaturesEnabled()) - { - APPLY_PRINT("MAP-T enable rejected due to conflicting features\n"); - return; - } + if (!isFeatureSupportedInCurrentMode(FEATURE_MAPT)) + { + APPLY_PRINT("MAP-T enable rejected, unsupported mode\n"); + return; + } + else if (IsMAPTConflictingFeaturesEnabled()) + { + APPLY_PRINT("MAP-T enable rejected due to conflicting features\n"); + return; + } #endif + if ( 0 == IsValuePresentinSyscfgDB( "MAPT_Enable" ) ) + { set_syscfg_partner_values( value,"MAPT_Enable" ); } } From 67bfe8799eaa3a4706645e9fa537662bd9f4aa2e Mon Sep 17 00:00:00 2001 From: nvenka781 Date: Thu, 29 Jan 2026 03:05:12 +0000 Subject: [PATCH 7/8] Addressed review comments --- .../src/apply_system_defaults/apply_system_defaults.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c index dd2a88f4..26cb375a 100644 --- a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c +++ b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c @@ -1373,6 +1373,8 @@ static bool isFeatureSupportedInCurrentMode(int feature_id) return (stat("/nvram2/mapt.support", &st) == 0) ? TRUE : FALSE; } +#if 0 +// uncomment later when actual check is finalized static bool IsMAPTConflictingFeaturesEnabled(void) { struct { @@ -1395,6 +1397,12 @@ static bool IsMAPTConflictingFeaturesEnabled(void) return FALSE; } #endif + +static bool IsMAPTConflictingFeaturesEnabled(void) +{ + return FALSE; +} +#endif #endif STATIC void addInSysCfgdDB (char *key, char *value) From 1cffb18b56032a87cbc1897ef5cef2e771f532c8 Mon Sep 17 00:00:00 2001 From: nvenka781 Date: Thu, 29 Jan 2026 03:23:11 +0000 Subject: [PATCH 8/8] iCorrect MAPT feature id for stub --- .../init/src/apply_system_defaults/apply_system_defaults.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c index 26cb375a..0a867155 100644 --- a/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c +++ b/source/scripts/init/src/apply_system_defaults/apply_system_defaults.c @@ -1606,7 +1606,7 @@ STATIC void addInSysCfgdDB (char *key, char *value) if ( 0 == strcmp ( key, "Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.MAP-T.Enable") ) { #if defined(_ONESTACK_PRODUCT_REQ_) - if (!isFeatureSupportedInCurrentMode(FEATURE_MAPT)) + if (!isFeatureSupportedInCurrentMode(0 /* FEATURE_MAPT id */)) { APPLY_PRINT("MAP-T enable rejected, unsupported mode\n"); return; @@ -1860,7 +1860,7 @@ STATIC void updateSysCfgdDB (char *key, char *value) if ( 0 == strcmp ( key, "Device.DeviceInfo.X_RDKCENTRAL-COM_RFC.Feature.MAP-T.Enable" ) ) { #if defined(_ONESTACK_PRODUCT_REQ_) - if (!isFeatureSupportedInCurrentMode(FEATURE_MAPT)) + if (!isFeatureSupportedInCurrentMode(0 /* FEATURE_MAPT id */)) { APPLY_PRINT("MAP-T enable rejected, unsupported mode\n"); return;