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
-
3db9163f
by Pier Angelo Vendrame at 2025-01-28T16:27:09+01:00
-
b683ecb0
by Pier Angelo Vendrame at 2025-01-28T16:30:30+01:00
-
4744d84d
by Pier Angelo Vendrame at 2025-01-28T16:31:13+01:00
-
55cbbdde
by Pier Angelo Vendrame at 2025-01-28T16:31:42+01:00
-
24417b5a
by Henry Wilkes at 2025-01-28T16:32:43+01:00
7 changed files:
- browser/app/profile/001-base-profile.js
- browser/components/downloads/content/downloads.css
- browser/components/downloads/content/downloadsPanel.inc.xhtml
- netwerk/dns/effective_tld_names.dat
- netwerk/protocol/http/nsHttpHandler.cpp
- toolkit/components/tor-launcher/TorLauncherUtil.sys.mjs
- toolkit/components/tor-launcher/TorProcess.sys.mjs
Changes:
| ... | ... | @@ -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);
|
| ... | ... | @@ -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;
|
| ... | ... | @@ -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"
|
| ... | ... | @@ -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
|
| ... | ... | @@ -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 += ' ';
|
| ... | ... | @@ -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 | },
|
| ... | ... | @@ -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) {
|