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]

Reply via email to