Skip IPv6 IP addresses from TRR response when the client does not support IPv6.
Categories
(Core :: Networking: DNS, defect, P2)
Tracking
()
People
(Reporter: Tom25519, Unassigned)
References
(Blocks 2 open bugs)
Details
(Whiteboard: [necko-triaged])
User Agent: Mozilla/5.0 (Android 10; Mobile; rv:109.0) Gecko/117.0 Firefox/117.0
Steps to reproduce:
My WiFi doesn't support IPv6, but sometimes I open a website which is support both IPv4 and IPv6, for example, passport.yandex.com, network.trr.skip-AAAA-when-not-support seems doesn't work on Fennec F-droid when network.trr.mode = 3, even if network.trr.skip-AAAA-when-not-supported = true, it will cause Fennec says passport.yandex.com couldn't connect. When network.trr.mode = 0, this bug doesn't reproduce.
Expected results:
Fenix should skip AAAA DNS record when network not support IPv6, or directly don't request AAAA record (recommended).
Comment 1•1 year ago
•
|
||
I'm not sure , but i guess skip-AAAA-when-not-supported
may not be implemented yet after searching https://searchfox.org/mozilla-central/search?q=skip-AAAA-when-not-supported&path=&case=false®exp=false
Have you tried network.dns.disableIPv6
option ?
(In reply to jackyzy823 from comment #1)
Have you tried
network.dns.disableIPv6
option ?
No, I haven't. In fact, I don't want to modify it, because my mobile data supports IPv6, I want to use IPv6 when it's available.
Updated•1 year ago
|
Comment 3•1 year ago
|
||
This pref should have been removed in https://phabricator.services.mozilla.com/D130047
The reason we can't skip the IPv6 DNS check is that if a website does have an IPv6 record but not an IPv4 record, we should not fallback to native DNS.
Normally, if there are both IPv6 and IPv4 addresses for a domain, and IPv6 fails, we should still retry connecting with IPv4. If that doesn't work, that might indicate a bug.
Tom, does this also happen on Firefox Desktop, or only Fenix?
(In reply to Valentin Gosu [:valentin] (he/him) from comment #3)
Tom, does this also happen on Firefox Desktop, or only Fenix?
Sorry, I don't know, because here is no computer at my hand. By the way, this bug seems doesn't reproduce these two days.
Comment 5•1 year ago
|
||
So I think what we should do here is to still perform the IPv6 DNS request but strip all IPv6 addresses from the response if the client doesn't support IPv6.
This is an optimization so we don't make IPv6 requests when we know they will fail.
We should also completely remove network.trr.skip-AAAA-when-not-support since it's not used.
Description
•