Skip to content
Snippets Groups Projects
  1. Jan 05, 2025
    • Pier Angelo Vendrame's avatar
      Bug 40562: Added Tor Browser preferences to 000-tor-browser.js · cb93294f
      Pier Angelo Vendrame authored and ma1's avatar ma1 committed
      Before reordering patches, we used to keep the Tor-related patches
      (torbutton and tor-launcher) at the beginning.
      After that issue, we decided to move them towards the end.
      
      In addition to that, we have decided to move Tor Browser-only
      preferences there, too, to make Base Browser-only fixups easier to
      apply.
      Verified
      cb93294f
    • Richard Pospesel's avatar
      Bug 41089: Add tor-browser build scripts + Makefile to tor-browser · a1de5b7f
      Richard Pospesel authored and ma1's avatar ma1 committed
      Verified
      a1de5b7f
    • Mike Perry's avatar
      Firefox preference overrides. · eaa40ef9
      Mike Perry authored and ma1's avatar ma1 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.
      Verified
      eaa40ef9
  2. May 11, 2023
  3. May 09, 2023
  4. May 04, 2023
  5. Apr 27, 2023
  6. Apr 06, 2023
  7. Apr 03, 2023
  8. Mar 23, 2023
  9. Feb 17, 2023
  10. Feb 13, 2023
  11. Jan 24, 2023
  12. Dec 08, 2022
  13. Nov 08, 2022
  14. Oct 25, 2022
  15. Oct 18, 2022
  16. Oct 10, 2022
  17. Sep 30, 2022
  18. Sep 25, 2022
  19. Sep 12, 2022
  20. Sep 09, 2022
  21. Sep 07, 2022
  22. Sep 06, 2022
  23. Aug 23, 2022
  24. Aug 03, 2022
    • Ben Dean-Kawamura's avatar
      Bug 1766045 - Initial work for UniFFI JS bindings r=nika · 1cf71b70
      Ben Dean-Kawamura authored
      Generate the C++ and JS code to handle UniFFI bindings.  The WebIDL code
      is completely static and doesn't need to be generated.
      
      There's support for both synchronus and async functions, but we haven't
      decided the how we want this to be configured.  In practice, almost all
      functions will need to be async, so for now we're just forcing all
      functions to be.
      
      The `uniffi-bindgen-gecko-js` crate builds the binary that generates the
      bindings.  This binary needs to be fed a list of UDL files, the path of
      the .cpp file to generate, and the directory to generate .jsm files in
      (and also all of those arguments again, but for the test fixtures).
      This is quiet a horrible UI, but it's going to be wrapped in a mach
      command.
      
      The `uniffi-js` directory contains shared C++ code for
      `uniffi-bindgen-gecko-js`.  As much as possible we tried to put the
      functionality here and have the generated code simply forward function
      calls here.
      
      Still Todo:
        - CallbackInterfaces
        - Custom and external types
        - Datetime and TimeInterval
      
      Differential Revision: https://phabricator.services.mozilla.com/D144472
      1cf71b70
    • Butkovits Atila's avatar
      Backed out 6 changesets (bug 1766045) for causing build bustages. CLOSED TREE · a8ad39a2
      Butkovits Atila authored
      Backed out changeset 113593df6272 (bug 1766045)
      Backed out changeset f137315bb6af (bug 1766045)
      Backed out changeset d86ad195a9a0 (bug 1766045)
      Backed out changeset e8bc2ec40cff (bug 1766045)
      Backed out changeset 2d33e41ac507 (bug 1766045)
      Backed out changeset 4d5874e16302 (bug 1766045)
      a8ad39a2
    • Ben Dean-Kawamura's avatar
      Bug 1766045 - Initial work for UniFFI JS bindings r=nika · 703dbdfe
      Ben Dean-Kawamura authored
      Generate the C++ and JS code to handle UniFFI bindings.  The WebIDL code
      is completely static and doesn't need to be generated.
      
      There's support for both synchronus and async functions, but we haven't
      decided the how we want this to be configured.  In practice, almost all
      functions will need to be async, so for now we're just forcing all
      functions to be.
      
      The `uniffi-bindgen-gecko-js` crate builds the binary that generates the
      bindings.  This binary needs to be fed a list of UDL files, the path of
      the .cpp file to generate, and the directory to generate .jsm files in
      (and also all of those arguments again, but for the test fixtures).
      This is quiet a horrible UI, but it's going to be wrapped in a mach
      command.
      
      The `uniffi-js` directory contains shared C++ code for
      `uniffi-bindgen-gecko-js`.  As much as possible we tried to put the
      functionality here and have the generated code simply forward function
      calls here.
      
      Still Todo:
        - CallbackInterfaces
        - Custom and external types
        - Datetime and TimeInterval
      
      Differential Revision: https://phabricator.services.mozilla.com/D144472
      703dbdfe
    • Mark Banner's avatar
  25. Aug 02, 2022
    • criss's avatar
      Backed out 2 changesets (bug 1766045) for causing Bp-hybrid failures on... · 04616ca5
      criss authored
      Backed out 2 changesets (bug 1766045) for causing Bp-hybrid failures on UniFFIGeneratedScaffolding.cpp
      
      Backed out changeset 5708672d0e83 (bug 1766045)
      Backed out changeset cc77fd5ec7a8 (bug 1766045)
      04616ca5
    • Ben Dean-Kawamura's avatar
      Bug 1766045 - Initial work for UniFFI JS bindings r=nika · c1816bab
      Ben Dean-Kawamura authored
      Generate the C++ and JS code to handle UniFFI bindings.  The WebIDL code
      is completely static and doesn't need to be generated.
      
      There's support for both synchronus and async functions, but we haven't
      decided the how we want this to be configured.  In practice, almost all
      functions will need to be async, so for now we're just forcing all
      functions to be.
      
      The `uniffi-bindgen-gecko-js` crate builds the binary that generates the
      bindings.  This binary needs to be fed a list of UDL files, the path of
      the .cpp file to generate, and the directory to generate .jsm files in
      (and also all of those arguments again, but for the test fixtures).
      This is quiet a horrible UI, but it's going to be wrapped in a mach
      command.
      
      The `uniffi-js` directory contains shared C++ code for
      `uniffi-bindgen-gecko-js`.  As much as possible we tried to put the
      functionality here and have the generated code simply forward function
      calls here.
      
      Still Todo:
        - CallbackInterfaces
        - Custom and external types
        - Datetime and TimeInterval
      
      Differential Revision: https://phabricator.services.mozilla.com/D144472
      c1816bab
Loading