Re-sending this one, as I don't see it appearing on the maillist list
archive. I'm editing more information I got meanwhile in.

On 08.04.2018 15:21, Dominik wrote:
> Dear dnsmasq enthusiasts,
>
> we encountered a rather strange issue with dnsmasq and Netflix on SmartTVs or 
> XBox (only
> in this combination).
>
> Once Netflix is started, it queries a domain like ichnaea.netflix.com. This 
> query gets
> answered by dnsmasq. However, sometimes, Netflix doesn't seem to be satisfied 
> with this
> anwer over UDP and tries another query, this time over TCP. dnsmasq stalls at 
> this query
> and does not answer any queries at all until the Netflix app is closed.
>
> We think the Netflix app isn't properly ending the stream (which shouldn't 
> happen to begin with)
> but dnsmasq is not able to handle this correctly.
>
> Compare the following:
>
> Broken (X is Xbox):
>
>     X > pi [SYN]
>     pi > X [SYN, ACK]
>     X > pi [ACK]
>     X > pi Standard query A api-global.netflix.com
>     pi > X [ACK]
>     pi > X Standard query response
>     X > pi [ACK]
>
> When doing a similar query from a linux machine (Y is linux machine) as dig 
> @pi +tcp api-global.netflix.com it looks like this:
>
>     Y > pi [SYN]
>     pi > Y [SYN, ACK]
>     Y > pi [ACK]
>     Y > pi Standard query A api-global.netflix.com
>     pi > Y [ACK]
>     pi > Y Standard query response
>     Y > pi [ACK]
>     Y > pi [FIN, ACK]
>     Y > pi [FIN, ACK]
>     pi > Y [ACK]
>
> For seeing where it hangs with the stalling TCP request, we compiled dnsmasq 
> 2.79 from source and
> added debug symbols (-g3). The crash is the same. When I interrupt
> dnsmasq while it is stalled, I see this backtrace:
>
> #0  0x00007ffff7b15700 in __read_nocancel () at
> ../sysdeps/unix/syscall-template.S:84
> #1  0x0000555555566533 in read_write (fd=fd@entry=13,
> packet=packet@entry=0x7fffffffe334 "\002[\001", size=size@entry=1,
> rw=rw@entry=1) at util.c:654
> #2  0x000055555557029c in tcp_request (confd=13, now=1523191598,
> local_addr=0x7fffffffe410, netmask=..., auth_dns=0) at forward.c:1713
> #3  0x0000555555575999 in check_dns_listeners (now=1523191598) at
> dnsmasq.c:1745
> #4  0x000055555555d019 in main (argc=<optimized out>, argv=<optimized
> out>) at dnsmasq.c:1061
>
> Please tell me if you would like to see any further information for
> debugging.
>
> Best regards,
> Dominik
>

_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss

Reply via email to