lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Threads by month
  • ----- 2026 -----
  • May
  • April
  • March
  • February
  • January
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

  • 1 participants
  • 20430 discussions
[Git][tpo/applications/mullvad-browser][mullvad-browser-128.4.0esr-14.0-1] 2 commits: Bug 373 - reenable webrtc builds
by Pier Angelo Vendrame (@pierov) 13 Nov '24

13 Nov '24
Pier Angelo Vendrame pushed to branch mullvad-browser-128.4.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser Commits: b1fdb17f by june wilde at 2024-11-13T08:51:01+01:00 Bug 373 - reenable webrtc builds - - - - - 573d0e51 by june wilde at 2024-11-13T08:51:07+01:00 fixup! MB 320: Temporarily disable WebRTC and WDBA on Windows. - - - - - 4 changed files: - mozconfig-windows-x86_64 - third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc - third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.cc - third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.h Changes: ===================================== mozconfig-windows-x86_64 ===================================== @@ -23,5 +23,4 @@ ac_add_options --disable-notification-server ac_add_options --disable-eme # tor-browser#320: Temporarily disable until we resolve the mingw problems. -ac_add_options --disable-webrtc ac_add_options --disable-default-browser-agent ===================================== third_party/libwebrtc/modules/desktop_capture/win/wgc_capture_session.cc ===================================== @@ -10,9 +10,9 @@ #include "modules/desktop_capture/win/wgc_capture_session.h" -#include <DispatcherQueue.h> +#include <dispatcherqueue.h> #include <windows.graphics.capture.interop.h> -#include <windows.graphics.directX.direct3d11.interop.h> +#include <windows.graphics.directx.direct3d11.interop.h> #include <windows.graphics.h> #include <wrl/client.h> #include <wrl/event.h> @@ -181,9 +181,7 @@ HRESULT WgcCaptureSession::StartCapture(const DesktopCaptureOptions& options) { if (!options.prefer_cursor_embedded()) { ComPtr<ABI::Windows::Graphics::Capture::IGraphicsCaptureSession2> session2; - if (SUCCEEDED(session_->QueryInterface( - ABI::Windows::Graphics::Capture::IID_IGraphicsCaptureSession2, - &session2))) { + if (SUCCEEDED(session_->QueryInterface(IID_PPV_ARGS(&session2)))) { session2->put_IsCursorCaptureEnabled(false); } } @@ -367,7 +365,7 @@ HRESULT WgcCaptureSession::ProcessFrame() { return hr; } - ComPtr<Windows::Graphics::DirectX::Direct3D11::IDirect3DDxgiInterfaceAccess> + ComPtr<ABI::Windows::Graphics::DirectX::Direct3D11::IDirect3DDxgiInterfaceAccess> direct3DDxgiInterfaceAccess; hr = d3d_surface->QueryInterface(IID_PPV_ARGS(&direct3DDxgiInterfaceAccess)); if (FAILED(hr)) { ===================================== third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.cc ===================================== @@ -10,7 +10,7 @@ #include "modules/desktop_capture/win/wgc_capturer_win.h" -#include <DispatcherQueue.h> +#include <dispatcherqueue.h> #include <windows.foundation.metadata.h> #include <windows.graphics.capture.h> ===================================== third_party/libwebrtc/modules/desktop_capture/win/wgc_capturer_win.h ===================================== @@ -11,7 +11,7 @@ #ifndef MODULES_DESKTOP_CAPTURE_WIN_WGC_CAPTURER_WIN_H_ #define MODULES_DESKTOP_CAPTURE_WIN_WGC_CAPTURER_WIN_H_ -#include <DispatcherQueue.h> +#include <dispatcherqueue.h> #include <d3d11.h> #include <wrl/client.h> View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/00… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/00… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.4.0esr-14.5-1] 4 commits: fixup! Bug 40933: Add tor-launcher functionality
by Pier Angelo Vendrame (@pierov) 13 Nov '24

13 Nov '24
Pier Angelo Vendrame pushed to branch tor-browser-128.4.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 82705e37 by Pier Angelo Vendrame at 2024-11-12T17:32:04+01:00 fixup! Bug 40933: Add tor-launcher functionality Make optional members in JSDoc comments more consistent with Firefox&#39;s codebase. - - - - - 163c91b6 by Pier Angelo Vendrame at 2024-11-12T17:32:05+01:00 fixup! Bug 40933: Add tor-launcher functionality Bug 10439: Ask the the SOCKS port to the tor process. Allow specifying a negative port as TOR_SOCKS_PORT to let the tor process choose one for us. This does not play too well with DisableNetwork, which we use to start and stop the bootstrap, so we have to query the port every time we change this setting. Also, currently we use Firefox&#39;s preferences for SOCKS port. This prevents us from keeping a negative number saved in them. See also tor-browser#42062. - - - - - f7e4e221 by Pier Angelo Vendrame at 2024-11-12T17:32:06+01:00 fixup! Bug 40933: Add tor-launcher functionality Bug 42714: Allow to optionally use a TCP listener on Android. - - - - - bb3cd92e by Pier Angelo Vendrame at 2024-11-12T17:32:06+01:00 fixup! Bug 42247: Android helpers for the TorProvider Bug 42714: Allow to optionally use a TCP listener on Android. - - - - - 6 changed files: - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorIntegrationAndroid.java - toolkit/components/tor-launcher/TorControlPort.sys.mjs - toolkit/components/tor-launcher/TorLauncherUtil.sys.mjs - toolkit/components/tor-launcher/TorProcess.sys.mjs - toolkit/components/tor-launcher/TorProcessAndroid.sys.mjs - toolkit/components/tor-launcher/TorProvider.sys.mjs Changes: ===================================== mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorIntegrationAndroid.java ===================================== @@ -220,12 +220,18 @@ public class TorIntegrationAndroid implements BundleEventListener { if (previousProcess != null) { Log.w(TAG, "We still have a running process: " + previousProcess.getHandle()); } - mTorProcess = new TorProcess(handle); + + boolean tcpSocks = message.getBoolean("tcpSocks", false); + mTorProcess = new TorProcess(handle, tcpSocks); GeckoBundle bundle = new GeckoBundle(3); bundle.putString("controlPortPath", mIpcDirectory + CONTROL_PORT_FILE); - bundle.putString("socksPath", mIpcDirectory + SOCKS_FILE); bundle.putString("cookieFilePath", mIpcDirectory + COOKIE_AUTH_FILE); + if (tcpSocks) { + bundle.putInt("socksPort", 0); + } else { + bundle.putString("socksPath", mIpcDirectory + SOCKS_FILE); + } callback.sendSuccess(bundle); } @@ -254,10 +260,12 @@ public class TorIntegrationAndroid implements BundleEventListener { private static final String EVENT_TOR_START_FAILED = "GeckoView:Tor:TorStartFailed"; private static final String EVENT_TOR_EXITED = "GeckoView:Tor:TorExited"; private final String mHandle; + private final boolean mTcpSocks; private Process mProcess = null; - TorProcess(String handle) { + TorProcess(String handle, boolean tcpSocks) { mHandle = handle; + mTcpSocks = tcpSocks; setName("tor-process-" + handle); start(); } @@ -273,8 +281,13 @@ public class TorIntegrationAndroid implements BundleEventListener { args.add("1"); args.add("+__ControlPort"); args.add("unix:" + ipcDir + CONTROL_PORT_FILE); + final String socksFlags = " IPv6Traffic PreferIPv6 KeepAliveIsolateSOCKSAuth"; args.add("+__SocksPort"); - args.add("unix:" + ipcDir + SOCKS_FILE + " IPv6Traffic PreferIPv6 KeepAliveIsolateSOCKSAuth"); + args.add("unix:" + ipcDir + SOCKS_FILE + socksFlags); + if (mTcpSocks) { + args.add("+__SocksPort"); + args.add("auto " + socksFlags); + } args.add("CookieAuthentication"); args.add("1"); args.add("CookieAuthFile"); ===================================== toolkit/components/tor-launcher/TorControlPort.sys.mjs ===================================== @@ -298,6 +298,12 @@ class AsyncSocket { * @property {string} [options] Optional options passed to the binary (only for * exec) */ +/** + * @typedef {object} SocksListener + * @property {string} [ipcPath] path to a Unix socket to use for an IPC proxy + * @property {string} [host] The host to connect for a TCP proxy + * @property {number} [port] The port number to use for a TCP proxy + */ /** * @typedef {object} OnionAuthKeyInfo * @property {string} address The address of the onion service @@ -746,6 +752,32 @@ export class TorController { return this.#getInfo(`ip-to-country/${ip}`); } + /** + * Ask tor which ports it is listening to for SOCKS connections. + * + * @returns {Promise<SocksListener[]>} An array of addresses. It might be + * empty (e.g., when DisableNetwork is set) + */ + async getSocksListeners() { + const listeners = await this.#getInfo("net/listeners/socks"); + return Array.from( + listeners.matchAll(/\s*("(?:[^"\\]|\\.)*"|\S+)\s*/g), + m => { + const listener = TorParsers.unescapeString(m[1]); + if (listener.startsWith("unix:/")) { + return { ipcPath: listener.substring(5) }; + } + const idx = listener.lastIndexOf(":"); + const host = listener.substring(0, idx); + const port = parseInt(listener.substring(idx + 1)); + if (isNaN(port) || port <= 0 || port > 65535 || !host || !port) { + throw new Error(`Could not parse the SOCKS listener ${listener}.`); + } + return { host, port }; + } + ); + } + /** * Ask Tor a list of circuits. * ===================================== toolkit/components/tor-launcher/TorLauncherUtil.sys.mjs ===================================== @@ -449,7 +449,7 @@ export const TorLauncherUtil = Object.freeze({ * If network.proxy.socks contains a file: URL, a default value of * "127.0.0.1" is used instead. * If the network.proxy.socks_port value is not valid (outside the - * (0; 65535] range), a default value of 9150 is used instead. + * (0; 65535] range), we will let the tor daemon choose a port. * * The SOCKS configuration will not influence the launch of a tor daemon and * the configuration of the control port in any way. @@ -458,13 +458,6 @@ export const TorLauncherUtil = Object.freeze({ * This also applies to TOR_TRANSPROXY (at least for now): tor will be * launched with its defaults. * - * TODO: add a preference to ignore the current configuration, and let tor - * listen on any free port. Then, the browser will prompt the daemon the port - * to use through the control port (even though this is quite dangerous at the - * moment, because with network disabled tor will disable also the SOCKS - * listeners, so it means that we will have to check it every time we change - * the network status). - * * @returns {SocksSettings} */ getPreferredSocksConfiguration() { @@ -491,7 +484,7 @@ export const TorLauncherUtil = Object.freeze({ } if (Services.env.exists("TOR_SOCKS_PORT")) { const port = parseInt(Services.env.get("TOR_SOCKS_PORT"), 10); - if (Number.isInteger(port) && port > 0 && port <= 65535) { + if (Number.isInteger(port) && port >= 0 && port <= 65535) { socksPortInfo.port = port; useIPC = false; } @@ -522,20 +515,32 @@ export const TorLauncherUtil = Object.freeze({ socksPortInfo.host = socksAddrHasHost ? socksAddr : "127.0.0.1"; } - if (!socksPortInfo.port) { + if (socksPortInfo.port === undefined) { let socksPort = Services.prefs.getIntPref( "network.proxy.socks_port", - 0 + 9150 ); - // This pref is set as 0 by default in Firefox, use 9150 if we get 0. - socksPortInfo.port = - socksPort > 0 && socksPort <= 65535 ? socksPort : 9150; + if (socksPort > 0 && socksPort <= 65535) { + socksPortInfo.port = socksPort; + } else { + // Automatic port number, we have to query tor over the control port + // every time we change DisableNetwork. + socksPortInfo.port = 0; + } } } return socksPortInfo; }, + /** + * Apply our proxy configuration to the browser. + * + * Currently, we try to configure the Tor daemon to match the browser's + * configuration, but this might change in the future (tor-browser#42062). + * + * @param {SocksSettings} socksPortInfo The configuration to apply + */ setProxyConfiguration(socksPortInfo) { if (socksPortInfo.transproxy) { Services.prefs.setBoolPref("network.proxy.socks_remote_dns", false); @@ -556,7 +561,7 @@ export const TorLauncherUtil = Object.freeze({ if (socksPortInfo.host) { Services.prefs.setCharPref("network.proxy.socks", socksPortInfo.host); } - if (socksPortInfo.port) { + if (socksPortInfo.port > 0 && socksPortInfo.port <= 65535) { Services.prefs.setIntPref( "network.proxy.socks_port", socksPortInfo.port ===================================== toolkit/components/tor-launcher/TorProcess.sys.mjs ===================================== @@ -53,13 +53,16 @@ export class TorProcess { throw new Error("Unauthenticated control port is not supported"); } - const checkPort = port => + const checkPort = (port, allowZero) => port === undefined || - (Number.isInteger(port) && port > 0 && port < 65535); - if (!checkPort(controlSettings?.port)) { + (Number.isInteger(port) && + port < 65535 && + (port > 0 || (allowZero && port === 0))); + if (!checkPort(controlSettings?.port, false)) { throw new Error("Invalid control port"); } - if (!checkPort(socksSettings.port)) { + // Port 0 for SOCKS means automatic port. + if (!checkPort(socksSettings.port, true)) { throw new Error("Invalid port specified for the SOCKS port"); } @@ -296,10 +299,12 @@ export class TorProcess { let socksPortArg; if (this.#socksSettings.ipcFile) { socksPortArg = this.#socksSettings.ipcFile; - } else if (this.#socksSettings.port != 0) { + } else if (this.#socksSettings.port > 0) { socksPortArg = this.#socksSettings.host ? `${this.#socksSettings.host}:${this.#socksSettings.port}` : this.#socksSettings.port.toString(); + } else { + socksPortArg = "auto"; } if (socksPortArg) { const socksPortFlags = Services.prefs.getCharPref( ===================================== toolkit/components/tor-launcher/TorProcessAndroid.sys.mjs ===================================== @@ -77,6 +77,10 @@ export class TorProcessAndroid { config = await lazy.EventDispatcher.instance.sendRequestForResult({ type: TorOutgoingEvents.start, handle: this.#processHandle, + tcpSocks: Services.prefs.getBoolPref( + "extensions.torlauncher.socks_port_use_tcp", + false + ), }); logger.debug("Sent the start event."); } catch (e) { ===================================== toolkit/components/tor-launcher/TorProvider.sys.mjs ===================================== @@ -27,23 +27,23 @@ const logger = console.createInstance({ * @typedef {object} ControlPortSettings An object with the settings to use for * the control port. All the entries are optional, but an authentication * mechanism and a communication method must be specified. - * @property {Uint8Array=} password The clear text password as an array of + * @property {Uint8Array} [password] The clear text password as an array of * bytes. It must always be defined, unless cookieFilePath is - * @property {string=} cookieFilePath The path to the cookie file to use for + * @property {string} [cookieFilePath] The path to the cookie file to use for * authentication - * @property {nsIFile=} ipcFile The nsIFile object with the path to a Unix + * @property {nsIFile} [ipcFile] The nsIFile object with the path to a Unix * socket to use for control socket - * @property {string=} host The host to connect for a TCP control port - * @property {number=} port The port number to use for a TCP control port + * @property {string} [host] The host to connect for a TCP control port + * @property {number} [port] The port number to use for a TCP control port */ /** * @typedef {object} SocksSettings An object that includes the proxy settings to * be configured in the browser. - * @property {boolean=} transproxy If true, no proxy is configured - * @property {nsIFile=} ipcFile The nsIFile object with the path to a Unix + * @property {boolean} [transproxy] If true, no proxy is configured + * @property {nsIFile} [ipcFile] The nsIFile object with the path to a Unix * socket to use for an IPC proxy - * @property {string=} host The host to connect for a TCP proxy - * @property {number=} port The port number to use for a TCP proxy + * @property {string} [host] The host to connect for a TCP proxy + * @property {number} [port] The port number to use for a TCP proxy */ /** * @typedef {object} LogEntry An object with a log message @@ -345,6 +345,25 @@ export class TorProvider { */ async connect() { await this.#controller.setNetworkEnabled(true); + if (this.#socksSettings.port === 0) { + // Enablign/disabling network resets also the SOCKS listener. + // So, every time we do it, we need to update the browser's configuration + // to use the updated port. + const settings = structuredClone(this.#socksSettings); + for (const listener of await this.#controller.getSocksListeners()) { + // When set to automatic port, ignore any IPC listener, as the intention + // was to use TCP. + if (listener.ipcPath) { + continue; + } + // The tor daemon can have any number of SOCKS listeners (see SocksPort + // in man 1 tor). We take for granted that any TCP one will work for us. + settings.host = listener.host; + settings.port = listener.port; + break; + } + TorLauncherUtil.setProxyConfiguration(settings); + } this.#lastWarning = {}; this.retrieveBootstrapStatus(); } @@ -569,14 +588,24 @@ export class TorProvider { logger.debug("Trying to start the tor process."); const res = await this.#torProcess.start(); if (TorLauncherUtil.isAndroid) { + logger.debug("Configuration from TorProcessAndriod", res); this.#controlPortSettings = { ipcFile: new lazy.FileUtils.File(res.controlPortPath), cookieFilePath: res.cookieFilePath, }; this.#socksSettings = { transproxy: false, - ipcFile: new lazy.FileUtils.File(res.socksPath), }; + if (res.socksPath) { + this.#socksSettings.ipcFile = new lazy.FileUtils.File(res.socksPath); + } else if (res.socksPort !== undefined) { + this.#socksSettings.host = res.socksHost ?? "127.0.0.1"; + this.#socksSettings.port = res.socksPort; + } else { + throw new Error( + "TorProcessAndroid did not return a valid SOCKS configuration." + ); + } } logger.info("Started a tor process"); } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/d4097f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/d4097f… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build] Pushed new tag tbb-14.0.2-build1
by morgan (@morgan) 12 Nov '24

