AdguardTeam / dnsproxy

Simple DNS proxy with DoH, DoT, DoQ and DNSCrypt support
Apache License 2.0
2.44k stars 247 forks source link

edns-addr breaks caching (again) #414

Open timkgh opened 2 months ago

timkgh commented 2 months ago

Same as the previous bug: https://github.com/AdguardTeam/dnsproxy/issues/329

Looks like the bug is back again. If I remove edns-addr from dnsproxy.yaml caching works.

timkgh commented 2 months ago

🤔 it may actually be a problem with the upstream DNS server and ECS. Should this response be cached?

2024/08/21 21:50:55.357266 DEBUG ecs does not match prefix=dnsproxy prefix=cache ecs=192.73.252.198/32 req_ecs=66.60.200.0/24

Can dnsproxy just cache if a static edns-addr is set in its options regardless of what the upstream returns? If edns-addr is set everything should be cachable, e.g. when running on a home router. This should probably be the default behavior or add a setting ignore ECS in responses and just cache, though setting edns-addr should imply such an option.