fune/toolkit
Manuel Bucher 5205854e55 Bug 1741375 - Proxy DNS by default when using SOCKS v5 r=necko-reviewers,extension-reviewers,kershaw,perftest-reviewers,robwu,sparky
Initially reported and discussed in Bug 610896.

The simple solution of just flipping the pref `network.proxy.socks_remote_dns`
is risky due to potentially breaking SOCKS4 proxy users.  Proxying
DNS on SOCKS4 isn't supported.  Therefore we speak the incompatible
SOCKS4a protocol when `socks_remote_dns` is enabled, potentially
breaking users setup.

To keep backwards compatibility on SOCKS4 proxy users, that don't have
SOCKS4a support, the pref `network.proxy.socks_remote_dns` is split into
two prefs:

* `network.proxy.socks_remote_dns`: remote DNS for SOCKS4
* `network.proxy.socks5_remote_dns`: remote DNS for SOCKS5.

This way we proxy DNS by default on SOCKS5 while keeping user settings
on SOCKS4.  This is a similar approach to the one described in
[Bug 610896 comment 17].

Proxying DNS in SOCKS4 by default is desireable (See [Bug 610896 comment 11]),
but out of scope for this patch.  [Telemetry] on proxy usage by socks
version indicated that changing the default for SOCKS4 is likely break
some users setup and needs to be taken with more care.

The default values of [proxyDNS] now defaults to true for SOCKS5 proxies.
When creating nsIProxyInfo objects of SOCKS4 proxies, the default value
false is kept.  Setting proxyDNS affects both SOCKS4 and SOCKS5 proxy by
modifying both `socks_remote_dns` and `socks5_remote_dns`.  Therefore no
extension breakage is expected.

The enterprise policy can also modify the new pref
`network.proxy.socks5_remote_dns`.

Follow up bugs filed while implementing:

* Bug 1890542 - Also disable Prefetch non-manual configurations of socks
                proxy
* Bug 1890554 - Use `ProxyInfo::TRANSPARENT_PROXY_RESOLVES_HOST` flag in
                `nsHttpChannel::GetProxyDNSStrategy`
* Bug 1890549 - nsHttpChannel implementation DNS resolve strategy for
                proxies incomplete
* Bug 1893670 - Proxy DNS by default for SOCK4 proxies. Defaulting to
                SOCKS4a

[Bug 610896 comment 17]: https://bugzilla.mozilla.org/show_bug.cgi?id=610896#c17
[Bug 610896 comment 11]: https://bugzilla.mozilla.org/show_bug.cgi?id=610896#c11
[Telemetry]: https://bugzilla.mozilla.org/show_bug.cgi?id=1741375#c27
[proxyDNS]: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/proxy/settings#proxydns

Differential Revision: https://phabricator.services.mozilla.com/D207532
2024-05-21 11:55:26 +00:00
..
actors Bug 1885936 - Part 3: Implement data collection for gamepads. r=tschuster 2024-05-15 16:48:59 +00:00
components Bug 1741375 - Proxy DNS by default when using SOCKS v5 r=necko-reviewers,extension-reviewers,kershaw,perftest-reviewers,robwu,sparky 2024-05-21 11:55:26 +00:00
content Backed out changeset ecaab9792fa0 (bug 1854715) for causing mochitest failures in test_moz_page_nav.html CLOSED TREE 2024-05-16 11:30:56 -04:00
crashreporter Bug 1896636 - Remove the crash reporter injector r=KrisWright 2024-05-17 09:24:33 +00:00
docs Bug 1891789 - Allow console.createInstance to work properly in workers. r=peterv 2024-04-24 10:24:29 +00:00
library Bug 1883940 - Replace MOZ_CXX11 autoconf macro by a moz.configure check r=glandium 2024-05-18 07:10:57 +00:00
locales Bug 1880656 - Add font weight and font type controls in Reader menu. r=reader-mode-reviewers,fluent-reviewers,desktop-theme-reviewers,flod,cmkm,Itiel 2024-05-15 01:56:07 +00:00
locales-preview
modules Bug 1897317 - Rename MOZ_ANDROID_HISTORY to MOZ_GECKOVIEW_HISTORY. r=firefox-build-system-reviewers,geckoview-reviewers,nalexander,owlish 2024-05-17 00:29:35 +00:00
mozapps Bug 1897770 - Improve .sjs file environment definitions in ESLint. r=frontend-codestyle-reviewers,extension-reviewers,Gijs 2024-05-20 13:49:44 +00:00
profile Bug 1806946 - Skip GTests which fail when run under TSAN. r=profiler-reviewers,dom-storage-reviewers,tnikkel,xpcom-reviewers,ipc-reviewers,mccr8,janv,webrtc-reviewers,pehrsons,canaltinova 2024-05-02 13:09:07 +00:00
system
themes Bug 1889068, restore yellowish highlight for status message in autocomplete dropdown, r=credential-management-reviewers,desktop-theme-reviewers,emilio,sgalich 2024-05-16 11:07:16 +00:00
xre Bug 1883615 - Move libdl checks to moz.configure and make libdl dependencies explicit r=glandium 2024-05-15 20:29:07 +00:00
.eslintrc.js
l10n-registry.manifest
moz.build
moz.configure Bug 1896636 - Remove the crash reporter injector r=KrisWright 2024-05-17 09:24:33 +00:00
toolkit.mozbuild Bug 1891746 - Fix test262-export for python 3, run tests; r=spidermonkey-reviewers,dminor 2024-04-18 09:15:05 +00:00