-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DNS response case preservation #3194
Comments
Thanks for the report. We'll try to return the case preservation in the next few days. |
Updates #3194. Squashed commit of the following: commit 42a363c Author: Ainar Garipov <[email protected]> Date: Mon May 31 15:15:59 2021 +0300 dnsforward: preserve domain name case
Hi thanks, from looking at the code I think that looks fine. |
I see. I don't know if Home Assistant has a way to switch to an edge revision, as it is an unofficial plugin, if I recall correctly. I'll close this issue, of you don't mind. Feel free after the final v0.107.0 release if the issue persists. |
Updates AdguardTeam#3194. Squashed commit of the following: commit 42a363c Author: Ainar Garipov <[email protected]> Date: Mon May 31 15:15:59 2021 +0300 dnsforward: preserve domain name case
Issue Details
Expected Behavior
RFC4343 for dns states that the reply must match the request. The case for the reply must match the case for the request.
Actual Behavior
The reply for the dns query is now returning lowercase domain name.
Additional Information
With the changes made in PR3115 the DNS reply is now invalid as it is lowercasing the domain. Which whilst this is fine and great for filtering the reply should maintain the original case.
This problem caused one of my devices to go offline as it could no longer resolve the address it was sending data to and after an exchange with their support and running a tcpdump, found the dns reply and request was different. The IoT device has very limited configuration options and no static configuration it gets its settings over dhcp so as a workaround I've set it to return the router as a dns server which looks up via adguard as the router is returning a valid response even though the response it gets from adguard is invalid (which suggests the routers dns client is implemented incorrectly but that's another matter).
From looking at the code I believe it is line 26 in filter.go that is the cause of this as if I've read it correctly that replaces the original name with a lowercase one.
The text was updated successfully, but these errors were encountered: