AlinsRan opened a new pull request, #13875: URL: https://github.com/apache/apisix/pull/13875
### Description Upgrades `api7-lua-resty-dns-client` to 7.1.2, which fixes `finalCacheOnly` — the option APISIX turns on in `core/dns/client.lua`. 7.1.2 walks the CNAME chain to the name it ends at and collapses only the records that name owns. Before it, the branch was entered by testing the last record of the flattened answer list, and a chain failed to resolve at all whenever that record did not happen to be of the requested type: ``` [AN] alias.example.com 60 CNAME target.example.net [AN] target.example.net 60 A 192.0.2.1 [AR] <root> OPT (EDNS(0)) ``` The tail records are owned by the canonical name, so the name filter below dropped them and `resolve()` returned `dns client error: 101 empty record received` over a perfectly valid response. Two shapes reach that: a responder appending an EDNS(0) OPT record to a query that carried none, and an answer section not listed in chain order — neither is under the client's control. The same guard could also rename a same-type record owned by an unrelated name onto the queried name and cache it there. Upstream changelog: https://github.com/api7/lua-resty-dns-client/pull/14 ### Checklist - [x] I have explained the need for this PR and the problem it solves - [x] I have explained the changes or the new features added to this PR - [ ] I have added tests corresponding to this change - [ ] I have updated the documentation to reflect this change - [x] I have verified that this change is backward compatible (If not, please discuss on the [APISIX mailing list](https://github.com/apache/apisix/tree/master#community) first) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
