it turns out, after sending stale cache to client (macOS),  dnsmasq tries
to query upstream,  but this time, it is sending malformed packet:

Queries

api.github.com: type A, class IN

Name: api.github.com

[Name Length: 14]

[Label Count: 3]

Type: A (Host Address) (1)

Class: IN (0x0001)

Additional records

[Malformed Packet: DNS]

[Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]

[Malformed Packet (Exception occurred)]

[Severity level: Error]

and all the rest of query are sent to upstream like that.

notice: only reproducable if the client is macOS, and upstream is a DoH/DoT
proxy like adguard/dnsproxy


On Mon, May 1, 2023 at 03:42 Justin <cattyho...@gmail.com> wrote:

> Hello devs
>
> in order to use DOH/DOT, a proxy upstream is configured, when dnsmasq
> enables use-stale-cache, some upstream may return error when dnsmasq tries
> to refresh the record from upstream after stale cache is sent to client.
>
> i reported the issue here in dnsproxy project, as this is the DOH proxy i
> am currently using. however i've tried many other Go/Rust DOH proxy (
> namely doh-client, dns-over-https, dnss, cloudflared) , they all return
> error when dnsmasq tries to refresh the record.
>
> https://github.com/AdguardTeam/dnsproxy/issues/328
>
> only reproducible :  if the requesting client is macOS and the upstream is
> a DOH proxy, Linux does not have this issue. using a udp upstream like
> 1.1.1.1 does not have this issue either.
>
> hope you could take a look at the issue posted.
>
-- 

Regards
Justin He
_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss

Reply via email to