[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [Git][tpo/applications/tor-browser][tor-browser-128.7.0esr-14.0-1] 6 commits: fixup! Bug 40701: Add security warning when downloading a file



Title: GitLab

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

Commits:

  • 4cd3b8b0
    by Henry Wilkes at 2025-01-28T16:26:31+01:00
    fixup! Bug 40701: Add security warning when downloading a file
    
    Bug 43312: Ensure download panel warning uses the same width as the
    mozilla downloads list.
    
    We stop setting a `width` on the download panel because this can
    conflict with the default width set for the mozilla downloads list, set
    by localisers. Instead, we use the same width for our Tor Browser
    warning message using a wrapper element.
    
    We also ensure that the wrapper element has `min-width: 100%` for
    scenarios where the localiser width is less than the min-width of the
    ancestor panel.
    
  • 3db9163f
    by Pier Angelo Vendrame at 2025-01-28T16:27:09+01:00
    fixup! Bug 40933: Add tor-launcher functionality
    
    Bug 43326: Restrict the changes to LD_LIBRARY_PATH.
    
    We used to set LD_LIBRARY_PATH for the tor daemon before launching the
    browser, but this does not work well for some distributions, which
    link to the latest version of OpenSSL, whereas we link to the LTS.
    To avoid conflicts, we can set a custom LD_LIBRARY_PATH only for the
    tor daemon.
    
  • b683ecb0
    by Pier Angelo Vendrame at 2025-01-28T16:30:30+01:00
    fixup! Firefox preference overrides.
    
    BB 43236: Disable vsync on Wayland.
    
    Vsync leaks the monitor refresh rate, therefore it is already disabled
    on other platforms, including Linux/X11 and Windows.
    
  • 4744d84d
    by Pier Angelo Vendrame at 2025-01-28T16:31:13+01:00
    Bug 43386: Use Firefox in the UA in RFP-exempt request.
    
    XHR requests initiated by extensions are exempt from RFP.
    Therefore, they report the actual app name, instead of Firefox, and the
    actual Firefox minor version.
    
    This happens whenever the app name has been customized and does not
    match a hardcoded "Firefox".
    
  • 55cbbdde
    by Pier Angelo Vendrame at 2025-01-28T16:31:42+01:00
    fixup! Firefox preference overrides.
    
    BB 41065: Hardcode the limit of storage quota.
    
    Currently, we return min(10GB, 0.2 * available space in the fs).
    This is bad for systems that have less than 50GB free, especially live
    systems, such as Tails.
    Set a pref to replace the available space with a hardcoded limit
    (5GiB).
    
  • 24417b5a
    by Henry Wilkes at 2025-01-28T16:32:43+01:00
    fixup! Bug 40458: Implement .tor.onion aliases
    
    TB 41831: Add additional effective TLD for abc.au.securedrop.tor.onion
    exception.
    

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) {
    

  • _______________________________________________
    tor-commits mailing list -- tor-commits@xxxxxxxxxxxxxxxxxxxx
    To unsubscribe send an email to tor-commits-leave@xxxxxxxxxxxxxxxxxxxx