12 Nov '24
morgan pushed new tag tbb-14.0.2-build1 at The Tor Project / Applications / tor-browser-build -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/tbb… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-14.0] Bug 41293: Prepare Tor Browser 14.0.2
by morgan (@morgan) 12 Nov '24

12 Nov '24
morgan pushed to branch maint-14.0 at The Tor Project / Applications / tor-browser-build Commits: ca00f0c4 by Morgan at 2024-11-12T19:23:44+00:00 Bug 41293: Prepare Tor Browser 14.0.2 - - - - - 8 changed files: - projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt - projects/browser/config - projects/firefox/config - projects/geckoview/config - projects/go/config - projects/manual/config - projects/translation/config - rbm.conf Changes: ===================================== projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt ===================================== @@ -1,3 +1,19 @@ +Tor Browser 14.0.2 - November 12 2024 + * All Platforms + * Updated NoScript to 11.5.2 + * Bug 43257: NoScript-blocked content placeholders causing slow downs [tor-browser] + * Windows + macOS + Linux + * Bug 32668: NoScript default whitelist re-appears on clicking NoScript Options / Reset [tor-browser] + * Bug 43258: NoScript Lifecycle error on extension updates [tor-browser] + * Bug 43262: Onion keys dialog. "Remove" removes all keys, "Remove all" does nothing. [tor-browser] + * macOS + * Bug 43245: TB14 on macOS crashing when visiting some onionsites [tor-browser] + * Build System + * All Platforms + * Updated Go to 1.22.9 + * Windows + macOS + Linux + * Bug 41286: Update the deploy update scripts to optinally take an override hash [tor-browser-build] + Tor Browser 14.0.1 - October 29 2024 * All Platforms * Updated Tor to 0.4.8.13 ===================================== projects/browser/config ===================================== @@ -108,9 +108,9 @@ input_files: enable: '[% ! c("var/android") %]' - filename: Bundle-Data enable: '[% ! c("var/android") %]' - - URL: https://addons.mozilla.org/firefox/downloads/file/4377088/noscript-11.5.0.x… + - URL: https://addons.mozilla.org/firefox/downloads/file/4379558/noscript-11.5.2.x… name: noscript - sha256sum: 999244c7be75e58fe16cb2880711013ca079822da1dab65e7eb375c1faf5baad + sha256sum: 460aaa6484bf8422415dfe08260e8536866e3731ed5b8b7913cf4b7b1333493a - URL: https://addons.mozilla.org/firefox/downloads/file/4359936/ublock_origin-1.6… name: ublock-origin sha256sum: e2cda9b2a1b0a7f6e5ef0da9f87f28df52f8560587ba2e51a3003121cfb81600 ===================================== projects/firefox/config ===================================== @@ -19,7 +19,7 @@ var: browser_series: '14.0' browser_rebase: 1 browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]' - browser_build: 2 + browser_build: 3 branding_directory_prefix: 'tb' copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]' nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]' ===================================== projects/geckoview/config ===================================== @@ -21,7 +21,7 @@ var: browser_series: '14.0' browser_rebase: 1 browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]' - browser_build: 2 + browser_build: 3 copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]' gitlab_project: https://gitlab.torproject.org/tpo/applications/tor-browser git_commit: '[% exec("git rev-parse HEAD") %]' ===================================== projects/go/config ===================================== @@ -1,5 +1,5 @@ # vim: filetype=yaml sw=2 -version: '1.22.8' +version: '1.22.9' filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' container: use_container: 1 @@ -126,7 +126,7 @@ input_files: enable: '[% ! c("var/linux") %]' - URL: 'https://go.dev/dl/go[% c("version") %].src.tar.gz' name: go - sha256sum: df12c23ebf19dea0f4bf46a22cbeda4a3eca6f474f318390ce774974278440b8 + sha256sum: e81a362f51aee2125722b018e46714e6a055a1954283414c0f937e737013db22 - project: go-bootstrap name: go-bootstrap target_replace: ===================================== projects/manual/config ===================================== @@ -1,7 +1,7 @@ # vim: filetype=yaml sw=2 # To update, see doc/how-to-update-the-manual.txt # Remember to update also the package's hash, with the version! -version: 215922 +version: 222718 filename: 'manual-[% c("version") %]-[% c("var/build_id") %].tar.[% c("compress_tar") %]' container: use_container: 1 @@ -23,6 +23,6 @@ input_files: - project: container-image - URL: 'https://build-sources.tbb.torproject.org/manual_[% c("version") %].zip' name: manual - sha256sum: b5ed703f54d52e9f197320f3698e936d585a3fed23cc4f9fbf59edce2869f885 + sha256sum: 051174ba012fa2241e865cc604658a0af116d3bbf9d02474025277fff1b34636 - filename: packagemanual.py name: package_script ===================================== projects/translation/config ===================================== @@ -12,13 +12,13 @@ compress_tar: 'gz' steps: base-browser: base-browser: '[% INCLUDE build %]' - git_hash: f7c77f129447921ec1490f5f401ee27e474b932a + git_hash: 5a074e0814015db3c2edbf63ff8e9d1f552900aa targets: nightly: git_hash: 'base-browser' tor-browser: tor-browser: '[% INCLUDE build %]' - git_hash: ba63bd165f3fd4bdd472815c9761413d4671cfb7 + git_hash: 7276d3d2ad0319c3d3762047226da7ee104d1d42 targets: nightly: git_hash: 'tor-browser' @@ -32,7 +32,7 @@ steps: fenix: '[% INCLUDE build %]' # We need to bump the commit before releasing but just pointing to a branch # might cause too much rebuidling of the Firefox part. - git_hash: 60f82208b8a0a95e91fdb4dcefe8d394c17f64ba + git_hash: f7a877d66205f33e3cf33e717384b504a374039e compress_tar: 'zst' targets: nightly: ===================================== rbm.conf ===================================== @@ -73,11 +73,11 @@ buildconf: git_signtag_opt: '-s' var: - torbrowser_version: '[% IF c("var/tor-browser") %]14.0.1[% ELSE %]14.0a10[% END %]' + torbrowser_version: '[% IF c("var/tor-browser") %]14.0.2[% ELSE %]14.0a10[% END %]' torbrowser_build: 'build1' # This should be the date of when the build is started. For the build # to be reproducible, browser_release_date should always be in the past. - browser_release_date: '2024/10/31 19:43:38' + browser_release_date: '2024/11/12 18:50:24' browser_release_date_timestamp: '[% USE date; date.format(c("var/browser_release_date"), "%s") %]' updater_enabled: 1 build_mar: 1 @@ -85,6 +85,7 @@ var: - '[% IF c("var/mullvad-browser") %]14.0a9[% END %]' - '[% IF c("var/mullvad-browser") %]14.0a8[% END %]' - '[% IF c("var/mullvad-browser") %]14.0a7[% END %]' + - '[% IF c("var/tor-browser") %]14.0.1[% END %]' - '[% IF c("var/tor-browser") %]14.0[% END %]' - '[% IF c("var/tor-browser") %]13.5.7[% END %]' mar_channel_id: '[% c("var/projectname") %]-torproject-[% c("var/channel") %]' View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/c… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser] Pushed new tag tor-browser-128.4.0esr-14.0-1-build3
by morgan (@morgan) 12 Nov '24

