Can't handle "Additional" section
- Dominant language
- Rust
- Stars
- 78
- Forks
- 22
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 13
Description
I have a router with built-in DNS server capabilities. It's behaving in the following way:
1. When it's queried for a name that has multiple IP addresses, it returns all of them in the ANSWER section.
---
2. When it's queried again in the following few seconds, it returns just a single answer in the ADDITIONAL section.
---
Now, I'm not sure why, but when an answer contains multiple responses, nsncd seems to repeat the query. If the DNS server responds again with multiple responses, everything is fine, and nsncd answers on its front-end socket with a single IP address. But when I use the DNS server described above, it returns a strange response upon receiving the upstream strange response:
---
For comparison, here's a good response with google.com's IP address (it seems to always return just one IP address from both my strange DNS server, as well as 8.8.8.8):
---
I don't know much about rust, neither about nsncd in particular. I'm a NixOS user with access to this peculiar DNS server for only a few days. So anyone debugging this please do let me know if you want me to provide additional information.
Contributor guide
Research direction
Reproduce the issue with the described router DNS server and compare responses that place records in ANSWER versus ADDITIONAL sections. Trace nsncd's upstream response handling and verify that an ADDITIONAL-section response is parsed correctly and produces the expected single IP address on the frontend socket.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100