Skip to content
  • Mike Perry's avatar
    5585ebc5
    Firefox preference overrides. · 5585ebc5
    Mike Perry authored and Pier Angelo Vendrame's avatar Pier Angelo Vendrame committed
    This hack directly includes our preference changes in omni.ja.
    
    Bug 18292: Staged updates fail on Windows
    
    Temporarily disable staged updates on Windows.
    
    Bug 18297: Use separate Noto JP,KR,SC,TC fonts
    
    Bug 23404: Add Noto Sans Buginese to the macOS whitelist
    
    Bug 23745: Set dom.indexedDB.enabled = true
    
    Bug 13575: Disable randomised Firefox HTTP cache decay user tests.
    (Fernando Fernandez Mancera <ffmancera@riseup.net>)
    
    Bug 17252: Enable session identifiers with FPI
    
    Session tickets and session identifiers were isolated
    by OriginAttributes, so we can re-enable them by
    allowing the default value (true) of
    "security.ssl.disable_session_identifiers".
    
    The pref "security.enable_tls_session_tickets" is obsolete
    (removed in https://bugzilla.mozilla.org/917049)
    
    Bug 14952: Enable http/2 and AltSvc
    
    In Firefox, SPDY/HTTP2 now uses Origin Attributes for
    isolation of connections, push streams, origin frames, etc.
    That means we get first-party isolation provided
    "privacy.firstparty.isolate" is true. So in this patch, we
    stop overriding "network.http.spdy.enabled" and
    "network.http.spdy.enabled.http2".
    
    Alternate Services also use Origin Attributes for isolation.
    So we stop overriding
    "network.http.altsvc.enabled" and "network.http.altsvc.oe"
    as well.
    
    (All 4 of the abovementioned "network.http.*" prefs adopt
    Firefox 60ESR's default value of true.)
    
    However, we want to disable HTTP/2 push for now, so we
    set "network.http.spdy.allow-push" to false.
    
    "network.http.spdy.enabled.http2draft" was removed in Bug 1132357.
    "network.http.sped.enabled.v2" was removed in Bug 912550.
    "network.http.sped.enabled.v3" was removed in Bug 1097944.
    "network.http.sped.enabled.v3-1" was removed in Bug 1248197.
    
    Bug 26114: addons.mozilla.org is not special
    * Don't expose navigator.mozAddonManager on any site
    * Don't block NoScript from modifying addons.mozilla.org or other sites
    
    Enable ReaderView mode again (#27281).
    
    Bug 29916: Make sure enterprise policies are disabled
    
    Bug 2874: Block Components.interfaces from content
    
    Bug 26146: Spoof HTTP User-Agent header for desktop platforms
    
    In Tor Browser 8.0, the OS was revealed in both the HTTP User-Agent
    header and to JavaScript code via navigator.userAgent. To avoid
    leaking the OS inside each HTTP request (which many web servers
    log), always use the Windows 7 OS value in the desktop User-Agent
    header. We continue to allow access to the actual OS via JavaScript,
    since doing so improves compatibility with web applications such
    as GitHub and Google Docs.
    
    Bug 12885: Windows Jump Lists fail for Tor Browser
    
    Jumplist entries are stored in a binary file in:
      %APPDATA%\\Microsoft\Windows\Recent\CustomDestinations\
    and has a name in the form
      [a-f0-9]+.customDestinations-ms
    
    The hex at the front is unique per app, and is ultimately derived from
    something called the 'App User Model ID' (AUMID) via some unknown
    hashing method. The AUMID is provided as a key when programmatically
    creating, updating, and deleting a jumplist. The default behaviour in
    firefox is for the installer to define an AUMID for an app, and save it
    in the registry so that the jumplist data can be removed by the
    uninstaller.
    
    However, the Tor Browser does not set this (or any other) regkey during
    installation, so this codepath fails and the app's AUMID is left
    undefined. As a result the app's AUMID ends up being defined by
    windows, but unknowable by Tor Browser. This unknown AUMID is used to
    create and modify the jumplist, but the delete API requires that we
    provide the app's AUMID explicitly. Since we don't know what the AUMID
    is (since the expected regkey where it is normally stored does not
    exist) jumplist deletion will fail and we will leave behind a mostly
    empty customDestinations-ms file. The name of the file is derived from
    the binary path, so an enterprising person could reverse engineer how
    that hex name is calculated, and generate the name for Tor Browser's
    default Desktop installation path to determine whether a person had
    used Tor Browser in the past.
    
    The 'taskbar.grouping.useprofile' option that is enabled by this patch
    works around this AUMID problem by having firefox.exe create it's own
    AUMID based on the profile path (rather than looking for a regkey). This
    way, if a user goes in and enables and disables jumplist entries, the
    backing store is properly deleted.
    
    Unfortunately, all windows users currently have this file lurking in
    the above mentioned directory and this patch will not remove it since it
    was created with an unknown AUMID. However, another patch could be
    written which goes to that directory and deletes any item containing the
    'Tor Browser' string.  See bug 28996.
    
    Bug 30845: Make sure default themes and other internal extensions are enabled
    
    Bug 28896: Enable extensions in private browsing by default
    
    Bug 31065: Explicitly allow proxying localhost
    
    Bug 31598: Enable letterboxing
    
    Disable Presentation API everywhere
    
    Bug 21549 - Use Firefox's WASM default pref. It is disabled at safer
    security levels.
    
    Bug 32321: Disable Mozilla's MitM pings
    
    Bug 19890: Disable installation of system addons
    
    By setting the URL to "" we make sure that already installed system
    addons get deleted as well.
    
    Bug 22548: Firefox downgrades VP9 videos to VP8.
    
    On systems where H.264 is not available or no HWA, VP9 is preferred. But in Tor
    Browser 7.0 all youtube videos are degraded to VP8.
    
    This behaviour can be turned off by setting media.benchmark.vp9.threshold to 0.
    All clients will get better experience and lower traffic, beause TBB doesn't
    use "Use hardware acceleration when available".
    
    Bug 25741 - TBA: Add mobile-override of 000-tor-browser prefs
    
    Bug 16441: Suppress "Reset Tor Browser" prompt.
    
    Bug 29120: Use the in-memory media cache and increase its maximum size.
    
    Bug 33697: use old search config based on list.json
    
    Bug 33855: Ensure that site-specific browser mode is disabled.
    
    Bug 30682: Disable Intermediate CA Preloading.
    
    Bug 40061: Omit the Windows default browser agent from the build
    
    Bug 40322: Consider disabling network.connectivity-service.enabled
    
    Bug 40408: Disallow SVG Context Paint in all web content
    
    Bug 40308: Disable network partitioning until we evaluate dFPI
    
    Bug 40322: Consider disabling network.connectivity-service.enabled
    
    Bug 40383: Disable dom.enable_event_timing
    
    Bug 40423: Disable http/3
    
    Bug 40177: Update prefs for Fx91esr
    
    Bug 40700: Disable addons and features recommendations
    
    Bug 40682: Disable network.proxy.allow_bypass
    
    Bug 40736: Disable third-party cookies in PBM
    
    Bug 19850: Enabled HTTPS-Only by default
    
    Bug 40912: Hide the screenshot menu
    
    Bug 41292: Disable moreFromMozilla in preferences page
    
    Bug 40057: Ensure the CSS4 system colors are not a fingerprinting vector
    
    Bug 24686: Set network.http.tailing.enabled to true
    
    Bug 40183: Disable TLS ciphersuites using SHA-1
    
    Bug 40783: Review 000-tor-browser.js and 001-base-profile.js for 102
    
    We reviewed all the preferences we set for 102, and remove a few old
    ones. See the description of that issue to see all the preferences we
    believed were still valid for 102, and some brief description for the
    reasons to keep them.
    5585ebc5
    Firefox preference overrides.
    Mike Perry authored and Pier Angelo Vendrame's avatar Pier Angelo Vendrame committed
    This hack directly includes our preference changes in omni.ja.
    
    Bug 18292: Staged updates fail on Windows
    
    Temporarily disable staged updates on Windows.
    
    Bug 18297: Use separate Noto JP,KR,SC,TC fonts
    
    Bug 23404: Add Noto Sans Buginese to the macOS whitelist
    
    Bug 23745: Set dom.indexedDB.enabled = true
    
    Bug 13575: Disable randomised Firefox HTTP cache decay user tests.
    (Fernando Fernandez Mancera <ffmancera@riseup.net>)
    
    Bug 17252: Enable session identifiers with FPI
    
    Session tickets and session identifiers were isolated
    by OriginAttributes, so we can re-enable them by
    allowing the default value (true) of
    "security.ssl.disable_session_identifiers".
    
    The pref "security.enable_tls_session_tickets" is obsolete
    (removed in https://bugzilla.mozilla.org/917049)
    
    Bug 14952: Enable http/2 and AltSvc
    
    In Firefox, SPDY/HTTP2 now uses Origin Attributes for
    isolation of connections, push streams, origin frames, etc.
    That means we get first-party isolation provided
    "privacy.firstparty.isolate" is true. So in this patch, we
    stop overriding "network.http.spdy.enabled" and
    "network.http.spdy.enabled.http2".
    
    Alternate Services also use Origin Attributes for isolation.
    So we stop overriding
    "network.http.altsvc.enabled" and "network.http.altsvc.oe"
    as well.
    
    (All 4 of the abovementioned "network.http.*" prefs adopt
    Firefox 60ESR's default value of true.)
    
    However, we want to disable HTTP/2 push for now, so we
    set "network.http.spdy.allow-push" to false.
    
    "network.http.spdy.enabled.http2draft" was removed in Bug 1132357.
    "network.http.sped.enabled.v2" was removed in Bug 912550.
    "network.http.sped.enabled.v3" was removed in Bug 1097944.
    "network.http.sped.enabled.v3-1" was removed in Bug 1248197.
    
    Bug 26114: addons.mozilla.org is not special
    * Don't expose navigator.mozAddonManager on any site
    * Don't block NoScript from modifying addons.mozilla.org or other sites
    
    Enable ReaderView mode again (#27281).
    
    Bug 29916: Make sure enterprise policies are disabled
    
    Bug 2874: Block Components.interfaces from content
    
    Bug 26146: Spoof HTTP User-Agent header for desktop platforms
    
    In Tor Browser 8.0, the OS was revealed in both the HTTP User-Agent
    header and to JavaScript code via navigator.userAgent. To avoid
    leaking the OS inside each HTTP request (which many web servers
    log), always use the Windows 7 OS value in the desktop User-Agent
    header. We continue to allow access to the actual OS via JavaScript,
    since doing so improves compatibility with web applications such
    as GitHub and Google Docs.
    
    Bug 12885: Windows Jump Lists fail for Tor Browser
    
    Jumplist entries are stored in a binary file in:
      %APPDATA%\\Microsoft\Windows\Recent\CustomDestinations\
    and has a name in the form
      [a-f0-9]+.customDestinations-ms
    
    The hex at the front is unique per app, and is ultimately derived from
    something called the 'App User Model ID' (AUMID) via some unknown
    hashing method. The AUMID is provided as a key when programmatically
    creating, updating, and deleting a jumplist. The default behaviour in
    firefox is for the installer to define an AUMID for an app, and save it
    in the registry so that the jumplist data can be removed by the
    uninstaller.
    
    However, the Tor Browser does not set this (or any other) regkey during
    installation, so this codepath fails and the app's AUMID is left
    undefined. As a result the app's AUMID ends up being defined by
    windows, but unknowable by Tor Browser. This unknown AUMID is used to
    create and modify the jumplist, but the delete API requires that we
    provide the app's AUMID explicitly. Since we don't know what the AUMID
    is (since the expected regkey where it is normally stored does not
    exist) jumplist deletion will fail and we will leave behind a mostly
    empty customDestinations-ms file. The name of the file is derived from
    the binary path, so an enterprising person could reverse engineer how
    that hex name is calculated, and generate the name for Tor Browser's
    default Desktop installation path to determine whether a person had
    used Tor Browser in the past.
    
    The 'taskbar.grouping.useprofile' option that is enabled by this patch
    works around this AUMID problem by having firefox.exe create it's own
    AUMID based on the profile path (rather than looking for a regkey). This
    way, if a user goes in and enables and disables jumplist entries, the
    backing store is properly deleted.
    
    Unfortunately, all windows users currently have this file lurking in
    the above mentioned directory and this patch will not remove it since it
    was created with an unknown AUMID. However, another patch could be
    written which goes to that directory and deletes any item containing the
    'Tor Browser' string.  See bug 28996.
    
    Bug 30845: Make sure default themes and other internal extensions are enabled
    
    Bug 28896: Enable extensions in private browsing by default
    
    Bug 31065: Explicitly allow proxying localhost
    
    Bug 31598: Enable letterboxing
    
    Disable Presentation API everywhere
    
    Bug 21549 - Use Firefox's WASM default pref. It is disabled at safer
    security levels.
    
    Bug 32321: Disable Mozilla's MitM pings
    
    Bug 19890: Disable installation of system addons
    
    By setting the URL to "" we make sure that already installed system
    addons get deleted as well.
    
    Bug 22548: Firefox downgrades VP9 videos to VP8.
    
    On systems where H.264 is not available or no HWA, VP9 is preferred. But in Tor
    Browser 7.0 all youtube videos are degraded to VP8.
    
    This behaviour can be turned off by setting media.benchmark.vp9.threshold to 0.
    All clients will get better experience and lower traffic, beause TBB doesn't
    use "Use hardware acceleration when available".
    
    Bug 25741 - TBA: Add mobile-override of 000-tor-browser prefs
    
    Bug 16441: Suppress "Reset Tor Browser" prompt.
    
    Bug 29120: Use the in-memory media cache and increase its maximum size.
    
    Bug 33697: use old search config based on list.json
    
    Bug 33855: Ensure that site-specific browser mode is disabled.
    
    Bug 30682: Disable Intermediate CA Preloading.
    
    Bug 40061: Omit the Windows default browser agent from the build
    
    Bug 40322: Consider disabling network.connectivity-service.enabled
    
    Bug 40408: Disallow SVG Context Paint in all web content
    
    Bug 40308: Disable network partitioning until we evaluate dFPI
    
    Bug 40322: Consider disabling network.connectivity-service.enabled
    
    Bug 40383: Disable dom.enable_event_timing
    
    Bug 40423: Disable http/3
    
    Bug 40177: Update prefs for Fx91esr
    
    Bug 40700: Disable addons and features recommendations
    
    Bug 40682: Disable network.proxy.allow_bypass
    
    Bug 40736: Disable third-party cookies in PBM
    
    Bug 19850: Enabled HTTPS-Only by default
    
    Bug 40912: Hide the screenshot menu
    
    Bug 41292: Disable moreFromMozilla in preferences page
    
    Bug 40057: Ensure the CSS4 system colors are not a fingerprinting vector
    
    Bug 24686: Set network.http.tailing.enabled to true
    
    Bug 40183: Disable TLS ciphersuites using SHA-1
    
    Bug 40783: Review 000-tor-browser.js and 001-base-profile.js for 102
    
    We reviewed all the preferences we set for 102, and remove a few old
    ones. See the description of that issue to see all the preferences we
    believed were still valid for 102, and some brief description for the
    reasons to keep them.
Loading