12 Nov '24
morgan pushed new tag tor-browser-128.4.0esr-14.0-1-build3 at The Tor Project / Applications / Tor Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/tree/tor-brows… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.4.0esr-14.5-1] 2 commits: fixup! Lox integration
by Pier Angelo Vendrame (@pierov) 12 Nov '24

12 Nov '24
Pier Angelo Vendrame pushed to branch tor-browser-128.4.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: eb5aaf7e by Henry Wilkes at 2024-11-12T15:43:54+00:00 fixup! Lox integration Bug 42492: Ensure operations that change lox credentials do not overlap. Not linted to improve readability. - - - - - d4097f9c by Henry Wilkes at 2024-11-12T15:45:39+00:00 fixup! Lox integration Bug 42492: Lint Lox.sys.mjs - - - - - 1 changed file: - toolkit/components/lox/Lox.sys.mjs Changes: ===================================== toolkit/components/lox/Lox.sys.mjs ===================================== @@ -144,9 +144,9 @@ class LoxImpl { /** * The latest credentials for a given lox id. * - * @type {Object<string, string>} + * @type {Map<string, string>} */ - #credentials = {}; + #credentials = new Map(); /** * The list of accumulated blockage or upgrade events. * @@ -257,25 +257,73 @@ class LoxImpl { } /** - * Change some existing credentials for an ID to a new value. + * Stores a promise for the last task that was performed to change + * credentials for a given lox ID. This promise completes when the task + * completes and it is safe to perform a new action on the credentials. + * + * This essentially acts as a lock on the credential, so that only one task + * acts on the credentials at any given time. See tor-browser#42492. + * + * @type {Map<string, Promise>} + */ + #credentialsTasks = new Map(); + + /** + * Attempt to change some existing credentials for an ID to a new value. + * + * Each call for the same lox ID must await the previous call. As such, this + * should *never* be called recursively. * * @param {string} loxId - The ID to change the credentials for. - * @param {string} newCredentials - The new credentials to set. + * @param {Function} task - The task that performs the change in credentials. + * The method is given the current credentials. It should either return the + * new credentials as a string, or null if the credentials should not + * change, or throw an error which will fall through to the caller. + * + * @returns {?string} - The credentials returned by the task, if any. */ - #changeCredentials(loxId, newCredentials) { - // FIXME: Several async methods want to update the credentials, but they - // might race and conflict with each. tor-browser#42492 - if (!newCredentials) { - // Avoid overwriting and losing our current credentials. - throw new LoxError(`Empty credentials being set for ${loxId}`); + async #changeCredentials(loxId, task) { + // Read and replace #credentialsTasks before we do any async operations. + // I.e. this is effectively atomic read and replace. + const prevTask = this.#credentialsTasks.get(loxId); + let taskComplete; + this.#credentialsTasks.set( + loxId, + new Promise(res => { + taskComplete = res; + }) + ); + + // Wait for any previous task to complete first, to avoid making conflicting + // changes to the credentials. See tor-browser#42492. + // prevTask is either undefined or a promise that should not throw. + await prevTask; + + // Future calls now await us. + + const cred = this.#getCredentials(loxId); + let newCred = null; + try { + // This task may throw, in which case we do not set new credentials. + newCred = await task(cred); + if (newCred) { + this.#credentials.set(loxId, newCred); + // Store the new credentials. + this.#store(); + lazy.logger.debug("Changed credentials"); + } + } finally { + // Stop awaiting us. + taskComplete(); } - if (!this.#credentials[loxId]) { - // Unexpected, but we still want to save the value to storage. - lazy.logger.warn(`Lox ID ${loxId} is missing existing credentials`); + + if (!newCred) { + return null; } - this.#credentials[loxId] = newCredentials; - this.#store(); + // Let listeners know we have new credentials. We do this *after* calling + // taskComplete to avoid a recursive call to await this.#changeCredentials, + // which would cause us to hang. // NOTE: In principle we could determine within this module whether the // bridges, remaining invites, or next unlock changes in value when @@ -289,6 +337,8 @@ class LoxImpl { // Let UI know about changes. Services.obs.notifyObservers(null, LoxTopics.UpdateRemainingInvites); Services.obs.notifyObservers(null, LoxTopics.UpdateNextUnlock); + + return newCred; } /** @@ -299,7 +349,7 @@ class LoxImpl { * @returns {string} - The credentials. */ #getCredentials(loxId) { - const cred = loxId ? this.#credentials[loxId] : undefined; + const cred = loxId ? this.#credentials.get(loxId) : undefined; if (!cred) { throw new LoxError(`No credentials for ${loxId}`); } @@ -376,7 +426,7 @@ class LoxImpl { Services.prefs.setStringPref(LoxSettingsPrefs.constants, this.#constants); Services.prefs.setStringPref( LoxSettingsPrefs.credentials, - JSON.stringify(this.#credentials) + JSON.stringify(Object.fromEntries(this.#credentials)) ); Services.prefs.setStringPref( LoxSettingsPrefs.invites, @@ -390,7 +440,7 @@ class LoxImpl { #load() { const cred = Services.prefs.getStringPref(LoxSettingsPrefs.credentials, ""); - this.#credentials = cred ? JSON.parse(cred) : {}; + this.#credentials = new Map(cred ? Object.entries(JSON.parse(cred)) : []); const invites = Services.prefs.getStringPref(LoxSettingsPrefs.invites, ""); this.#invites = invites ? JSON.parse(invites) : []; const events = Services.prefs.getStringPref(LoxSettingsPrefs.events, ""); @@ -421,17 +471,15 @@ class LoxImpl { if (prevKeys !== null) { // check if the lox pubkeys have changed and update the lox // credentials if so. - // - // The UpdateCredOption rust struct serializes to "req" rather than - // "request". - const { updated, req: request } = JSON.parse( - lazy.check_lox_pubkeys_update( - pubKeys, - prevKeys, - this.#getCredentials(this.#activeLoxId) - ) - ); - if (updated) { + await this.#changeCredentials(this.#activeLoxId, async cred => { + // The UpdateCredOption rust struct serializes to "req" rather than + // "request". + const { updated, req: request } = JSON.parse( + lazy.check_lox_pubkeys_update(pubKeys, prevKeys, cred) + ); + if (!updated) { + return null; + } // Try update credentials. // NOTE: This should be re-callable if any step fails. // TODO: Verify this. @@ -444,9 +492,8 @@ class LoxImpl { // is refactored to send repeat responses: // https://gitlab.torproject.org/tpo/anti-censorship/lox/-/issues/74) let response = await this.#makeRequest("updatecred", request); - let cred = lazy.handle_update_cred(request, response, pubKeys); - this.#changeCredentials(this.#activeLoxId, cred); - } + return lazy.handle_update_cred(request, response, pubKeys); + }); } // If we arrive here we haven't had other errors before, we can actually // store the new public key. @@ -648,7 +695,7 @@ class LoxImpl { this.#pubKeyPromise = null; this.#encTablePromise = null; this.#constantsPromise = null; - this.#credentials = {}; + this.#credentials = new Map(); this.#events = []; if (this.#backgroundInterval) { clearInterval(this.#backgroundInterval); @@ -712,9 +759,9 @@ class LoxImpl { let loxId; do { loxId = this.#genLoxId(); - } while (Object.hasOwn(this.#credentials, loxId)); + } while (this.#credentials.has(loxId)); // Set new credentials. - this.#credentials[loxId] = cred; + this.#credentials.set(loxId, cred); this.#store(); return loxId; } @@ -760,21 +807,17 @@ class LoxImpl { if (level < 1) { throw new LoxError(`Cannot generate invites at level ${level}`); } - let request = lazy.issue_invite( - this.#getCredentials(loxId), - this.#encTable, - this.#pubKeys - ); - let response = await this.#makeRequest("issueinvite", request); - // TODO: Do we ever expect handle_issue_invite to fail (beyond - // implementation bugs)? - // TODO: What happens if #pubkeys for `issue_invite` differs from the value - // when calling `handle_issue_invite`? Should we cache the value at the - // start of this method? - let cred = lazy.handle_issue_invite(request, response, this.#pubKeys); - // Store the new credentials as a priority. - this.#changeCredentials(loxId, cred); + const cred = await this.#changeCredentials(loxId, async cred => { + let request = lazy.issue_invite(cred, this.#encTable, this.#pubKeys); + let response = await this.#makeRequest("issueinvite", request); + // TODO: Do we ever expect handle_issue_invite to fail (beyond + // implementation bugs)? + // TODO: What happens if #pubkeys for `issue_invite` differs from the value + // when calling `handle_issue_invite`? Should we cache the value at the + // start of this method? + return lazy.handle_issue_invite(request, response, this.#pubKeys); + }); const invite = lazy.prepare_invite(cred); this.#invites.push(invite); @@ -804,35 +847,26 @@ class LoxImpl { } async #blockageMigration(loxId) { - let request; - try { - request = lazy.check_blockage(this.#getCredentials(loxId), this.#pubKeys); - } catch { - lazy.logger.log("Not ready for blockage migration"); - return false; - } - let response = await this.#makeRequest("checkblockage", request); - // NOTE: If a later method fails, we should be ok to re-call "checkblockage" - // from the Lox authority. So there shouldn't be any adverse side effects to - // loosing migrationCred. - // TODO: Confirm this is safe to lose. - const migrationCred = lazy.handle_check_blockage( - this.#getCredentials(loxId), - response - ); - request = lazy.blockage_migration( - this.#getCredentials(loxId), - migrationCred, - this.#pubKeys - ); - response = await this.#makeRequest("blockagemigration", request); - const cred = lazy.handle_blockage_migration( - this.#getCredentials(loxId), - response, - this.#pubKeys + return Boolean( + await this.#changeCredentials(loxId, async cred => { + let request; + try { + request = lazy.check_blockage(cred, this.#pubKeys); + } catch { + lazy.logger.log("Not ready for blockage migration"); + return null; + } + let response = await this.#makeRequest("checkblockage", request); + // NOTE: If a later method fails, we should be ok to re-call "checkblockage" + // from the Lox authority. So there shouldn't be any adverse side effects to + // loosing migrationCred. + // TODO: Confirm this is safe to lose. + const migrationCred = lazy.handle_check_blockage(cred, response); + request = lazy.blockage_migration(cred, migrationCred, this.#pubKeys); + response = await this.#makeRequest("blockagemigration", request); + return lazy.handle_blockage_migration(cred, response, this.#pubKeys); + }) ); - this.#changeCredentials(loxId, cred); - return true; } /** @@ -850,25 +884,26 @@ class LoxImpl { // attempt trust promotion instead return this.#trustMigration(loxId); } - let request = lazy.level_up( - this.#getCredentials(loxId), - this.#encTable, - this.#pubKeys + return Boolean( + await this.#changeCredentials(loxId, async cred => { + let request = lazy.level_up(cred, this.#encTable, this.#pubKeys); + let response; + try { + response = await this.#makeRequest("levelup", request); + } catch (error) { + if ( + error instanceof LoxError && + error.code === LoxError.ErrorResponse + ) { + // Not an error. + lazy.logger.debug("Not ready for level up", error); + return null; + } + throw error; + } + return lazy.handle_level_up(request, response, this.#pubKeys); + }) ); - let response; - try { - response = await this.#makeRequest("levelup", request); - } catch (error) { - if (error instanceof LoxError && error.code === LoxError.ErrorResponse) { - // Not an error. - lazy.logger.debug("Not ready for level up", error); - return false; - } - throw error; - } - const cred = lazy.handle_level_up(request, response, this.#pubKeys); - this.#changeCredentials(loxId, cred); - return true; } /** @@ -884,42 +919,37 @@ class LoxImpl { this.#getPubKeys(); return false; } - let request; - try { - request = lazy.trust_promotion( - this.#getCredentials(loxId), - this.#pubKeys - ); - } catch (err) { - // This function is called routinely during the background tasks without - // previous checks on whether an upgrade is possible, so it is expected to - // fail with a certain frequency. Therefore, do not relay the error to the - // caller and just log the message for debugging. - lazy.logger.debug("Not ready to upgrade", err); - return false; - } + return Boolean( + await this.#changeCredentials(loxId, async cred => { + let request; + try { + request = lazy.trust_promotion(cred, this.#pubKeys); + } catch (err) { + // This function is called routinely during the background tasks without + // previous checks on whether an upgrade is possible, so it is expected to + // fail with a certain frequency. Therefore, do not relay the error to the + // caller and just log the message for debugging. + lazy.logger.debug("Not ready to upgrade", err); + return null; + } - let response = await this.#makeRequest("trustpromo", request); - // FIXME: Store response to "trustpromo" in case handle_trust_promotion - // or "trustmig" fails. The Lox authority will not accept a re-request - // to "trustpromo" with the same credentials. - let promoCred = lazy.handle_trust_promotion(request, response); - lazy.logger.debug("Formatted promotion cred: ", promoCred); - - request = lazy.trust_migration( - this.#getCredentials(loxId), - promoCred, - this.#pubKeys + let response = await this.#makeRequest("trustpromo", request); + // FIXME: Store response to "trustpromo" in case handle_trust_promotion + // or "trustmig" fails. The Lox authority will not accept a re-request + // to "trustpromo" with the same credentials. + let promoCred = lazy.handle_trust_promotion(request, response); + lazy.logger.debug("Formatted promotion cred: ", promoCred); + + request = lazy.trust_migration(cred, promoCred, this.#pubKeys); + response = await this.#makeRequest("trustmig", request); + lazy.logger.debug("Got new credential: ", response); + + // FIXME: Store response to "trustmig" in case handle_trust_migration + // fails. The Lox authority will not accept a re-request to "trustmig" with + // the same credentials. + return lazy.handle_trust_migration(request, response); + }) ); - response = await this.#makeRequest("trustmig", request); - lazy.logger.debug("Got new credential: ", response); - - // FIXME: Store response to "trustmig" in case handle_trust_migration - // fails. The Lox authority will not accept a re-request to "trustmig" with - // the same credentials. - let cred = lazy.handle_trust_migration(request, response); - this.#changeCredentials(loxId, cred); - return true; } /** View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8a4eb9… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/8a4eb9… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/torbrowser-launcher][main] Allow the Wayland Proxy to run
by boklm (@boklm) 07 Nov '24

07 Nov '24
boklm pushed to branch main at The Tor Project / Applications / torbrowser-launcher Commits: 63962618 by anonym at 2024-11-07T10:07:22+01:00 Allow the Wayland Proxy to run Details: https://mastransky.wordpress.com/2023/12/22/wayland-proxy-load-balancer/ - - - - - 1 changed file: - apparmor/torbrowser.Browser.firefox Changes: ===================================== apparmor/torbrowser.Browser.firefox ===================================== @@ -137,6 +137,11 @@ profile torbrowser_firefox @{torbrowser_firefox_executable} { # Required for Wayland display protocol support owner /dev/shm/wayland.mozilla.ipc.[0-9]* rw, + # The Wayland Proxy prevents certain types of Wayland issues from + # crashing the client application. Details: + # https://mastransky.wordpress.com/2023/12/22/wayland-proxy-load-balancer/ + owner @{run}/user/[0-9]*/wayland-proxy-@{pid} rw, + # Silence denial logs about permissions we don't need deny @{HOME}/.cache/fontconfig/ rw, deny @{HOME}/.cache/fontconfig/** rw, View it on GitLab: https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/-/commit… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/torbrowser-launcher/-/commit… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser-update-responses][main] alpha: new version, 14.0a10
by morgan (@morgan) 01 Nov '24

01 Nov '24
morgan pushed to branch main at The Tor Project / Applications / mullvad-browser-update-responses Commits: 00b72352 by Morgan at 2024-11-01T16:55:50+00:00 alpha: new version, 14.0a10 - - - - - 29 changed files: - update_1/alpha/.htaccess - + update_1/alpha/14.0a10-linux-x86_64-ALL.xml - + update_1/alpha/14.0a10-macos-ALL.xml - + update_1/alpha/14.0a10-windows-x86_64-ALL.xml - − update_1/alpha/14.0a6-14.0a9-linux-x86_64-ALL.xml - − update_1/alpha/14.0a6-14.0a9-macos-ALL.xml - − update_1/alpha/14.0a6-14.0a9-windows-x86_64-ALL.xml - + update_1/alpha/14.0a7-14.0a10-linux-x86_64-ALL.xml - + update_1/alpha/14.0a7-14.0a10-macos-ALL.xml - + update_1/alpha/14.0a7-14.0a10-windows-x86_64-ALL.xml - − update_1/alpha/14.0a7-14.0a9-linux-x86_64-ALL.xml - − update_1/alpha/14.0a7-14.0a9-macos-ALL.xml - − update_1/alpha/14.0a7-14.0a9-windows-x86_64-ALL.xml - + update_1/alpha/14.0a8-14.0a10-linux-x86_64-ALL.xml - + update_1/alpha/14.0a8-14.0a10-macos-ALL.xml - + update_1/alpha/14.0a8-14.0a10-windows-x86_64-ALL.xml - − update_1/alpha/14.0a8-14.0a9-linux-x86_64-ALL.xml - − update_1/alpha/14.0a8-14.0a9-macos-ALL.xml - − update_1/alpha/14.0a8-14.0a9-windows-x86_64-ALL.xml - + update_1/alpha/14.0a9-14.0a10-linux-x86_64-ALL.xml - + update_1/alpha/14.0a9-14.0a10-macos-ALL.xml - + update_1/alpha/14.0a9-14.0a10-windows-x86_64-ALL.xml - − update_1/alpha/14.0a9-linux-x86_64-ALL.xml - − update_1/alpha/14.0a9-macos-ALL.xml - − update_1/alpha/14.0a9-windows-x86_64-ALL.xml - update_1/alpha/download-linux-x86_64.json - update_1/alpha/download-macos.json - update_1/alpha/download-windows-x86_64.json - update_1/alpha/downloads.json Changes: ===================================== update_1/alpha/.htaccess ===================================== @@ -1,22 +1,22 @@ RewriteEngine On -RewriteRule ^[^/]+/14.0a9/ no-update.xml [last] -RewriteRule ^Linux_x86_64-gcc3/14.0a6/ALL 14.0a6-14.0a9-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/14.0a7/ALL 14.0a7-14.0a9-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/14.0a8/ALL 14.0a8-14.0a9-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/[^/]+/ALL 14.0a9-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/ 14.0a9-linux-x86_64-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/14.0a6/ALL 14.0a6-14.0a9-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/14.0a7/ALL 14.0a7-14.0a9-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/14.0a8/ALL 14.0a8-14.0a9-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/[^/]+/ALL 14.0a9-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/ 14.0a9-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/14.0a6/ALL 14.0a6-14.0a9-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/14.0a7/ALL 14.0a7-14.0a9-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/14.0a8/ALL 14.0a8-14.0a9-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/[^/]+/ALL 14.0a9-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/ 14.0a9-macos-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/14.0a6/ALL 14.0a6-14.0a9-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/14.0a7/ALL 14.0a7-14.0a9-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/14.0a8/ALL 14.0a8-14.0a9-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/[^/]+/ALL 14.0a9-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/ 14.0a9-windows-x86_64-ALL.xml [last] +RewriteRule ^[^/]+/14.0a10/ no-update.xml [last] +RewriteRule ^Linux_x86_64-gcc3/14.0a7/ALL 14.0a7-14.0a10-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/14.0a8/ALL 14.0a8-14.0a10-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/14.0a9/ALL 14.0a9-14.0a10-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/[^/]+/ALL 14.0a10-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/ 14.0a10-linux-x86_64-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/14.0a7/ALL 14.0a7-14.0a10-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/14.0a8/ALL 14.0a8-14.0a10-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/14.0a9/ALL 14.0a9-14.0a10-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/[^/]+/ALL 14.0a10-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/ 14.0a10-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/14.0a7/ALL 14.0a7-14.0a10-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/14.0a8/ALL 14.0a8-14.0a10-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/14.0a9/ALL 14.0a9-14.0a10-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/[^/]+/ALL 14.0a10-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/ 14.0a10-macos-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/14.0a7/ALL 14.0a7-14.0a10-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/14.0a8/ALL 14.0a8-14.0a10-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/14.0a9/ALL 14.0a9-14.0a10-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/[^/]+/ALL 14.0a10-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/ 14.0a10-windows-x86_64-ALL.xml [last] ===================================== update_1/alpha/14.0a10-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a10" appVersion="14.0a10" platformVersion="128.4.0" buildID="20241031194338" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-linux-x86_64-14.0a1…" size="114129405" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a10-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a10" appVersion="14.0a10" platformVersion="128.4.0" buildID="20241031194338" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-macos-14.0a10_ALL.m…" size="129200778" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a10-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a10" appVersion="14.0a10" platformVersion="128.4.0" buildID="20241031194338" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-windows-x86_64-14.0…" size="97553244" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a6-14.0a9-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a9" appVersion="14.0a9" platformVersion="128.3.0" buildID="20241008203309" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-linux-x86_64-14.0a9_…" size="114019445" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-linux-x86_64--14.0a6…" size="9429081" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a6-14.0a9-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a9" appVersion="14.0a9" platformVersion="128.3.0" buildID="20241008203309" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-macos-14.0a9_ALL.mar" size="129063226" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-macos--14.0a6-14.0a9…" size="14397074" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a6-14.0a9-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a9" appVersion="14.0a9" platformVersion="128.3.0" buildID="20241008203309" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-windows-x86_64-14.0a…" size="95007704" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-windows-x86_64--14.0…" size="9768332" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a7-14.0a10-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a10" appVersion="14.0a10" platformVersion="128.4.0" buildID="20241031194338" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-linux-x86_64-14.0a1…" size="114129405" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-linux-x86_64--14.0a…" size="10956214" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a7-14.0a10-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a10" appVersion="14.0a10" platformVersion="128.4.0" buildID="20241031194338" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-macos-14.0a10_ALL.m…" size="129200778" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-macos--14.0a7-14.0a…" size="16734321" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a7-14.0a10-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a10" appVersion="14.0a10" platformVersion="128.4.0" buildID="20241031194338" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-windows-x86_64-14.0…" size="97553244" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-windows-x86_64--14.…" size="15099219" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a7-14.0a9-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a9" appVersion="14.0a9" platformVersion="128.3.0" buildID="20241008203309" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-linux-x86_64-14.0a9_…" size="114019445" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-linux-x86_64--14.0a7…" size="6282441" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a7-14.0a9-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a9" appVersion="14.0a9" platformVersion="128.3.0" buildID="20241008203309" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-macos-14.0a9_ALL.mar" size="129063226" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-macos--14.0a7-14.0a9…" size="9540109" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a7-14.0a9-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a9" appVersion="14.0a9" platformVersion="128.3.0" buildID="20241008203309" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-windows-x86_64-14.0a…" size="95007704" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-windows-x86_64--14.0…" size="5978110" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a8-14.0a10-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a10" appVersion="14.0a10" platformVersion="128.4.0" buildID="20241031194338" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-linux-x86_64-14.0a1…" size="114129405" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-linux-x86_64--14.0a…" size="8395504" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a8-14.0a10-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a10" appVersion="14.0a10" platformVersion="128.4.0" buildID="20241031194338" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-macos-14.0a10_ALL.m…" size="129200778" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-macos--14.0a8-14.0a…" size="14072348" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a8-14.0a10-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a10" appVersion="14.0a10" platformVersion="128.4.0" buildID="20241031194338" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-windows-x86_64-14.0…" size="97553244" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-windows-x86_64--14.…" size="12468369" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a8-14.0a9-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a9" appVersion="14.0a9" platformVersion="128.3.0" buildID="20241008203309" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-linux-x86_64-14.0a9_…" size="114019445" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-linux-x86_64--14.0a8…" size="3392543" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a8-14.0a9-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a9" appVersion="14.0a9" platformVersion="128.3.0" buildID="20241008203309" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-macos-14.0a9_ALL.mar" size="129063226" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-macos--14.0a8-14.0a9…" size="6508272" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a8-14.0a9-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a9" appVersion="14.0a9" platformVersion="128.3.0" buildID="20241008203309" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-windows-x86_64-14.0a…" size="95007704" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-windows-x86_64--14.0…" size="3304804" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a9-14.0a10-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a10" appVersion="14.0a10" platformVersion="128.4.0" buildID="20241031194338" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-linux-x86_64-14.0a1…" size="114129405" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-linux-x86_64--14.0a…" size="8388128" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a9-14.0a10-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a10" appVersion="14.0a10" platformVersion="128.4.0" buildID="20241031194338" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-macos-14.0a10_ALL.m…" size="129200778" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-macos--14.0a9-14.0a…" size="14067444" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a9-14.0a10-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a10" appVersion="14.0a10" platformVersion="128.4.0" buildID="20241031194338" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a10" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-windows-x86_64-14.0…" size="97553244" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-windows-x86_64--14.…" size="12458073" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a9-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a9" appVersion="14.0a9" platformVersion="128.3.0" buildID="20241008203309" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-linux-x86_64-14.0a9_…" size="114019445" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a9-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a9" appVersion="14.0a9" platformVersion="128.3.0" buildID="20241008203309" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-macos-14.0a9_ALL.mar" size="129063226" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a9-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a9" appVersion="14.0a9" platformVersion="128.3.0" buildID="20241008203309" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a9" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-windows-x86_64-14.0a…" size="95007704" type="complete"></patch></update></updates> ===================================== update_1/alpha/download-linux-x86_64.json ===================================== @@ -1 +1 @@ -{"binary":"https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-linux-x86_64-14.0a9.…","git_tag":"mb-14.0a9-build1","sig":"https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-linux-x86_64-14.0a9.…","version":"14.0a9"} \ No newline at end of file +{"binary":"https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-linux-x86_64-14.0a1…","git_tag":"mb-14.0a10-build1","sig":"https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-linux-x86_64-14.0a1…","version":"14.0a10"} \ No newline at end of file ===================================== update_1/alpha/download-macos.json ===================================== @@ -1 +1 @@ -{"binary":"https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-macos-14.0a9.dmg","git_tag":"mb-14.0a9-build1","sig":"https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-macos-14.0a9.dmg.asc","version":"14.0a9"} \ No newline at end of file +{"binary":"https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-macos-14.0a10.dmg","git_tag":"mb-14.0a10-build1","sig":"https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-macos-14.0a10.dmg.a…","version":"14.0a10"} \ No newline at end of file ===================================== update_1/alpha/download-windows-x86_64.json ===================================== @@ -1 +1 @@ -{"binary":"https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-windows-x86_64-14.0a…","git_tag":"mb-14.0a9-build1","sig":"https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-windows-x86_64-14.0a…","version":"14.0a9"} \ No newline at end of file +{"binary":"https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-windows-x86_64-14.0…","git_tag":"mb-14.0a10-build1","sig":"https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-windows-x86_64-14.0…","version":"14.0a10"} \ No newline at end of file ===================================== update_1/alpha/downloads.json ===================================== @@ -1 +1 @@ -{"downloads":{"linux-x86_64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-linux-x86_64-14.0a9.…","sig":"https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-linux-x86_64-14.0a9.…"}},"macos":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-macos-14.0a9.dmg","sig":"https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-macos-14.0a9.dmg.asc"}},"win64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-windows-x86_64-14.0a…","sig":"https://cdn.mullvad.net/browser/14.0a9/mullvad-browser-windows-x86_64-14.0a…"}}},"tag":"mb-14.0a9-build1","version":"14.0a9"} \ No newline at end of file +{"downloads":{"linux-x86_64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-linux-x86_64-14.0a1…","sig":"https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-linux-x86_64-14.0a1…"}},"macos":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-macos-14.0a10.dmg","sig":"https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-macos-14.0a10.dmg.a…"}},"win64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-windows-x86_64-14.0…","sig":"https://cdn.mullvad.net/browser/14.0a10/mullvad-browser-windows-x86_64-14.0…"}}},"tag":"mb-14.0a10-build1","version":"14.0a10"} \ No newline at end of file View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.4.0esr-14.5-1] 4 commits: dropme! Bug 32308: Use direct browser sizing for letterboxing.
by Pier Angelo Vendrame (@pierov) 01 Nov '24

01 Nov '24
Pier Angelo Vendrame pushed to branch tor-browser-128.4.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 385447ad by Pier Angelo Vendrame at 2024-10-31T19:10:50+01:00 dropme! Bug 32308: Use direct browser sizing for letterboxing. Revert a couple of lines to make the backport easier. - - - - - 4a33efb7 by hackademix at 2024-10-31T19:10:51+01:00 Bug 1556002 - Update initial window size and letterboxing stepping. r=tjr Differential Revision: https://phabricator.services.mozilla.com/D226598 - - - - - 036aaa05 by Pier Angelo Vendrame at 2024-10-31T19:13:04+01:00 fixup! Bug 32308: Use direct browser sizing for letterboxing. Restore our changes after backporting MozBug 1556002. - - - - - 8a4eb9d3 by Pier Angelo Vendrame at 2024-10-31T19:13:50+01:00 fixup! Firefox preference overrides. Remove our custom letterboxing size, since they are going to be also Firefox&#39;s default one after MozBug 1556002. - - - - - 6 changed files: - browser/app/profile/001-base-profile.js - browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js - browser/components/resistfingerprinting/test/browser/browser_roundedWindow_open_max_inner.js - browser/components/resistfingerprinting/test/browser/head.js - modules/libpref/init/StaticPrefList.yaml - toolkit/components/resistfingerprinting/RFPHelper.sys.mjs Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -445,9 +445,6 @@ pref("privacy.resistFingerprinting.letterboxing.gradient", true); pref("privacy.resistFingerprinting.letterboxing.rememberSize", false); // tor-browser#41695: how many warnings we show if user closes them without restoring the window size pref("privacy.resistFingerprinting.resizeWarnings", 3); -// tor-browser#33282: new windows start at 1400x900 when there's enough screen space, otherwise down by 200x100 blocks -pref("privacy.window.maxInnerWidth", 1400); -pref("privacy.window.maxInnerHeight", 900); // Enforce Network Information API as disabled pref("dom.netinfo.enabled", false); pref("network.http.referer.defaultPolicy", 2); // Bug 32948: Make referer behavior consistent regardless of private browing mode status ===================================== browser/components/resistfingerprinting/test/browser/browser_dynamical_window_rounding.js ===================================== @@ -53,8 +53,8 @@ function checkForDefaultSetting( aRealHeight ) { // We can get the rounded size by subtracting twice the margin. - let targetWidth = aRealWidth - 2 * RFPHelper.steppedRange(aRealWidth); - let targetHeight = aRealHeight - 2 * RFPHelper.steppedRange(aRealHeight); + let targetWidth = aRealWidth - 2 * RFPHelper.steppedSize(aRealWidth, true); + let targetHeight = aRealHeight - 2 * RFPHelper.steppedSize(aRealHeight); // This platform-specific code is explained in the large comment below. if (getPlatform() != "linux") { ===================================== browser/components/resistfingerprinting/test/browser/browser_roundedWindow_open_max_inner.js ===================================== @@ -4,23 +4,26 @@ * maximum values. */ +let targetWidth = Services.prefs.getIntPref("privacy.window.maxInnerWidth"); +let targetHeight = Services.prefs.getIntPref("privacy.window.maxInnerHeight"); + OpenTest.run([ { - settingWidth: 1025, - settingHeight: 1050, - targetWidth: 1000, - targetHeight: 1000, + settingWidth: targetWidth + 25, + settingHeight: targetHeight + 50, + targetWidth, + targetHeight, }, { settingWidth: 9999, settingHeight: 9999, - targetWidth: 1000, - targetHeight: 1000, + targetWidth, + targetHeight, }, { - settingWidth: 999, - settingHeight: 999, - targetWidth: 1000, - targetHeight: 1000, + settingWidth: targetWidth - 1, + settingHeight: targetHeight - 1, + targetWidth, + targetHeight, }, ]); ===================================== browser/components/resistfingerprinting/test/browser/head.js ===================================== @@ -306,19 +306,28 @@ async function calcMaximumAvailSize(aChromeWidth, aChromeHeight) { let availWidth = window.screen.availWidth; let availHeight = window.screen.availHeight; - // Ideally, we would round the window size as 1000x1000. But the available - // screen space might not suffice. So, we decide the size according to the - // available screen size. - let availContentWidth = Math.min(1000, availWidth - chromeUIWidth); + // Ideally, we would round the window size as + // privacy.window.maxInnerWidth x privacy.window.maxInnerHeight. But the + // available screen space might not suffice. So, we decide the size according + // to the available screen size. + let maxInnerWidth = Services.prefs.getIntPref("privacy.window.maxInnerWidth"); + let maxInnerHeight = Services.prefs.getIntPref( + "privacy.window.maxInnerHeight" + ); + + let availContentWidth = Math.min(maxInnerWidth, availWidth - chromeUIWidth); let availContentHeight; // If it is GTK window, we would consider the system decorations when we // calculating avail content height since the system decorations won't be // reported when we get available screen dimensions. if (AppConstants.MOZ_WIDGET_GTK) { - availContentHeight = Math.min(1000, -40 + availHeight - chromeUIHeight); + availContentHeight = Math.min( + maxInnerHeight, + -40 + availHeight - chromeUIHeight + ); } else { - availContentHeight = Math.min(1000, availHeight - chromeUIHeight); + availContentHeight = Math.min(maxInnerHeight, availHeight - chromeUIHeight); } // Rounded the desire size to the nearest 200x100. ===================================== modules/libpref/init/StaticPrefList.yaml ===================================== @@ -14352,12 +14352,12 @@ - name: privacy.window.maxInnerWidth type: int32_t - value: 1000 + value: 1400 mirror: always - name: privacy.window.maxInnerHeight type: int32_t - value: 1000 + value: 900 mirror: always - name: privacy.sanitize.useOldClearHistoryDialog ===================================== toolkit/components/resistfingerprinting/RFPHelper.sys.mjs ===================================== @@ -522,14 +522,14 @@ class _RFPHelper { /** * Given a width or height, rounds it with the proper stepping. */ - steppedSize(aDimension, isWidth = false) { + steppedSize(aDimension, aIsWidth = false) { let stepping; if (aDimension <= 50) { return 0; } else if (aDimension <= 500) { stepping = 50; } else if (aDimension <= 1600) { - stepping = isWidth ? 200 : 100; + stepping = aIsWidth ? 200 : 100; } else { stepping = 200; } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/3f690c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/3f690c… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build] Pushed new tag mb-14.0a10-build1
by morgan (@morgan) 31 Oct '24

31 Oct '24
morgan pushed new tag mb-14.0a10-build1 at The Tor Project / Applications / tor-browser-build -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/mb-… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • ...
  • 2043
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.