Pier Angelo Vendrame pushed to branch tor-browser-128.7.0esr-14.0-1 at The Tor Project / Applications / Tor Browser

Commits:

7 changed files:

Changes:

  • browser/app/profile/001-base-profile.js
    ... ... @@ -87,6 +87,15 @@ pref("browser.sessionstore.privacy_level", 2);
    87 87
     // Use the in-memory media cache and increase its maximum size (#29120)
    
    88 88
     pref("browser.privatebrowsing.forceMediaMemoryCache", true);
    
    89 89
     pref("media.memory_cache_max_size", 65536);
    
    90
    +// tor-browser#41065: lie about the available quota.
    
    91
    +// This value is in KiB, and will be divided by 5. Currently: 50GiB, to be
    
    92
    +// coherent with Firefox's usual value. However, this might be too much for live
    
    93
    +// systems.
    
    94
    +// This will be the limit also after granting the persistent storage permission,
    
    95
    +// but we are not interested in it, since we support only PBM.
    
    96
    +// We can come back to it, and hardcode the two spaced differently, if we ever
    
    97
    +// think we need it.
    
    98
    +pref("dom.quotaManager.temporaryStorage.fixedLimit", 52428800);
    
    90 99
     // Disable restore in case of crash (tor-browser#41503)
    
    91 100
     // This should not be needed in PBM, but we added it anyway like other options.
    
    92 101
     pref("browser.sessionstore.resume_from_crash", false);
    
    ... ... @@ -466,6 +475,8 @@ pref("pdfjs.disabled", false, locked);
    466 475
     #endif
    
    467 476
     // Bug 40057: Ensure system colors are not used for CSS4 colors
    
    468 477
     pref("browser.display.use_system_colors", false);
    
    478
    +// tor-browser#43236: Disable vsync on Wayland to prevent refresh rate leaks.
    
    479
    +pref("widget.wayland.vsync.enabled", false);
    
    469 480
     
    
    470 481
     // tor-browser#41943: defense-in-depth, but do not lock anymore (enabled in Firefox 119, http://bugzil.la/1851162)
    
    471 482
     pref("javascript.options.spectre.disable_for_isolated_content", false);
    

  • browser/components/downloads/content/downloads.css
    ... ... @@ -92,15 +92,19 @@
    92 92
     #downloadsPanel-mainView {
    
    93 93
       min-width: 37em;
    
    94 94
       padding: 0.62em;
    
    95
    -  /* If we don't set a width, #downloadsPanelTorWarning will request
    
    96
    -   * its max-content width. */
    
    97
    -  width: 37em;
    
    98 95
     }
    
    99 96
     
    
    100 97
     #downloadsPanelTorWarning {
    
    101 98
       margin-block-end: var(--arrowpanel-menuitem-padding-block);
    
    102 99
     }
    
    103 100
     
    
    101
    +#downloadsPanelTorWarningWrapper {
    
    102
    + /* The wrapper element has its `width` attribute set by mozilla localisers.
    
    103
    +  * We want to ensure the element occupies the available width when the
    
    104
    +  * localiser width is smaller. See tor-browser#43312. */
    
    105
    +  min-width: 100%;
    
    106
    +}
    
    107
    +
    
    104 108
     #downloadsHistory,
    
    105 109
     #downloadsFooterButtons {
    
    106 110
       margin: 0;
    

  • browser/components/downloads/content/downloadsPanel.inc.xhtml
    ... ... @@ -104,8 +104,25 @@
    104 104
                       disablekeynav="true">
    
    105 105
     
    
    106 106
         <panelview id="downloadsPanel-mainView">
    
    107
    -      <html:moz-message-bar id="downloadsPanelTorWarning">
    
    108
    -      </html:moz-message-bar>
    
    107
    +      <!-- We add a wrapper around the #downloadsPanelTorWarning and give it the
    
    108
    +         - same Fluent ID as #downloadsListBox. This Fluent message allows
    
    109
    +         - Firefox localisers to set the width of the #downloadsListBox using
    
    110
    +         - the style attribute. We want the same width set for our downloads
    
    111
    +         - warning. Otherwise the warning will occupy its max-content width.
    
    112
    +         - NOTE: We require a wrapper element since #downloadsPanelTorWarning
    
    113
    +         - needs its own Fluent attributes.
    
    114
    +         - NOTE: This only works if #downloadsPanelTorWarningWrapper and
    
    115
    +         - #downloadsListBox share the same padding relative to their common
    
    116
    +         - ancestor.
    
    117
    +         - See tor-browser#43312. -->
    
    118
    +      <html:div
    
    119
    +        id="downloadsPanelTorWarningWrapper"
    
    120
    +        data-l10n-id="downloads-panel-items"
    
    121
    +        data-l10n-attrs="style"
    
    122
    +      >
    
    123
    +        <html:moz-message-bar id="downloadsPanelTorWarning">
    
    124
    +        </html:moz-message-bar>
    
    125
    +      </html:div>
    
    109 126
           <vbox class="panel-view-body-unscrollable">
    
    110 127
             <richlistbox id="downloadsListBox"
    
    111 128
                          data-l10n-id="downloads-panel-items"
    

  • netwerk/dns/effective_tld_names.dat
    ... ... @@ -5065,6 +5065,10 @@ pro.om
    5065 5065
     onion
    
    5066 5066
     tor.onion
    
    5067 5067
     securedrop.tor.onion
    
    5068
    +// An additional TLD for abc.au.securedrop.tor.onion only.
    
    5069
    +// See tor-browser#41831.
    
    5070
    +// TODO: Remove once abc.au has migrated. See tor-browser#43443.
    
    5071
    +au.securedrop.tor.onion
    
    5068 5072
     
    
    5069 5073
     // org : https://www.iana.org/domains/root/db/org.html
    
    5070 5074
     org
    

  • netwerk/protocol/http/nsHttpHandler.cpp
    ... ... @@ -867,7 +867,7 @@ void nsHttpHandler::BuildUserAgent() {
    867 867
       mUserAgent += '/';
    
    868 868
       mUserAgent += mProductSub;
    
    869 869
     
    
    870
    -  bool isFirefox = mAppName.EqualsLiteral("Firefox");
    
    870
    +  bool isFirefox = true;
    
    871 871
       if (isFirefox || mCompatFirefoxEnabled) {
    
    872 872
         // "Firefox/x.y" (compatibility) app token
    
    873 873
         mUserAgent += ' ';
    

  • toolkit/components/tor-launcher/TorLauncherUtil.sys.mjs
    ... ... @@ -5,6 +5,8 @@
    5 5
      * Tor Launcher Util JS Module
    
    6 6
      *************************************************************************/
    
    7 7
     
    
    8
    +import { AppConstants } from "resource://gre/modules/AppConstants.sys.mjs";
    
    9
    +
    
    8 10
     const lazy = {};
    
    9 11
     
    
    10 12
     ChromeUtils.defineESModuleGetters(lazy, {
    
    ... ... @@ -335,6 +337,13 @@ export const TorLauncherUtil = Object.freeze({
    335 337
         return Services.appinfo.OS === "Android";
    
    336 338
       },
    
    337 339
     
    
    340
    +  get isLinux() {
    
    341
    +    // Use AppConstants for Linux rather then appinfo because we are sure it
    
    342
    +    // will catch also various Unix flavors for which unofficial ports might
    
    343
    +    // exist (which should work as Linux, as far as we know).
    
    344
    +    return AppConstants.platform === "linux";
    
    345
    +  },
    
    346
    +
    
    338 347
       get isMac() {
    
    339 348
         return Services.appinfo.OS === "Darwin";
    
    340 349
       },
    

  • toolkit/components/tor-launcher/TorProcess.sys.mjs
    ... ... @@ -122,6 +122,16 @@ export class TorProcess {
    122 122
             stderr: "stdout",
    
    123 123
             workdir: lazy.TorLauncherUtil.getTorFile("pt-startup-dir", false).path,
    
    124 124
           };
    
    125
    +      if (lazy.TorLauncherUtil.isLinux) {
    
    126
    +        let ldLibPath = Services.env.get("LD_LIBRARY_PATH") ?? "";
    
    127
    +        if (ldLibPath) {
    
    128
    +          ldLibPath = ":" + ldLibPath;
    
    129
    +        }
    
    130
    +        options.environment = {
    
    131
    +          LD_LIBRARY_PATH: this.#exeFile.parent.path + ldLibPath,
    
    132
    +        };
    
    133
    +        options.environmentAppend = true;
    
    134
    +      }
    
    125 135
           this.#subprocess = await Subprocess.call(options);
    
    126 136
           this.#status = TorProcessStatus.Running;
    
    127 137
         } catch (e) {