resolve: fix CNAME chain resolution with caching #3709#3733
Merged
bogdan-iancu merged 1 commit intoOpenSIPS:masterfrom Jan 27, 2026
Merged
resolve: fix CNAME chain resolution with caching #3709#3733bogdan-iancu merged 1 commit intoOpenSIPS:masterfrom
bogdan-iancu merged 1 commit intoOpenSIPS:masterfrom
Conversation
The DNS resolver now explicitly follows CNAME chains instead of relying on res_search() to handle them transparently. This fixes resolution failures when the DNS cache module is enabled, as cached CNAME responses need to be followed manually to reach the final A/AAAA records. Changes: - Add iterative CNAME chain following in own_gethostbyname2() - Limit chain depth to 10 to prevent infinite loops - Add debug logging for CNAME traversal
Member
|
Thank you @hafkensite , it took me a bit to understand the details of the issue and of the fix (the dns_cacher is not guilty at all, just its usage triggers a different way of doing DNS queries in the core). |
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.
Summary
The DNS resolver now explicitly follows CNAME chains instead of relying on res_search() to handle them transparently. This fixes resolution failures when the DNS cache module is enabled, as cached CNAME responses need to be followed manually to reach the final A/AAAA records.
Details
Fixes issue #3709, recursive CNAME doesn't work when dns_cache module is used.
Solution
Changes:
Compatibility
Nope.
Closing issues
closes #3709