RDKB-65015 RDKB-65326 : Enable Multi-profile XDNS on XB10(single build)#26
Open
Nithishkumar-T wants to merge 2 commits into
Open
RDKB-65015 RDKB-65326 : Enable Multi-profile XDNS on XB10(single build)#26Nithishkumar-T wants to merge 2 commits into
Nithishkumar-T wants to merge 2 commits into
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Enables Multi-profile XDNS behavior on XB10 single-build by removing device-mode (business vs residential) gating so the same code paths execute under _ONESTACK_PRODUCT_REQ_ for both modes.
Changes:
- Removed
is_devicemode_business()conditionals around DNSSEC syscfg updates and multi-profile handling so behavior applies in both device modes. - Updated webconfig cache application and blob parsing paths to treat RDK-default DNS strings consistently across modes.
- Ensured MultiProfile status lines are handled when syncing/writing resolv.conf-derived content.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| source/dmlxdns/cosa_xdns_webconfig_api.c | Removes business-mode gating for DNSSEC syscfg updates and default DNS parsing during webconfig apply. |
| source/dmlxdns/cosa_xdns_dml.c | Makes DNSSecEnable DML behavior available outside business mode by removing mode checks. |
| source/dmlxdns/cosa_xdns_apis.c | Applies MultiProfile resolv.conf filtering/status handling for all _ONESTACK_PRODUCT_REQ_ / BCI builds, not only business mode. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
292
to
301
| #if defined(_CBR_PRODUCT_REQ_) || defined(_ONESTACK_PRODUCT_REQ_) | ||
| #if defined(_ONESTACK_PRODUCT_REQ_) | ||
| if (is_devicemode_business()) | ||
| #endif // _ONESTACK_PRODUCT_REQ_ | ||
| if (syscfg_set(NULL, "XDNS_DNSSecEnable", bval) != 0) | ||
| { | ||
| if (syscfg_set(NULL, "XDNS_DNSSecEnable", bval) != 0) | ||
| { | ||
| CcspTraceError(("[XDNS] syscfg_set XDNS_DNSSecEnable failed!\n")); | ||
| } | ||
| else | ||
| { | ||
| fprintf(stderr, "%s [XDNS] XDNS_DNSSecEnable value is set to %s in DB\n", __FUNCTION__, bval); | ||
| } | ||
| CcspTraceError(("[XDNS] syscfg_set XDNS_DNSSecEnable failed!\n")); | ||
| } | ||
| else | ||
| { | ||
| fprintf(stderr, "%s [XDNS] XDNS_DNSSecEnable value is set to %s in DB\n", __FUNCTION__, bval); | ||
| } | ||
| #endif // _CBR_PRODUCT_REQ_ || _ONESTACK_PRODUCT_REQ_ |
Comment on lines
634
to
643
| #if defined(_CBR_PRODUCT_REQ_) || defined(_ONESTACK_PRODUCT_REQ_) | ||
| #if defined(_ONESTACK_PRODUCT_REQ_) | ||
| if (is_devicemode_business()) | ||
| #endif // _ONESTACK_PRODUCT_REQ_ | ||
| if (syscfg_set(NULL, "XDNS_DNSSecEnable", setval) != 0) | ||
| { | ||
| if (syscfg_set(NULL, "XDNS_DNSSecEnable", setval) != 0) | ||
| { | ||
| fprintf(stderr, "%s syscfg_set XDNS_DNSSecEnable failed %d !!!\n", __FUNCTION__, tmp_xdns_cache->XdnsEnable); | ||
| } | ||
| else | ||
| { | ||
| fprintf(stderr, "%s XDNS_DNSSecEnable value is set to %d in DB\n", __FUNCTION__, tmp_xdns_cache->XdnsEnable); | ||
| } | ||
| fprintf(stderr, "%s syscfg_set XDNS_DNSSecEnable failed %d !!!\n", __FUNCTION__, tmp_xdns_cache->XdnsEnable); | ||
| } | ||
| else | ||
| { | ||
| fprintf(stderr, "%s XDNS_DNSSecEnable value is set to %d in DB\n", __FUNCTION__, tmp_xdns_cache->XdnsEnable); | ||
| } | ||
| #endif // _CBR_PRODUCT_REQ_ || _ONESTACK_PRODUCT_REQ_ |
Comment on lines
+610
to
+616
| fprintf(fp2, "XDNS_Multi_Profile Enabled\n"); | ||
| fprintf(stderr, "## CcspXDNS #### Multi Profile XDNS feature is Enabled\n"); | ||
| } | ||
| else | ||
| { | ||
| fprintf(fp2, "XDNS_Multi_Profile Disabled\n"); | ||
| fprintf(stderr, "## CcspXDNS #### Multi Profile XDNS feature is disabled\n"); |
Comment on lines
1727
to
1730
| #if defined(_COSA_FOR_BCI_) || defined(_ONESTACK_PRODUCT_REQ_) | ||
| #if defined(_ONESTACK_PRODUCT_REQ_) | ||
| if (is_devicemode_business()) | ||
| #endif // _ONESTACK_PRODUCT_REQ_ | ||
| { | ||
| char multiprofile_flag[5] = {0}; | ||
| syscfg_get(NULL, "MultiProfileXDNS", multiprofile_flag, sizeof(multiprofile_flag)); |
Comment on lines
634
to
+638
| #if defined(_CBR_PRODUCT_REQ_) || defined(_ONESTACK_PRODUCT_REQ_) | ||
| #if defined(_ONESTACK_PRODUCT_REQ_) | ||
| if (is_devicemode_business()) | ||
| #endif // _ONESTACK_PRODUCT_REQ_ | ||
| if (syscfg_set(NULL, "XDNS_DNSSecEnable", setval) != 0) | ||
| { | ||
| if (syscfg_set(NULL, "XDNS_DNSSecEnable", setval) != 0) | ||
| { | ||
| fprintf(stderr, "%s syscfg_set XDNS_DNSSecEnable failed %d !!!\n", __FUNCTION__, tmp_xdns_cache->XdnsEnable); | ||
| } | ||
| else | ||
| { | ||
| fprintf(stderr, "%s XDNS_DNSSecEnable value is set to %d in DB\n", __FUNCTION__, tmp_xdns_cache->XdnsEnable); | ||
| } | ||
| fprintf(stderr, "%s syscfg_set XDNS_DNSSecEnable failed %d !!!\n", __FUNCTION__, tmp_xdns_cache->XdnsEnable); | ||
| } |
Comment on lines
292
to
+296
| #if defined(_CBR_PRODUCT_REQ_) || defined(_ONESTACK_PRODUCT_REQ_) | ||
| #if defined(_ONESTACK_PRODUCT_REQ_) | ||
| if (is_devicemode_business()) | ||
| #endif // _ONESTACK_PRODUCT_REQ_ | ||
| if (syscfg_set(NULL, "XDNS_DNSSecEnable", bval) != 0) | ||
| { | ||
| if (syscfg_set(NULL, "XDNS_DNSSecEnable", bval) != 0) | ||
| { | ||
| CcspTraceError(("[XDNS] syscfg_set XDNS_DNSSecEnable failed!\n")); | ||
| } | ||
| else | ||
| { | ||
| fprintf(stderr, "%s [XDNS] XDNS_DNSSecEnable value is set to %s in DB\n", __FUNCTION__, bval); | ||
| } | ||
| CcspTraceError(("[XDNS] syscfg_set XDNS_DNSSecEnable failed!\n")); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reason for change: Enable Multiprofile XDNS bridges by default in XB10
Test Procedure: Residential and Business devicemode needs to be tested.
Functionality of the following DMLs need to be tested:
Above mentioned DML parameters SHOULD work in both residential and business devicemode.
Risks: Low
Priority: P1
Signed-off-by:Nithishkumar_Thirumoorthi@comcast.com