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
  • ----- 2025 -----
  • 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
  • 19538 discussions
[Git][tpo/applications/tor-browser][tor-browser-128.2.0esr-14.0-1] 2 commits: fixup! Bug 41568: Disable LaterRun
by Pier Angelo Vendrame (@pierov) 29 Aug '24

29 Aug '24
Pier Angelo Vendrame pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: e85915bc by Henry Wilkes at 2024-08-29T15:11:30+01:00 fixup! Bug 41568: Disable LaterRun Bug 42630: Revert patch. - - - - - 8a110fc4 by Henry Wilkes at 2024-08-29T15:12:01+01:00 Bug 42630: Disable LaterRun module. - - - - - 2 changed files: - browser/components/BrowserContentHandler.sys.mjs - browser/modules/LaterRun.sys.mjs Changes: ===================================== browser/components/BrowserContentHandler.sys.mjs ===================================== @@ -774,8 +774,8 @@ nsBrowserContentHandler.prototype = { additionalPage = Services.urlFormatter.formatURLPref( "startup.homepage_welcome_url.additional" ); - // Disable 'later run' pages for new profiles (tor-browser#41568) - lazy.LaterRun.selfDestruct(); + // Turn on 'later run' pages for new profiles. + lazy.LaterRun.enable(lazy.LaterRun.ENABLE_REASON_NEW_PROFILE); break; case OVERRIDE_NEW_MSTONE: { // Check whether we will restore a session. If we will, we assume ===================================== browser/modules/LaterRun.sys.mjs ===================================== @@ -61,6 +61,20 @@ export let LaterRun = { }, init(reason) { + // Keep disabled in Base Browser. See tor-browser#41568. + // NOTE: This means that users cannot benefit from feature prompts gated + // behind LaterRun. + // In mozilla ESR 128 it is only used in one place, and is gated behind a + // feature recommendation preference that we switch off in Base Browser + // anyway. See tor-browser#42630. + // But this decision should be reviewed. See tor-browser#43093. + Services.prefs.setBoolPref(kEnabledPref, false); + // Clear any preferences that may have been set before LaterRun was + // disabled. + Services.prefs.clearUserPref(kSessionCountPref); + Services.prefs.clearUserPref(kProfileCreationTime); + Services.prefs.clearUserPref(kUpdateAppliedTime); + if (!this.enabled) { return; } @@ -99,11 +113,8 @@ export let LaterRun = { return Services.prefs.getBoolPref(kEnabledPref, false); }, - enable(reason) { - if (!this.enabled) { - Services.prefs.setBoolPref(kEnabledPref, true); - this.init(reason); - } + enable(_reason) { + // Keep disabled in Base Browser. See tor-browser#41568. }, get hoursSinceInstall() { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/df4211… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/df4211… 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.2.0esr-14.0-1] fixup! Bug 23247: Communicating security expectations for .onion
by Pier Angelo Vendrame (@pierov) 29 Aug '24

29 Aug '24
Pier Angelo Vendrame pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: df421101 by Pier Angelo Vendrame at 2024-08-29T10:15:34+02:00 fixup! Bug 23247: Communicating security expectations for .onion Bug 42743: Check for .onion in the actual document URI in pageInfo. One of our patches checks whether we are in a .onion domain when showing the security information in pageInfo.xhtml. However, it checks it in the requested URI rather than doing it on the actually loaded URI, therefore about:neterror is shown as a secure Onion service, which is not consistent with failures in loading clearnet domains with HTTPS. - - - - - 1 changed file: - browser/base/content/pageinfo/security.js Changes: ===================================== browser/base/content/pageinfo/security.js ===================================== @@ -53,16 +53,15 @@ var security = { (Ci.nsIWebProgressListener.STATE_LOADED_MIXED_ACTIVE_CONTENT | Ci.nsIWebProgressListener.STATE_LOADED_MIXED_DISPLAY_CONTENT); var isEV = ui.state & Ci.nsIWebProgressListener.STATE_IDENTITY_EV_TOPLEVEL; - var isOnion = false; - let hostName; - try { - hostName = Services.eTLD.getBaseDomain(this.uri); - } catch (e) { - hostName = this.windowInfo.hostName; - } - if (hostName && hostName.endsWith(".onion")) { - isOnion = true; + let uriInformation = new URL(gDocInfo.documentURIObject.spec); + // If the Onion site could not be loaded, the view-source will be also be + // about:neterror. + if (uriInformation.protocol == "view-source:") { + uriInformation = new URL(uriInformation.pathname); } + const isOnion = + ["http:", "https:"].includes(uriInformation.protocol) && + uriInformation.hostname.endsWith(".onion"); let retval = { cAName: "", View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/df42110… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/df42110… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser] Pushed new tag mullvad-browser-115.15.0esr-13.5-1-build1
by Pier Angelo Vendrame (@pierov) 29 Aug '24

29 Aug '24
Pier Angelo Vendrame pushed new tag mullvad-browser-115.15.0esr-13.5-1-build1 at The Tor Project / Applications / Mullvad Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/mullv… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-115.15.0esr-13.5-1] 21 commits: MB 38: Mullvad Browser configuration
by Pier Angelo Vendrame (@pierov) 29 Aug '24

29 Aug '24
Pier Angelo Vendrame pushed to branch mullvad-browser-115.15.0esr-13.5-1 at The Tor Project / Applications / Mullvad Browser Commits: 37ef7afb by Pier Angelo Vendrame at 2024-08-28T21:58:03+00:00 MB 38: Mullvad Browser configuration - - - - - f8849e43 by Pier Angelo Vendrame at 2024-08-28T21:58:03+00:00 MB 1: Mullvad Browser branding See also: mullvad-browser#5: Product name and directory customization mullvad-browser#12: Create new branding directories and integrate Mullvad icons+branding mullvad-browser#14: Remove Default Built-in bookmarks mullvad-browser#35: Add custom PDF icons for Windows builds mullvad-browser#48: Replace Mozilla copyright and legal trademarks in mullvadbrowser.exe metadata mullvad-browser#51: Update trademark string mullvad-browser#104: Update shipped dll metadata copyright/licensing info mullvad-browser#107: Add alpha and nightly icons - - - - - e86c3f1c by Pier Angelo Vendrame at 2024-08-28T21:58:04+00:00 MB 20: Allow packaged-addons in PBM. We install a few addons from the distribution directory, but they are not automatically enabled for PBM mode. This commit modifies the code that installs them to also add the PBM permission to the known ones. - - - - - 6aa1d7de by Pier Angelo Vendrame at 2024-08-28T21:58:04+00:00 MB 63: Customize some about pages for Mullvad Browser Also: mullvad-browser#57: Purge unneeded about: pages - - - - - 6daa7620 by Pier Angelo Vendrame at 2024-08-28T21:58:04+00:00 MB 37: Customization for the about dialog - - - - - c94bdf41 by Henry Wilkes at 2024-08-28T21:58:04+00:00 MB 39: Add home page about:mullvad-browser - - - - - f1ef654b by hackademix at 2024-08-28T21:58:05+00:00 MB 97: Remove UI cues to install new extensions. - - - - - 4cee4b7a by hackademix at 2024-08-28T21:58:05+00:00 MB 47: uBlock Origin customization - - - - - 688160a2 by Pier Angelo Vendrame at 2024-08-28T21:58:05+00:00 MB 21: Disable the password manager This commit disables the about:login page and removes the "Login and Password" section of about:preferences. We do not do anything to the real password manager of Firefox, that is in toolkit: it contains C++ parts that make it difficult to actually prevent it from being built.. Finally, we modify the the function that opens about:login to report an error in the console so that we can quickly get a backtrace to the code that tries to use it. - - - - - 82aafb40 by Pier Angelo Vendrame at 2024-08-28T21:58:05+00:00 MB 112: Updater customization for Mullvad Browser MB 71: Set the updater base URL to Mullvad domain - - - - - 265de51e by Nicolas Vigier at 2024-08-28T21:58:06+00:00 MB 79: Add Mullvad Browser MAR signing keys MB 256: Add mullvad-browser nightly mar signing key - - - - - 305b0424 by Pier Angelo Vendrame at 2024-08-28T21:58:06+00:00 MB 34: Hide unsafe and unwanted preferences UI about:preferences allow to override some of our defaults, that could be fingeprintable or have some other unwanted consequences. - - - - - 121a0543 by Pier Angelo Vendrame at 2024-08-28T21:58:06+00:00 MB 160: Disable the cookie exceptions button Besides disabling the "Delete on close checkbox", disable also the "Manage Exceptions" button when always using PBM. - - - - - 4a2169d9 by hackademix at 2024-08-28T21:58:06+00:00 MB 163: prevent uBlock Origin from being uninstalled/disabled - - - - - a234562b by Richard Pospesel at 2024-08-28T21:58:07+00:00 MB 188: Customize Gitlab Issue and Merge templates - - - - - 2fcce7dc by rui hildt at 2024-08-28T21:58:07+00:00 MB 213: Customize the search engines list - - - - - 8605e695 by hackademix at 2024-08-28T21:58:07+00:00 MB 214: Enable cross-tab identity leak protection in "quiet" mode - - - - - 0de3a189 by Pier Angelo Vendrame at 2024-08-28T21:58:07+00:00 MB 234: Disable OS spoofing in HTTP User-Agent. This commits makes it possible to disable OS spoofing in the HTTP User-Agent header, to see if matching header and JS property improve usability. - - - - - 71a58d71 by Pier Angelo Vendrame at 2024-08-28T21:58:08+00:00 MB 80: Enable Mullvad Browser as a default browser - - - - - 07d6ff62 by Dan Ballard at 2024-08-28T21:58:08+00:00 MB 290: Add default bookmarks in alpha channel for testing - - - - - 7c46ec5a by june wilde at 2024-08-28T21:58:08+00:00 MB 305: Disable setting default browser on Windows Until we can pull in upstream changes to fix breakage in setting the Mullvad Browser as default in Windows 10/11 we're disabling the ability to do so via about:preferences as well as via the startup query dialog - - - - - 30 changed files: - .gitlab/issue_templates/Emergency Security Issue.md - + .gitlab/issue_templates/Rebase Browser - Alpha.md - + .gitlab/issue_templates/Rebase Browser - Stable.md - .gitlab/merge_request_templates/default.md - browser/app/Makefile.in - browser/app/macbuild/Contents/Info.plist.in - browser/app/module.ver - browser/app/firefox.exe.manifest → browser/app/mullvadbrowser.exe.manifest - + browser/app/profile/000-mullvad-browser.js - browser/app/profile/001-base-profile.js - browser/base/content/aboutDialog.xhtml - browser/base/content/appmenu-viewcache.inc.xhtml - browser/base/content/browser-menubar.inc - browser/base/content/browser-places.js - browser/base/content/browser.js - browser/base/content/default-bookmarks.html - browser/base/content/nsContextMenu.js - browser/base/content/overrides/app-license.html - browser/base/content/pageinfo/pageInfo.xhtml - browser/base/content/utilityOverlay.js - browser/branding/branding-common.mozbuild - + browser/branding/mb-alpha/VisualElements_150.png - + browser/branding/mb-alpha/VisualElements_70.png - + browser/branding/mb-alpha/configure.sh - + browser/branding/mb-alpha/content/about-logo.png - + browser/branding/mb-alpha/content/about-logo.svg - + browser/branding/mb-alpha/content/about-logo(a)2x.png - + browser/branding/mb-alpha/content/about-wordmark.svg - + browser/branding/mb-alpha/content/about.png - + browser/branding/mb-alpha/content/aboutDialog.css The diff was not included because it is too large. View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/69… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/69… 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.2.0esr-14.0-1] fixup! [android] Disable features and functionality
by morgan (@morgan) 29 Aug '24

29 Aug '24
morgan pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 47a49a9d by Morgan at 2024-08-29T00:25:07+00:00 fixup! [android] Disable features and functionality Bug 43094: Remove 'Open in regular tab' button - - - - - 1 changed file: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt ===================================== @@ -265,12 +265,12 @@ open class DefaultToolbarMenu( onItemTapped.invoke(ToolbarMenu.Item.RequestDesktop(checked)) } - private val openInRegularTabItem = BrowserMenuImageText( - label = context.getString(R.string.browser_menu_open_in_regular_tab), - imageResource = R.drawable.ic_open_in_regular_tab, - ) { - onItemTapped.invoke(ToolbarMenu.Item.OpenInRegularTab) - } +// private val openInRegularTabItem = BrowserMenuImageText( +// label = context.getString(R.string.browser_menu_open_in_regular_tab), +// imageResource = R.drawable.ic_open_in_regular_tab, +// ) { +// onItemTapped.invoke(ToolbarMenu.Item.OpenInRegularTab) +// } private val customizeReaderView = BrowserMenuImageText( label = context.getString(R.string.browser_menu_customize_reader_view), @@ -419,7 +419,7 @@ open class DefaultToolbarMenu( findInPageItem, translationsItem.apply { visible = ::shouldShowTranslations }, desktopSiteItem, - openInRegularTabItem.apply { visible = ::shouldShowOpenInRegularTab }, + // openInRegularTabItem.apply { visible = ::shouldShowOpenInRegularTab }, customizeReaderView.apply { visible = ::shouldShowReaderViewCustomization }, // openInApp.apply { visible = ::sho uldShowOpenInApp }, // reportSiteIssuePlaceholder, View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/47a49a9… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/47a49a9… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser] Pushed new tag base-browser-115.14.0esr-13.5-1-build1
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed new tag base-browser-115.14.0esr-13.5-1-build1 at The Tor Project / Applications / Mullvad Browser -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/tree/base-… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] 2 commits: Bug 41180: Avoid some copies for the expert bundles.
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: 5a9ee2bd by Pier Angelo Vendrame at 2024-08-27T18:34:40+02:00 Bug 41180: Avoid some copies for the expert bundles. AndroidManifest.xml should be copied only in tor-expert-bundle when doing Android builds. The compiler is not needed in tor-expert-bundle-aar. - - - - - d994819d by Pier Angelo Vendrame at 2024-08-28T16:41:52+02:00 Bug 41224: Do not ship Conjure and GeoIP databases on some Android configurations. - - - - - 3 changed files: - projects/tor-expert-bundle-aar/config - projects/tor-expert-bundle/build - projects/tor-expert-bundle/config Changes: ===================================== projects/tor-expert-bundle-aar/config ===================================== @@ -8,8 +8,6 @@ var: input_files: - project: container-image - - name: '[% c("var/compiler") %]' - project: '[% c("var/compiler") %]' - project: tor-expert-bundle name: tor-expert-bundle-armv7 target_replace: @@ -25,4 +23,4 @@ input_files: - project: tor-expert-bundle name: tor-expert-bundle-x86_64 target_replace: - '^torbrowser-(?!testbuild).*': 'torbrowser-android-x86_64' \ No newline at end of file + '^torbrowser-(?!testbuild).*': 'torbrowser-android-x86_64' ===================================== projects/tor-expert-bundle/build ===================================== @@ -15,7 +15,9 @@ mkdir pluggable_transports && cd pluggable_transports tar -xkf $rootdir/[% c('input_files_by_name/lyrebird') %] tar -xkf $rootdir/[% c('input_files_by_name/snowflake') %] -tar -xkf $rootdir/[% c('input_files_by_name/conjure') %] +[% IF c('input_files_by_name/conjure') -%] + tar -xkf $rootdir/[% c('input_files_by_name/conjure') %] +[% END -%] # add per-platform pt extension awk '{gsub(/\$\{pt_extension\}/, "[% c("var/pt_extension") %]"); print}' $rootdir/pt_config.json > pt_config.json @@ -33,11 +35,15 @@ cd $distdir mkdir -p aar/assets/common cp -a tor/libTor.so aar/jni/$abi/ - cp -a tor/pluggable_transports/conjure-client aar/jni/$abi/libConjure.so cp -a tor/pluggable_transports/lyrebird aar/jni/$abi/libObfs4proxy.so cp -a tor/pluggable_transports/snowflake-client aar/jni/$abi/libSnowflake.so + [% IF c('input_files_by_name/conjure') -%] + cp -a tor/pluggable_transports/conjure-client aar/jni/$abi/libConjure.so + [% END -%] - cp -a data/* aar/assets/common/ + # tor-browser-build#41224, tor-browser#42607: Currently we do not use the + # GeoIP databases. So, we avoid copying them to save space on the final APK. + # cp -a data/* aar/assets/common/ cp -a tor/pluggable_transports/pt_config.json aar/assets/common/ @@ -57,4 +63,4 @@ cd $distdir tar_src => tar_src, tar_args => '-czvf' _ dest_dir _ '/' _ c('filename') _ '/tor-expert-bundle.tar.gz', }); -%] \ No newline at end of file +%] ===================================== projects/tor-expert-bundle/config ===================================== @@ -20,5 +20,7 @@ input_files: project: snowflake - name: conjure project: conjure + enable: '[% !c("var/android-x86") && !c("var/android-x86_64") %]' - filename: pt_config.json - filename: AndroidManifest.xml + enable: '[% c("var/android") %]' View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/compare/… 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.2.0esr-14.0-1] fixup! Bug 42247: Android helpers for the TorProvider
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 431ff1b6 by Pier Angelo Vendrame at 2024-08-28T20:33:14+00:00 fixup! Bug 42247: Android helpers for the TorProvider Bug 42607: Stop shipping GeoIP databases for now. - - - - - 1 changed file: - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorIntegrationAndroid.java Changes: ===================================== mobile/android/geckoview/src/main/java/org/mozilla/geckoview/TorIntegrationAndroid.java ===================================== @@ -289,13 +289,16 @@ public class TorIntegrationAndroid implements BundleEventListener { Log.w(TAG, "torrc-default cannot be created, pluggable transports will not be available", e); copied = false; } - try { + // tor-browser#42607: For now we do not ship geoip databases, as we + // do not have the circuit display functionality and they allow us + // to save some space in the final APK. + /*try { copyAndUseConfigFile("GeoIPFile", "geoip", args); copyAndUseConfigFile("GeoIPv6File", "geoip6", args); } catch (IOException e) { Log.w(TAG, "GeoIP files cannot be created, this feature will not be available.", e); copied = false; - } + }*/ mCopiedConfigFiles = copied; Log.d(TAG, "Starting tor with the follwing args: " + args.toString()); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/431ff1b… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/431ff1b… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-128.2.0esr-14.0-1] Bug 41736: Customize toolbar for mullvad-browser.
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch mullvad-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 07162010 by Henry Wilkes at 2024-08-28T20:30:43+00:00 Bug 41736: Customize toolbar for mullvad-browser. - - - - - 1 changed file: - browser/components/customizableui/CustomizableUI.sys.mjs Changes: ===================================== browser/components/customizableui/CustomizableUI.sys.mjs ===================================== @@ -65,6 +65,11 @@ var kVersion = 20; var kVersionBaseBrowser = 2; const NoScriptId = "_73a6fe31-595d-460b-a920-fcc0f8843232_-browser-action"; +/** + * The current version for mullvad browser. + */ +var kVersionMullvadBrowser = 1; + /** * Buttons removed from built-ins by version they were removed. kVersion must be * bumped any time a new id is added to this. Use the button id as key, and @@ -228,6 +233,7 @@ var CustomizableUIInternal = { this._updateForNewProtonVersion(); this._markObsoleteBuiltinButtonsSeen(); this._updateForBaseBrowser(); + this._updateForMullvadBrowser(); this.registerArea( CustomizableUI.AREA_FIXED_OVERFLOW_PANEL, @@ -264,7 +270,11 @@ var CustomizableUIInternal = { // Base-browser additions tor-browser#41736. If you want to add to, remove // from, or rearrange this list, then bump the kVersionBaseBrowser and // update existing saved states in _updateForBaseBrowser. - "security-level-button", + // Or if the change is only meant for mullvad-browser, bump + // kVersionMullvadBrowser instead and update the existing saved states in + // _updateForMullvadBrowser. + // Do not show the security-level-button by default in Mullvad Browser. + // See mullvad-browser#329 "new-identity-button", "downloads-button", AppConstants.MOZ_DEV_EDITION ? "developer-button" : null, @@ -930,6 +940,44 @@ var CustomizableUIInternal = { } }, + _updateForMullvadBrowser() { + if (!gSavedState) { + // Use the defaults. + return; + } + + const currentVersion = gSavedState.currentVersionMullvadBrowser; + + if (currentVersion < 1) { + // Remove security-level-button if: + // + it hasn't been moved out of the navbar by the user, and + // + the user does not have a custom security level. + // + // NOTE: _updateForBaseBrowser adds this button when + // currentVersionBaseBrowser < 1. This should only happen when + // currentVersionMullvadBrowser < 1, and this method runs after, so should + // reverse it. + const navbarPlacements = + gSavedState.placements[CustomizableUI.AREA_NAVBAR]; + if (navbarPlacements) { + const buttonIndex = navbarPlacements.indexOf("security-level-button"); + // Test if security level icon exists in the navbar. + // Even though a user may have moved the button within the navbar, + // there is no simple way to know whether the button was moved, or if + // other components were moved around it. + if (buttonIndex >= 0) { + // NOTE: We expect the SecurityLevel module to already be initialized. + const { SecurityLevelPrefs } = ChromeUtils.importESModule( + "resource://gre/modules/SecurityLevel.sys.mjs" + ); + if (!SecurityLevelPrefs.securityCustom) { + navbarPlacements.splice(buttonIndex, 1); + } + } + } + } + }, + _placeNewDefaultWidgetsInArea(aArea) { let futurePlacedWidgets = gFuturePlacements.get(aArea); let savedPlacements = @@ -2773,6 +2821,10 @@ var CustomizableUIInternal = { gSavedState.currentVersionBaseBrowser = 0; } + if (!("currentVersionMullvadBrowser" in gSavedState)) { + gSavedState.currentVersionMullvadBrowser = 0; + } + gSeenWidgets = new Set(gSavedState.seen || []); gDirtyAreaCache = new Set(gSavedState.dirtyAreaCache || []); gNewElementCount = gSavedState.newElementCount || 0; @@ -2856,6 +2908,7 @@ var CustomizableUIInternal = { dirtyAreaCache: gDirtyAreaCache, currentVersion: kVersion, currentVersionBaseBrowser: kVersionBaseBrowser, + currentVersionMullvadBrowser: kVersionMullvadBrowser, newElementCount: gNewElementCount, }; View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/071… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/071… 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.2.0esr-14.0-1] fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in...
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: ba8dff6e by Henry Wilkes at 2024-08-28T20:09:34+00:00 fixup! Bug 31286: Implementation of bridge, proxy, and firewall settings in about:preferences#connection Bug 42803: Force focus ring to show for built-in bridge radio options. - - - - - 1 changed file: - browser/components/torpreferences/content/builtinBridgeDialog.js Changes: ===================================== browser/components/torpreferences/content/builtinBridgeDialog.js ===================================== @@ -114,6 +114,16 @@ const gBuiltinBridgeDialog = { }, }; +// Initial focus is not visible, even if opened with a keyboard. We avoid the +// default handler and manage the focus ourselves, which will paint the focus +// ring by default. +// NOTE: A side effect is that the focus ring will show even if the user opened +// with a mouse event. +// TODO: Remove this once bugzilla bug 1708261 is resolved. +document.subDialogSetDefaultFocus = () => { + document.getElementById("torPreferences-builtinBridge-typeSelection").focus(); +}; + window.addEventListener( "DOMContentLoaded", () => { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ba8dff6… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ba8dff6… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-128.2.0esr-14.0-1] fixup! Firefox preference overrides.
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch mullvad-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 5a5a977a by Pier Angelo Vendrame at 2024-08-28T19:54:12+00:00 fixup! Firefox preference overrides. Bug 42685: Re-enable textmetrics. They do not add entropy (see the issue), so re-enable them for compatibility. - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -419,11 +419,6 @@ pref("network.http.referer.XOriginTrimmingPolicy", 2); // Bug 17228: Force trim pref("media.videocontrols.picture-in-picture.enabled", false); // Bug 40148: disable until audited in #40147 // Bug 40463: Disable Windows SSO pref("network.http.windows-sso.enabled", false, locked); -// Disable API for measuring text width and height. -pref("dom.textMetrics.actualBoundingBox.enabled", false); -pref("dom.textMetrics.baselines.enabled", false); -pref("dom.textMetrics.emHeight.enabled", false); -pref("dom.textMetrics.fontBoundingBox.enabled", false); // tor-browser#40424 pref("pdfjs.enableScripting", false); // Bug 40057: Ensure system colors are not used for CSS4 colors View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/5a5… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/5a5… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-128.2.0esr-14.0-1] fixup! Firefox preference overrides.
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch base-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 8fe2c105 by Pier Angelo Vendrame at 2024-08-28T19:52:42+00:00 fixup! Firefox preference overrides. Bug 42685: Re-enable textmetrics. They do not add entropy (see the issue), so re-enable them for compatibility. - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -419,11 +419,6 @@ pref("network.http.referer.XOriginTrimmingPolicy", 2); // Bug 17228: Force trim pref("media.videocontrols.picture-in-picture.enabled", false); // Bug 40148: disable until audited in #40147 // Bug 40463: Disable Windows SSO pref("network.http.windows-sso.enabled", false, locked); -// Disable API for measuring text width and height. -pref("dom.textMetrics.actualBoundingBox.enabled", false); -pref("dom.textMetrics.baselines.enabled", false); -pref("dom.textMetrics.emHeight.enabled", false); -pref("dom.textMetrics.fontBoundingBox.enabled", false); // tor-browser#40424 pref("pdfjs.enableScripting", false); // Bug 40057: Ensure system colors are not used for CSS4 colors View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8fe2c10… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/8fe2c10… 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.2.0esr-14.0-1] fixup! Firefox preference overrides.
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 80c99d24 by Pier Angelo Vendrame at 2024-08-28T18:22:45+02:00 fixup! Firefox preference overrides. Bug 42685: Re-enable textmetrics. They do not add entropy (see the issue), so re-enable them for compatibility. - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -419,11 +419,6 @@ pref("network.http.referer.XOriginTrimmingPolicy", 2); // Bug 17228: Force trim pref("media.videocontrols.picture-in-picture.enabled", false); // Bug 40148: disable until audited in #40147 // Bug 40463: Disable Windows SSO pref("network.http.windows-sso.enabled", false, locked); -// Disable API for measuring text width and height. -pref("dom.textMetrics.actualBoundingBox.enabled", false); -pref("dom.textMetrics.baselines.enabled", false); -pref("dom.textMetrics.emHeight.enabled", false); -pref("dom.textMetrics.fontBoundingBox.enabled", false); // tor-browser#40424 pref("pdfjs.enableScripting", false); // Bug 40057: Ensure system colors are not used for CSS4 colors View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/80c99d2… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/80c99d2… 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.0a3
by morgan (@morgan) 28 Aug '24

28 Aug '24
morgan pushed to branch main at The Tor Project / Applications / mullvad-browser-update-responses Commits: 97b2f35d by Morgan at 2024-08-28T18:12:13+00:00 alpha: new version, 14.0a3 - - - - - 29 changed files: - update_1/alpha/.htaccess - − update_1/alpha/13.5a8-14.0a2-linux-x86_64-ALL.xml - − update_1/alpha/13.5a8-14.0a2-macos-ALL.xml - − update_1/alpha/13.5a8-14.0a2-windows-x86_64-ALL.xml - − update_1/alpha/13.5a9-14.0a2-linux-x86_64-ALL.xml - − update_1/alpha/13.5a9-14.0a2-macos-ALL.xml - − update_1/alpha/13.5a9-14.0a2-windows-x86_64-ALL.xml - + update_1/alpha/13.5a9-14.0a3-linux-x86_64-ALL.xml - + update_1/alpha/13.5a9-14.0a3-macos-ALL.xml - + update_1/alpha/13.5a9-14.0a3-windows-x86_64-ALL.xml - − update_1/alpha/14.0a1-14.0a2-linux-x86_64-ALL.xml - − update_1/alpha/14.0a1-14.0a2-macos-ALL.xml - − update_1/alpha/14.0a1-14.0a2-windows-x86_64-ALL.xml - + update_1/alpha/14.0a1-14.0a3-linux-x86_64-ALL.xml - + update_1/alpha/14.0a1-14.0a3-macos-ALL.xml - + update_1/alpha/14.0a1-14.0a3-windows-x86_64-ALL.xml - + update_1/alpha/14.0a2-14.0a3-linux-x86_64-ALL.xml - + update_1/alpha/14.0a2-14.0a3-macos-ALL.xml - + update_1/alpha/14.0a2-14.0a3-windows-x86_64-ALL.xml - − update_1/alpha/14.0a2-linux-x86_64-ALL.xml - − update_1/alpha/14.0a2-macos-ALL.xml - − update_1/alpha/14.0a2-windows-x86_64-ALL.xml - + update_1/alpha/14.0a3-linux-x86_64-ALL.xml - + update_1/alpha/14.0a3-macos-ALL.xml - + update_1/alpha/14.0a3-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.0a2/ no-update.xml [last] -RewriteRule ^Linux_x86_64-gcc3/13.5a8/ALL 13.5a8-14.0a2-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/13.5a9/ALL 13.5a9-14.0a2-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/14.0a1/ALL 14.0a1-14.0a2-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/[^/]+/ALL 14.0a2-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/ 14.0a2-linux-x86_64-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/13.5a8/ALL 13.5a8-14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/13.5a9/ALL 13.5a9-14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/14.0a1/ALL 14.0a1-14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/[^/]+/ALL 14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/ 14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/13.5a8/ALL 13.5a8-14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/13.5a9/ALL 13.5a9-14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/14.0a1/ALL 14.0a1-14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/[^/]+/ALL 14.0a2-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/ 14.0a2-macos-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/13.5a8/ALL 13.5a8-14.0a2-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/13.5a9/ALL 13.5a9-14.0a2-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/14.0a1/ALL 14.0a1-14.0a2-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/[^/]+/ALL 14.0a2-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/ 14.0a2-windows-x86_64-ALL.xml [last] +RewriteRule ^[^/]+/14.0a3/ no-update.xml [last] +RewriteRule ^Linux_x86_64-gcc3/13.5a9/ALL 13.5a9-14.0a3-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/14.0a1/ALL 14.0a1-14.0a3-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/14.0a2/ALL 14.0a2-14.0a3-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/[^/]+/ALL 14.0a3-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/ 14.0a3-linux-x86_64-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/13.5a9/ALL 13.5a9-14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/14.0a1/ALL 14.0a1-14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/14.0a2/ALL 14.0a2-14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/[^/]+/ALL 14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/ 14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/13.5a9/ALL 13.5a9-14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/14.0a1/ALL 14.0a1-14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/14.0a2/ALL 14.0a2-14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/[^/]+/ALL 14.0a3-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/ 14.0a3-macos-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/13.5a9/ALL 13.5a9-14.0a3-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/14.0a1/ALL 14.0a1-14.0a3-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/14.0a2/ALL 14.0a2-14.0a3-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/[^/]+/ALL 14.0a3-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/ 14.0a3-windows-x86_64-ALL.xml [last] ===================================== update_1/alpha/13.5a8-14.0a2-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2_…" hashFunction="SHA512" hashValue="191da335ea25d8e1d84c394c078fb481b4a74780ed77271fa3d5046558cef78c01079236595713fdb72c4f4f20de3c05fcc9114cea95ccca1d4b1c4ad7750b05" size="113891553" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64--13.5a8…" hashFunction="SHA512" hashValue="91c3174d69d233c57462d9a455e191a0f8518c063d6868cea0205f4b77f675fee99e62753f7039d2be87ce439447adcfa490305c4f310d78f578324807da044c" size="55151367" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a8-14.0a2-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2_ALL.mar" hashFunction="SHA512" hashValue="02fe3d9749f8bd7e8d93788cd5965316307a9cb7cf9bd5e31b62457ef1acef804991531c5fc9ef5075249464e9351e2b74f1009c0e51c4c29ab3c9b813bae350" size="128932106" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos--13.5a8-14.0a2…" hashFunction="SHA512" hashValue="b82896186deb301fab1e17cc7f6a55adb09094a1053b2e4fd277e4689859c5d3bd1176a620e474f0b7c0e2680d48c1c9a4f73c248c252cb5708c059293cabae6" size="90340538" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a8-14.0a2-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="1c56ddf5c34841e1936543c92d800d9c82d9c7f7b5d6c5637d90ca3c19bd7065f0451a0e6e3d74d079ae59d3551deb595df94d51ead0a5b8a34068372b8ae110" size="94906672" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="3f604d6ce7605514f9604f11f801bdb3896a1cd56ab5bac5998a9e1e4accc0eba95b7e024480bfeb222de80912410db7b24e64a9f212345583f991fa367c2951" size="59076901" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a9-14.0a2-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2_…" hashFunction="SHA512" hashValue="191da335ea25d8e1d84c394c078fb481b4a74780ed77271fa3d5046558cef78c01079236595713fdb72c4f4f20de3c05fcc9114cea95ccca1d4b1c4ad7750b05" size="113891553" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64--13.5a9…" hashFunction="SHA512" hashValue="b9aa39a94ea71b3f0ea11663c8cdc45da9b966fd0838820effd0d4a458df4917f9d36d32f4b31db807d2e8197e2b55d7a5319950fd550920b671996d96559c51" size="54783731" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a9-14.0a2-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2_ALL.mar" hashFunction="SHA512" hashValue="02fe3d9749f8bd7e8d93788cd5965316307a9cb7cf9bd5e31b62457ef1acef804991531c5fc9ef5075249464e9351e2b74f1009c0e51c4c29ab3c9b813bae350" size="128932106" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos--13.5a9-14.0a2…" hashFunction="SHA512" hashValue="7f4c2af695a51acd58234281ee35179d237aecd0d19cb30d57e665e95a057d5455a7901c936e23e281ad17c98f82e2b0ad2cdab2981ea722fccace7fa3d8e6b3" size="89892434" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a9-14.0a2-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="1c56ddf5c34841e1936543c92d800d9c82d9c7f7b5d6c5637d90ca3c19bd7065f0451a0e6e3d74d079ae59d3551deb595df94d51ead0a5b8a34068372b8ae110" size="94906672" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="4bd51dea6a8abb1790710c2fa4e67815fb3ac95a630fbbbce1d2b34d7fa4d3f22b56e6fb18270e34626e13f26cc9b8ac385517164fc9138fc0bb736067a57eb9" size="58702449" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a9-14.0a3-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3_…" hashFunction="SHA512" hashValue="fbbaff6f952f3b4d7f86a53fb5d4ca0c6a72b67f947de70db7b6bf224511ec9892ced6faefd16a277e7cb8a36a0bb23c2cf6d86e73d5e793b9b94f68cc02fe05" size="114001681" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64--13.5a9…" hashFunction="SHA512" hashValue="71c4a17d4f77017bac10082dfaabc99bc70a258fc3b94b500d0457cc905f7b5553c484726338bb8cf9bc29a57a42d528a5efd73fc4610e032095a9e8f2655d5b" size="56206582" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a9-14.0a3-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3_ALL.mar" hashFunction="SHA512" hashValue="785609d40ee89c393d394e31519810088e91405047671871cf64416822c71e34182a12f6ff52700cd30bde7c3b81ffb93c904ce24e5610918c6c9a4d26f53ea0" size="129052534" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos--13.5a9-14.0a3…" hashFunction="SHA512" hashValue="ad62ad99714552906e09f3aad340b0157711f0fbebc7afeeba0c92a4d67c39719b7cf7800fbb449ffc7d46ad41219a5c495f152a8d632d65e2e33d4ed0d947b4" size="91383512" type="partial"></patch></update></updates> ===================================== update_1/alpha/13.5a9-14.0a3-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="b14d5d3beb668a9ee226692496cff76d5ea46dddf88430e800f791ec233284b5c4ae4b5947d416c96a2bc415832db2614a8239b64cf4f2f3ca6991b9dc5fccc5" size="95016852" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="c9b373d89798517c7409b41164d45950d3a9b2ecfe72c65b8821091c5f77a715d6dec45aeeee700de6bc0fd919a6679db52c95906383ef1f63a5cfd441913653" size="60120572" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a1-14.0a2-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2_…" hashFunction="SHA512" hashValue="191da335ea25d8e1d84c394c078fb481b4a74780ed77271fa3d5046558cef78c01079236595713fdb72c4f4f20de3c05fcc9114cea95ccca1d4b1c4ad7750b05" size="113891553" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64--14.0a1…" hashFunction="SHA512" hashValue="0d6718b13af17ab796d9b163137ec82957e481f47f171dc88d27d2485f0a810ccf0a4fe63bbfcf5f311f690db325b6dc3d164126297b232124a85f4915f81c41" size="9116550" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a1-14.0a2-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2_ALL.mar" hashFunction="SHA512" hashValue="02fe3d9749f8bd7e8d93788cd5965316307a9cb7cf9bd5e31b62457ef1acef804991531c5fc9ef5075249464e9351e2b74f1009c0e51c4c29ab3c9b813bae350" size="128932106" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos--14.0a1-14.0a2…" hashFunction="SHA512" hashValue="84a69a94e3513578b3c3836d3b038a2c02e7bb5e72ad4723c444eb490bfe7f1f43d20144670545dfe34aa01ff2816b4d2a491db459e869d23f604d4949625443" size="13920477" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a1-14.0a2-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="1c56ddf5c34841e1936543c92d800d9c82d9c7f7b5d6c5637d90ca3c19bd7065f0451a0e6e3d74d079ae59d3551deb595df94d51ead0a5b8a34068372b8ae110" size="94906672" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64--14.0…" hashFunction="SHA512" hashValue="a7ab1970723d4351760bfb632fe233886d9d9976b58aedb26e57233ecf24ba6a9b16f60d1a9537879a905206d5c040656add5b0ddc34ac26aa85252cfb3d172c" size="9298927" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a1-14.0a3-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3_…" hashFunction="SHA512" hashValue="fbbaff6f952f3b4d7f86a53fb5d4ca0c6a72b67f947de70db7b6bf224511ec9892ced6faefd16a277e7cb8a36a0bb23c2cf6d86e73d5e793b9b94f68cc02fe05" size="114001681" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64--14.0a1…" hashFunction="SHA512" hashValue="98c77dd2ef8be4bf39bcfa42c83049516317e6b182ebc71ea21a6dbc1a786568351c9ed96a83166b8262efc4312e996834aae47c83da53e2497338b763c404af" size="11860989" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a1-14.0a3-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3_ALL.mar" hashFunction="SHA512" hashValue="785609d40ee89c393d394e31519810088e91405047671871cf64416822c71e34182a12f6ff52700cd30bde7c3b81ffb93c904ce24e5610918c6c9a4d26f53ea0" size="129052534" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos--14.0a1-14.0a3…" hashFunction="SHA512" hashValue="d258c5633a8826ad2fba68af023ad3418cada6966f1b80f280bc8810cdfb8efc7cb786401e2088cbd3ac1701a3b9448676c5341410fe01ec1a0acb3a15e9eea8" size="17403543" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a1-14.0a3-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="b14d5d3beb668a9ee226692496cff76d5ea46dddf88430e800f791ec233284b5c4ae4b5947d416c96a2bc415832db2614a8239b64cf4f2f3ca6991b9dc5fccc5" size="95016852" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64--14.0…" hashFunction="SHA512" hashValue="f0f7ed8d1227e0e590fded0699e2e0e25226027aeea9fe2db06ef380459bfed014377cee6709d9fb7f5c2b341898b6ca76622094a15f3dbb1b1a699307e1e1c5" size="12171674" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a2-14.0a3-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3_…" hashFunction="SHA512" hashValue="fbbaff6f952f3b4d7f86a53fb5d4ca0c6a72b67f947de70db7b6bf224511ec9892ced6faefd16a277e7cb8a36a0bb23c2cf6d86e73d5e793b9b94f68cc02fe05" size="114001681" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64--14.0a2…" hashFunction="SHA512" hashValue="4a951f300717f9f59b8e9e4366d1c4a881266997efa94f054188072225e7169c608c937d652c0637e83f9108bad0fc2498786edc5d57d6bab05605d10c371915" size="8443934" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a2-14.0a3-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3_ALL.mar" hashFunction="SHA512" hashValue="785609d40ee89c393d394e31519810088e91405047671871cf64416822c71e34182a12f6ff52700cd30bde7c3b81ffb93c904ce24e5610918c6c9a4d26f53ea0" size="129052534" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos--14.0a2-14.0a3…" hashFunction="SHA512" hashValue="3f607fef6f0e7cfa9eed77c055785b3e5db8001652471fcc68969e623b4880696b41dc878fee0643a0b17b4cdd3ad185e7699335411d8b7fcba3261bdc5102a3" size="13701870" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a2-14.0a3-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="b14d5d3beb668a9ee226692496cff76d5ea46dddf88430e800f791ec233284b5c4ae4b5947d416c96a2bc415832db2614a8239b64cf4f2f3ca6991b9dc5fccc5" size="95016852" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64--14.0…" hashFunction="SHA512" hashValue="67b93e757c33cbea1a937de58955724ebcc0256e8e7b5a0ad457a00e15fa13cd4da4ec878827ec899737dc4743b09792c2b045ccf24efd07e257f721d8baef7e" size="8765631" type="partial"></patch></update></updates> ===================================== update_1/alpha/14.0a2-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2_…" hashFunction="SHA512" hashValue="191da335ea25d8e1d84c394c078fb481b4a74780ed77271fa3d5046558cef78c01079236595713fdb72c4f4f20de3c05fcc9114cea95ccca1d4b1c4ad7750b05" size="113891553" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a2-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2_ALL.mar" hashFunction="SHA512" hashValue="02fe3d9749f8bd7e8d93788cd5965316307a9cb7cf9bd5e31b62457ef1acef804991531c5fc9ef5075249464e9351e2b74f1009c0e51c4c29ab3c9b813bae350" size="128932106" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a2-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="14.0a2" appVersion="14.0a2" platformVersion="128.1.0" buildID="20240816000831" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a2" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="1c56ddf5c34841e1936543c92d800d9c82d9c7f7b5d6c5637d90ca3c19bd7065f0451a0e6e3d74d079ae59d3551deb595df94d51ead0a5b8a34068372b8ae110" size="94906672" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a3-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3_…" hashFunction="SHA512" hashValue="fbbaff6f952f3b4d7f86a53fb5d4ca0c6a72b67f947de70db7b6bf224511ec9892ced6faefd16a277e7cb8a36a0bb23c2cf6d86e73d5e793b9b94f68cc02fe05" size="114001681" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a3-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="19.0.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3_ALL.mar" hashFunction="SHA512" hashValue="785609d40ee89c393d394e31519810088e91405047671871cf64416822c71e34182a12f6ff52700cd30bde7c3b81ffb93c904ce24e5610918c6c9a4d26f53ea0" size="129052534" type="complete"></patch></update></updates> ===================================== update_1/alpha/14.0a3-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="14.0a3" appVersion="14.0a3" platformVersion="128.2.0" buildID="20240826221405" detailsURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/14.0a3" minSupportedOSVersion="10.0"><patch URL="https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…" hashFunction="SHA512" hashValue="b14d5d3beb668a9ee226692496cff76d5ea46dddf88430e800f791ec233284b5c4ae4b5947d416c96a2bc415832db2614a8239b64cf4f2f3ca6991b9dc5fccc5" size="95016852" type="complete"></patch></update></updates> ===================================== update_1/alpha/download-linux-x86_64.json ===================================== @@ -1 +1 @@ -{"binary":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2.…","git_tag":"mb-14.0a2-build1","sig":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2.…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3.…","git_tag":"mb-14.0a3-build1","sig":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3.…","version":"14.0a3"} \ No newline at end of file ===================================== update_1/alpha/download-macos.json ===================================== @@ -1 +1 @@ -{"binary":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2.dmg","git_tag":"mb-14.0a2-build1","sig":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2.dmg.asc","version":"14.0a2"} \ No newline at end of file +{"binary":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3.dmg","git_tag":"mb-14.0a3-build1","sig":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3.dmg.asc","version":"14.0a3"} \ No newline at end of file ===================================== update_1/alpha/download-windows-x86_64.json ===================================== @@ -1 +1 @@ -{"binary":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…","git_tag":"mb-14.0a2-build1","sig":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…","version":"14.0a2"} \ No newline at end of file +{"binary":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…","git_tag":"mb-14.0a3-build1","sig":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…","version":"14.0a3"} \ 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.0a2/mullvad-browser-linux-x86_64-14.0a2.…","sig":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-linux-x86_64-14.0a2.…"}},"macos":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2.dmg","sig":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-macos-14.0a2.dmg.asc"}},"win64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…","sig":"https://cdn.mullvad.net/browser/14.0a2/mullvad-browser-windows-x86_64-14.0a…"}}},"tag":"mb-14.0a2-build1","version":"14.0a2"} \ No newline at end of file +{"downloads":{"linux-x86_64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3.…","sig":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-linux-x86_64-14.0a3.…"}},"macos":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3.dmg","sig":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-macos-14.0a3.dmg.asc"}},"win64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…","sig":"https://cdn.mullvad.net/browser/14.0a3/mullvad-browser-windows-x86_64-14.0a…"}}},"tag":"mb-14.0a3-build1","version":"14.0a3"} \ 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/mullvad-browser][mullvad-browser-128.2.0esr-14.0-1] 2 commits: fixup! Bug 31740: Remove some unnecessary RemoteSettings instances
by Pier Angelo Vendrame (@pierov) 28 Aug '24

28 Aug '24
Pier Angelo Vendrame pushed to branch mullvad-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser Commits: a6251e60 by cypherpunks1 at 2024-08-28T17:41:16+02:00 fixup! Bug 31740: Remove some unnecessary RemoteSettings instances Bug 42730: Revert some changes - - - - - 09069722 by cypherpunks1 at 2024-08-28T17:41:17+02:00 Bug 42730: Patch RemoteSettings to use only local dumps as a data source - - - - - 8 changed files: - browser/components/BrowserGlue.sys.mjs - mobile/shared/chrome/geckoview/geckoview.js - services/settings/Attachments.sys.mjs - services/settings/RemoteSettingsClient.sys.mjs - services/settings/dumps/gen_last_modified.py - services/settings/remote-settings.sys.mjs - toolkit/modules/AppConstants.sys.mjs - toolkit/modules/IgnoreLists.sys.mjs Changes: ===================================== browser/components/BrowserGlue.sys.mjs ===================================== @@ -3368,6 +3368,11 @@ BrowserGlue.prototype = { lazy.RemoteSecuritySettings.init(); }, + function RemoteSettingsPollChanges() { + // Support clients that use the "sync" event or "remote-settings:changes-poll-end". + lazy.RemoteSettings.pollChanges({ trigger: "timer" }); + }, + function BrowserUsageTelemetryReportProfileCount() { lazy.BrowserUsageTelemetry.reportProfileCount(); }, ===================================== mobile/shared/chrome/geckoview/geckoview.js ===================================== @@ -21,6 +21,7 @@ ChromeUtils.defineESModuleGetters(this, { InitializationTracker: "resource://gre/modules/GeckoViewTelemetry.sys.mjs", RemoteSecuritySettings: "resource://gre/modules/psm/RemoteSecuritySettings.sys.mjs", + RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", SafeBrowsing: "resource://gre/modules/SafeBrowsing.sys.mjs", }); @@ -922,6 +923,10 @@ function startup() { Blocklist.loadBlocklistAsync(); }); + InitLater(() => { + RemoteSettings.pollChanges({ trigger: "timer" }); + }); + // This should always go last, since the idle tasks (except for the ones with // timeouts) should execute in order. Note that this observer notification is // not guaranteed to fire, since the window could close before we get here. ===================================== services/settings/Attachments.sys.mjs ===================================== @@ -223,6 +223,10 @@ export class Downloader { fallbackToDump = false; } + avoidDownload = true; + fallbackToCache = true; + fallbackToDump = true; + const dumpInfo = new LazyRecordAndBuffer(() => this._readAttachmentDump(attachmentId) ); @@ -444,6 +448,8 @@ export class Downloader { attachment: { location, hash, size }, } = record; + return (await this.#fetchAttachment(record)).buffer; + // eslint-disable-next-line no-unreachable const remoteFileUrl = (await this._baseAttachmentsURL()) + location; const { retries = 3, checkHash = true } = options; ===================================== services/settings/RemoteSettingsClient.sys.mjs ===================================== @@ -424,11 +424,19 @@ export class RemoteSettingsClient extends EventEmitter { order = "", // not sorted by default. dumpFallback = true, emptyListFallback = true, - forceSync = false, loadDumpIfNewer = true, - syncIfEmpty = true, } = options; - let { verifySignature = false } = options; + + const hasLocalDump = await lazy.Utils.hasLocalDump( + this.bucketName, + this.collectionName + ); + if (!hasLocalDump) { + return []; + } + const forceSync = false; + const syncIfEmpty = true; + let verifySignature = false; const hasParallelCall = !!this._importingPromise; let data; @@ -598,6 +606,10 @@ export class RemoteSettingsClient extends EventEmitter { * @param {Object} options See #maybeSync() options. */ async sync(options) { + if (AppConstants.BASE_BROWSER_VERSION) { + return; + } + if (lazy.Utils.shouldSkipRemoteActivityDueToTests) { return; } @@ -664,7 +676,7 @@ export class RemoteSettingsClient extends EventEmitter { let thrownError = null; try { // If network is offline, we can't synchronize. - if (lazy.Utils.isOffline) { + if (!AppConstants.BASE_BROWSER_VERSION && lazy.Utils.isOffline) { throw new RemoteSettingsClient.NetworkOfflineError(); } @@ -1046,14 +1058,8 @@ export class RemoteSettingsClient extends EventEmitter { options = {} ) { const { retry = false } = options; - const since = retry || !localTimestamp ? undefined : `"${localTimestamp}"`; - // Fetch collection metadata and list of changes from server. - lazy.console.debug( - `${this.identifier} Fetch changes from server (expected=${expectedTimestamp}, since=${since})` - ); - const { metadata, remoteTimestamp, remoteRecords } = - await this._fetchChangeset(expectedTimestamp, since); + let metadata, remoteTimestamp; // We build a sync result, based on remote changes. const syncResult = { @@ -1062,24 +1068,20 @@ export class RemoteSettingsClient extends EventEmitter { updated: [], deleted: [], }; - // If data wasn't changed, return empty sync result. - // This can happen when we update the signature but not the data. - lazy.console.debug( - `${this.identifier} local timestamp: ${localTimestamp}, remote: ${remoteTimestamp}` - ); - if (localTimestamp && remoteTimestamp < localTimestamp) { + + try { + await this._importJSONDump(); + } catch (e) { return syncResult; } - await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, { - clear: retry, - }); - // Read the new local data, after updating. const newLocal = await this.db.list(); const newRecords = newLocal.map(r => this._cleanLocalFields(r)); // And verify the signature on what is now stored. - if (this.verifySignature) { + if (metadata === undefined) { + // When working only with dumps, we do not have signatures. + } else if (this.verifySignature) { try { await this._validateCollectionSignature( newRecords, ===================================== services/settings/dumps/gen_last_modified.py ===================================== @@ -63,8 +63,10 @@ def main(output): dumps_locations = [] if buildconfig.substs["MOZ_BUILD_APP"] == "browser": dumps_locations += ["services/settings/dumps/"] + dumps_locations += ["services/settings/static-dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/android": dumps_locations += ["services/settings/dumps/"] + dumps_locations += ["services/settings/static-dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/ios": dumps_locations += ["services/settings/dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "comm/mail": ===================================== services/settings/remote-settings.sys.mjs ===================================== @@ -91,6 +91,7 @@ export async function jexlFilterFunc(entry, environment) { function remoteSettingsFunction() { const _clients = new Map(); let _invalidatePolling = false; + let _initialized = false; // If not explicitly specified, use the default signer. const defaultOptions = { @@ -194,21 +195,49 @@ function remoteSettingsFunction() { trigger = "manual", full = false, } = {}) => { + if (AppConstants.BASE_BROWSER_VERSION) { + // Called multiple times on GeckoView due to bug 1730026 + if (_initialized) { + return; + } + _initialized = true; + let importedFromDump = false; + for (const client of _clients.values()) { + const hasLocalDump = await lazy.Utils.hasLocalDump( + client.bucketName, + client.collectionName + ); + if (hasLocalDump) { + const lastModified = await client.getLastModified(); + const lastModifiedDump = await lazy.Utils.getLocalDumpLastModified( + client.bucketName, + client.collectionName + ); + if (lastModified < lastModifiedDump) { + await client.maybeSync(lastModifiedDump, { + loadDump: true, + trigger, + }); + importedFromDump = true; + } + } + } + if (importedFromDump) { + Services.obs.notifyObservers(null, "remote-settings:changes-poll-end"); + } + return; + } + if (lazy.Utils.shouldSkipRemoteActivityDueToTests) { return; } // When running in full mode, we ignore last polling status. - if (full || AppConstants.BASE_BROWSER_VERSION) { + if (full) { lazy.gPrefs.clearUserPref(PREF_SETTINGS_SERVER_BACKOFF); lazy.gPrefs.clearUserPref(PREF_SETTINGS_LAST_UPDATE); lazy.gPrefs.clearUserPref(PREF_SETTINGS_LAST_ETAG); } - if (AppConstants.BASE_BROWSER_VERSION) { - // tor-browser#41704: pollChanges is always online, so do not allow it. - return; - } - let pollTelemetryArgs = { source: TELEMETRY_SOURCE_POLL, trigger, ===================================== toolkit/modules/AppConstants.sys.mjs ===================================== @@ -423,11 +423,11 @@ export var AppConstants = Object.freeze({ #ifdef MOZ_THUNDERBIRD "https://thunderbird-settings.thunderbird.net/v1", #else - "https://firefox.settings.services.mozilla.com/v1", + "", #endif REMOTE_SETTINGS_VERIFY_SIGNATURE: -#ifdef MOZ_THUNDERBIRD +#if defined(MOZ_THUNDERBIRD) || defined(BASE_BROWSER_VERSION) false, #else true, ===================================== toolkit/modules/IgnoreLists.sys.mjs ===================================== @@ -5,16 +5,18 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { + RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", RemoteSettingsClient: "resource://services-settings/RemoteSettingsClient.sys.mjs", }); -class IgnoreListsManager { - _ignoreListSettings = null; +const SETTINGS_IGNORELIST_KEY = "hijack-blocklists"; +class IgnoreListsManager { async init() { - // TODO: Restore the initialization, once we use only the local dumps for - // the remote settings. + if (!this._ignoreListSettings) { + this._ignoreListSettings = lazy.RemoteSettings(SETTINGS_IGNORELIST_KEY); + } } async getAndSubscribe(listener) { @@ -24,7 +26,7 @@ class IgnoreListsManager { const settings = await this._getIgnoreList(); // Listen for future updates after we first get the values. - this._ignoreListSettings?.on("sync", listener); + this._ignoreListSettings.on("sync", listener); return settings; } @@ -65,14 +67,6 @@ class IgnoreListsManager { * could be obtained. */ async _getIgnoreListSettings(firstTime = true) { - if (!this._ignoreListSettings) { - const dump = await fetch( - "resource:///defaults/settings/main/hijack-blocklists.json" - ); - const { data } = await dump.json(); - return data; - } - let result = []; try { result = await this._ignoreListSettings.get({ View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/71… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/71… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-128.2.0esr-14.0-1] 2 commits: fixup! Bug 31740: Remove some unnecessary RemoteSettings instances
by Pier Angelo Vendrame (@pierov) 28 Aug '24

28 Aug '24
Pier Angelo Vendrame pushed to branch base-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 4281e5b9 by cypherpunks1 at 2024-08-28T17:40:16+02:00 fixup! Bug 31740: Remove some unnecessary RemoteSettings instances Bug 42730: Revert some changes - - - - - 0f01ba03 by cypherpunks1 at 2024-08-28T17:40:20+02:00 Bug 42730: Patch RemoteSettings to use only local dumps as a data source - - - - - 8 changed files: - browser/components/BrowserGlue.sys.mjs - mobile/shared/chrome/geckoview/geckoview.js - services/settings/Attachments.sys.mjs - services/settings/RemoteSettingsClient.sys.mjs - services/settings/dumps/gen_last_modified.py - services/settings/remote-settings.sys.mjs - toolkit/modules/AppConstants.sys.mjs - toolkit/modules/IgnoreLists.sys.mjs Changes: ===================================== browser/components/BrowserGlue.sys.mjs ===================================== @@ -3387,6 +3387,11 @@ BrowserGlue.prototype = { lazy.RemoteSecuritySettings.init(); }, + function RemoteSettingsPollChanges() { + // Support clients that use the "sync" event or "remote-settings:changes-poll-end". + lazy.RemoteSettings.pollChanges({ trigger: "timer" }); + }, + function BrowserUsageTelemetryReportProfileCount() { lazy.BrowserUsageTelemetry.reportProfileCount(); }, ===================================== mobile/shared/chrome/geckoview/geckoview.js ===================================== @@ -21,6 +21,7 @@ ChromeUtils.defineESModuleGetters(this, { InitializationTracker: "resource://gre/modules/GeckoViewTelemetry.sys.mjs", RemoteSecuritySettings: "resource://gre/modules/psm/RemoteSecuritySettings.sys.mjs", + RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", SafeBrowsing: "resource://gre/modules/SafeBrowsing.sys.mjs", }); @@ -922,6 +923,10 @@ function startup() { Blocklist.loadBlocklistAsync(); }); + InitLater(() => { + RemoteSettings.pollChanges({ trigger: "timer" }); + }); + // This should always go last, since the idle tasks (except for the ones with // timeouts) should execute in order. Note that this observer notification is // not guaranteed to fire, since the window could close before we get here. ===================================== services/settings/Attachments.sys.mjs ===================================== @@ -223,6 +223,10 @@ export class Downloader { fallbackToDump = false; } + avoidDownload = true; + fallbackToCache = true; + fallbackToDump = true; + const dumpInfo = new LazyRecordAndBuffer(() => this._readAttachmentDump(attachmentId) ); @@ -444,6 +448,8 @@ export class Downloader { attachment: { location, hash, size }, } = record; + return (await this.#fetchAttachment(record)).buffer; + // eslint-disable-next-line no-unreachable const remoteFileUrl = (await this._baseAttachmentsURL()) + location; const { retries = 3, checkHash = true } = options; ===================================== services/settings/RemoteSettingsClient.sys.mjs ===================================== @@ -424,11 +424,19 @@ export class RemoteSettingsClient extends EventEmitter { order = "", // not sorted by default. dumpFallback = true, emptyListFallback = true, - forceSync = false, loadDumpIfNewer = true, - syncIfEmpty = true, } = options; - let { verifySignature = false } = options; + + const hasLocalDump = await lazy.Utils.hasLocalDump( + this.bucketName, + this.collectionName + ); + if (!hasLocalDump) { + return []; + } + const forceSync = false; + const syncIfEmpty = true; + let verifySignature = false; const hasParallelCall = !!this._importingPromise; let data; @@ -598,6 +606,10 @@ export class RemoteSettingsClient extends EventEmitter { * @param {Object} options See #maybeSync() options. */ async sync(options) { + if (AppConstants.BASE_BROWSER_VERSION) { + return; + } + if (lazy.Utils.shouldSkipRemoteActivityDueToTests) { return; } @@ -664,7 +676,7 @@ export class RemoteSettingsClient extends EventEmitter { let thrownError = null; try { // If network is offline, we can't synchronize. - if (lazy.Utils.isOffline) { + if (!AppConstants.BASE_BROWSER_VERSION && lazy.Utils.isOffline) { throw new RemoteSettingsClient.NetworkOfflineError(); } @@ -1046,14 +1058,8 @@ export class RemoteSettingsClient extends EventEmitter { options = {} ) { const { retry = false } = options; - const since = retry || !localTimestamp ? undefined : `"${localTimestamp}"`; - // Fetch collection metadata and list of changes from server. - lazy.console.debug( - `${this.identifier} Fetch changes from server (expected=${expectedTimestamp}, since=${since})` - ); - const { metadata, remoteTimestamp, remoteRecords } = - await this._fetchChangeset(expectedTimestamp, since); + let metadata, remoteTimestamp; // We build a sync result, based on remote changes. const syncResult = { @@ -1062,24 +1068,20 @@ export class RemoteSettingsClient extends EventEmitter { updated: [], deleted: [], }; - // If data wasn't changed, return empty sync result. - // This can happen when we update the signature but not the data. - lazy.console.debug( - `${this.identifier} local timestamp: ${localTimestamp}, remote: ${remoteTimestamp}` - ); - if (localTimestamp && remoteTimestamp < localTimestamp) { + + try { + await this._importJSONDump(); + } catch (e) { return syncResult; } - await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, { - clear: retry, - }); - // Read the new local data, after updating. const newLocal = await this.db.list(); const newRecords = newLocal.map(r => this._cleanLocalFields(r)); // And verify the signature on what is now stored. - if (this.verifySignature) { + if (metadata === undefined) { + // When working only with dumps, we do not have signatures. + } else if (this.verifySignature) { try { await this._validateCollectionSignature( newRecords, ===================================== services/settings/dumps/gen_last_modified.py ===================================== @@ -63,8 +63,10 @@ def main(output): dumps_locations = [] if buildconfig.substs["MOZ_BUILD_APP"] == "browser": dumps_locations += ["services/settings/dumps/"] + dumps_locations += ["services/settings/static-dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/android": dumps_locations += ["services/settings/dumps/"] + dumps_locations += ["services/settings/static-dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/ios": dumps_locations += ["services/settings/dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "comm/mail": ===================================== services/settings/remote-settings.sys.mjs ===================================== @@ -91,6 +91,7 @@ export async function jexlFilterFunc(entry, environment) { function remoteSettingsFunction() { const _clients = new Map(); let _invalidatePolling = false; + let _initialized = false; // If not explicitly specified, use the default signer. const defaultOptions = { @@ -194,21 +195,49 @@ function remoteSettingsFunction() { trigger = "manual", full = false, } = {}) => { + if (AppConstants.BASE_BROWSER_VERSION) { + // Called multiple times on GeckoView due to bug 1730026 + if (_initialized) { + return; + } + _initialized = true; + let importedFromDump = false; + for (const client of _clients.values()) { + const hasLocalDump = await lazy.Utils.hasLocalDump( + client.bucketName, + client.collectionName + ); + if (hasLocalDump) { + const lastModified = await client.getLastModified(); + const lastModifiedDump = await lazy.Utils.getLocalDumpLastModified( + client.bucketName, + client.collectionName + ); + if (lastModified < lastModifiedDump) { + await client.maybeSync(lastModifiedDump, { + loadDump: true, + trigger, + }); + importedFromDump = true; + } + } + } + if (importedFromDump) { + Services.obs.notifyObservers(null, "remote-settings:changes-poll-end"); + } + return; + } + if (lazy.Utils.shouldSkipRemoteActivityDueToTests) { return; } // When running in full mode, we ignore last polling status. - if (full || AppConstants.BASE_BROWSER_VERSION) { + if (full) { lazy.gPrefs.clearUserPref(PREF_SETTINGS_SERVER_BACKOFF); lazy.gPrefs.clearUserPref(PREF_SETTINGS_LAST_UPDATE); lazy.gPrefs.clearUserPref(PREF_SETTINGS_LAST_ETAG); } - if (AppConstants.BASE_BROWSER_VERSION) { - // tor-browser#41704: pollChanges is always online, so do not allow it. - return; - } - let pollTelemetryArgs = { source: TELEMETRY_SOURCE_POLL, trigger, ===================================== toolkit/modules/AppConstants.sys.mjs ===================================== @@ -423,11 +423,11 @@ export var AppConstants = Object.freeze({ #ifdef MOZ_THUNDERBIRD "https://thunderbird-settings.thunderbird.net/v1", #else - "https://firefox.settings.services.mozilla.com/v1", + "", #endif REMOTE_SETTINGS_VERIFY_SIGNATURE: -#ifdef MOZ_THUNDERBIRD +#if defined(MOZ_THUNDERBIRD) || defined(BASE_BROWSER_VERSION) false, #else true, ===================================== toolkit/modules/IgnoreLists.sys.mjs ===================================== @@ -5,16 +5,18 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { + RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", RemoteSettingsClient: "resource://services-settings/RemoteSettingsClient.sys.mjs", }); -class IgnoreListsManager { - _ignoreListSettings = null; +const SETTINGS_IGNORELIST_KEY = "hijack-blocklists"; +class IgnoreListsManager { async init() { - // TODO: Restore the initialization, once we use only the local dumps for - // the remote settings. + if (!this._ignoreListSettings) { + this._ignoreListSettings = lazy.RemoteSettings(SETTINGS_IGNORELIST_KEY); + } } async getAndSubscribe(listener) { @@ -24,7 +26,7 @@ class IgnoreListsManager { const settings = await this._getIgnoreList(); // Listen for future updates after we first get the values. - this._ignoreListSettings?.on("sync", listener); + this._ignoreListSettings.on("sync", listener); return settings; } @@ -65,14 +67,6 @@ class IgnoreListsManager { * could be obtained. */ async _getIgnoreListSettings(firstTime = true) { - if (!this._ignoreListSettings) { - const dump = await fetch( - "resource:///defaults/settings/main/hijack-blocklists.json" - ); - const { data } = await dump.json(); - return data; - } - let result = []; try { result = await this._ignoreListSettings.get({ View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/ec9235… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/ec9235… 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.2.0esr-14.0-1] 2 commits: fixup! Bug 31740: Remove some unnecessary RemoteSettings instances
by Pier Angelo Vendrame (@pierov) 28 Aug '24

28 Aug '24
Pier Angelo Vendrame pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 196b0053 by cypherpunks1 at 2024-08-28T05:34:49-08:00 fixup! Bug 31740: Remove some unnecessary RemoteSettings instances Bug 42730: Revert some changes - - - - - 902c51f9 by cypherpunks1 at 2024-08-28T06:27:27-08:00 Bug 42730: Patch RemoteSettings to use only local dumps as a data source - - - - - 8 changed files: - browser/components/BrowserGlue.sys.mjs - mobile/shared/chrome/geckoview/geckoview.js - services/settings/Attachments.sys.mjs - services/settings/RemoteSettingsClient.sys.mjs - services/settings/dumps/gen_last_modified.py - services/settings/remote-settings.sys.mjs - toolkit/modules/AppConstants.sys.mjs - toolkit/modules/IgnoreLists.sys.mjs Changes: ===================================== browser/components/BrowserGlue.sys.mjs ===================================== @@ -3497,6 +3497,11 @@ BrowserGlue.prototype = { lazy.RemoteSecuritySettings.init(); }, + function RemoteSettingsPollChanges() { + // Support clients that use the "sync" event or "remote-settings:changes-poll-end". + lazy.RemoteSettings.pollChanges({ trigger: "timer" }); + }, + function BrowserUsageTelemetryReportProfileCount() { lazy.BrowserUsageTelemetry.reportProfileCount(); }, ===================================== mobile/shared/chrome/geckoview/geckoview.js ===================================== @@ -21,6 +21,7 @@ ChromeUtils.defineESModuleGetters(this, { InitializationTracker: "resource://gre/modules/GeckoViewTelemetry.sys.mjs", RemoteSecuritySettings: "resource://gre/modules/psm/RemoteSecuritySettings.sys.mjs", + RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", SafeBrowsing: "resource://gre/modules/SafeBrowsing.sys.mjs", }); @@ -922,6 +923,10 @@ function startup() { Blocklist.loadBlocklistAsync(); }); + InitLater(() => { + RemoteSettings.pollChanges({ trigger: "timer" }); + }); + // This should always go last, since the idle tasks (except for the ones with // timeouts) should execute in order. Note that this observer notification is // not guaranteed to fire, since the window could close before we get here. ===================================== services/settings/Attachments.sys.mjs ===================================== @@ -223,6 +223,10 @@ export class Downloader { fallbackToDump = false; } + avoidDownload = true; + fallbackToCache = true; + fallbackToDump = true; + const dumpInfo = new LazyRecordAndBuffer(() => this._readAttachmentDump(attachmentId) ); @@ -444,6 +448,8 @@ export class Downloader { attachment: { location, hash, size }, } = record; + return (await this.#fetchAttachment(record)).buffer; + // eslint-disable-next-line no-unreachable const remoteFileUrl = (await this._baseAttachmentsURL()) + location; const { retries = 3, checkHash = true } = options; ===================================== services/settings/RemoteSettingsClient.sys.mjs ===================================== @@ -424,11 +424,19 @@ export class RemoteSettingsClient extends EventEmitter { order = "", // not sorted by default. dumpFallback = true, emptyListFallback = true, - forceSync = false, loadDumpIfNewer = true, - syncIfEmpty = true, } = options; - let { verifySignature = false } = options; + + const hasLocalDump = await lazy.Utils.hasLocalDump( + this.bucketName, + this.collectionName + ); + if (!hasLocalDump) { + return []; + } + const forceSync = false; + const syncIfEmpty = true; + let verifySignature = false; const hasParallelCall = !!this._importingPromise; let data; @@ -598,6 +606,10 @@ export class RemoteSettingsClient extends EventEmitter { * @param {Object} options See #maybeSync() options. */ async sync(options) { + if (AppConstants.BASE_BROWSER_VERSION) { + return; + } + if (lazy.Utils.shouldSkipRemoteActivityDueToTests) { return; } @@ -664,7 +676,7 @@ export class RemoteSettingsClient extends EventEmitter { let thrownError = null; try { // If network is offline, we can't synchronize. - if (lazy.Utils.isOffline) { + if (!AppConstants.BASE_BROWSER_VERSION && lazy.Utils.isOffline) { throw new RemoteSettingsClient.NetworkOfflineError(); } @@ -1046,14 +1058,8 @@ export class RemoteSettingsClient extends EventEmitter { options = {} ) { const { retry = false } = options; - const since = retry || !localTimestamp ? undefined : `"${localTimestamp}"`; - // Fetch collection metadata and list of changes from server. - lazy.console.debug( - `${this.identifier} Fetch changes from server (expected=${expectedTimestamp}, since=${since})` - ); - const { metadata, remoteTimestamp, remoteRecords } = - await this._fetchChangeset(expectedTimestamp, since); + let metadata, remoteTimestamp; // We build a sync result, based on remote changes. const syncResult = { @@ -1062,24 +1068,20 @@ export class RemoteSettingsClient extends EventEmitter { updated: [], deleted: [], }; - // If data wasn't changed, return empty sync result. - // This can happen when we update the signature but not the data. - lazy.console.debug( - `${this.identifier} local timestamp: ${localTimestamp}, remote: ${remoteTimestamp}` - ); - if (localTimestamp && remoteTimestamp < localTimestamp) { + + try { + await this._importJSONDump(); + } catch (e) { return syncResult; } - await this.db.importChanges(metadata, remoteTimestamp, remoteRecords, { - clear: retry, - }); - // Read the new local data, after updating. const newLocal = await this.db.list(); const newRecords = newLocal.map(r => this._cleanLocalFields(r)); // And verify the signature on what is now stored. - if (this.verifySignature) { + if (metadata === undefined) { + // When working only with dumps, we do not have signatures. + } else if (this.verifySignature) { try { await this._validateCollectionSignature( newRecords, ===================================== services/settings/dumps/gen_last_modified.py ===================================== @@ -63,8 +63,10 @@ def main(output): dumps_locations = [] if buildconfig.substs["MOZ_BUILD_APP"] == "browser": dumps_locations += ["services/settings/dumps/"] + dumps_locations += ["services/settings/static-dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/android": dumps_locations += ["services/settings/dumps/"] + dumps_locations += ["services/settings/static-dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "mobile/ios": dumps_locations += ["services/settings/dumps/"] elif buildconfig.substs["MOZ_BUILD_APP"] == "comm/mail": ===================================== services/settings/remote-settings.sys.mjs ===================================== @@ -91,6 +91,7 @@ export async function jexlFilterFunc(entry, environment) { function remoteSettingsFunction() { const _clients = new Map(); let _invalidatePolling = false; + let _initialized = false; // If not explicitly specified, use the default signer. const defaultOptions = { @@ -194,21 +195,49 @@ function remoteSettingsFunction() { trigger = "manual", full = false, } = {}) => { + if (AppConstants.BASE_BROWSER_VERSION) { + // Called multiple times on GeckoView due to bug 1730026 + if (_initialized) { + return; + } + _initialized = true; + let importedFromDump = false; + for (const client of _clients.values()) { + const hasLocalDump = await lazy.Utils.hasLocalDump( + client.bucketName, + client.collectionName + ); + if (hasLocalDump) { + const lastModified = await client.getLastModified(); + const lastModifiedDump = await lazy.Utils.getLocalDumpLastModified( + client.bucketName, + client.collectionName + ); + if (lastModified < lastModifiedDump) { + await client.maybeSync(lastModifiedDump, { + loadDump: true, + trigger, + }); + importedFromDump = true; + } + } + } + if (importedFromDump) { + Services.obs.notifyObservers(null, "remote-settings:changes-poll-end"); + } + return; + } + if (lazy.Utils.shouldSkipRemoteActivityDueToTests) { return; } // When running in full mode, we ignore last polling status. - if (full || AppConstants.BASE_BROWSER_VERSION) { + if (full) { lazy.gPrefs.clearUserPref(PREF_SETTINGS_SERVER_BACKOFF); lazy.gPrefs.clearUserPref(PREF_SETTINGS_LAST_UPDATE); lazy.gPrefs.clearUserPref(PREF_SETTINGS_LAST_ETAG); } - if (AppConstants.BASE_BROWSER_VERSION) { - // tor-browser#41704: pollChanges is always online, so do not allow it. - return; - } - let pollTelemetryArgs = { source: TELEMETRY_SOURCE_POLL, trigger, ===================================== toolkit/modules/AppConstants.sys.mjs ===================================== @@ -423,11 +423,11 @@ export var AppConstants = Object.freeze({ #ifdef MOZ_THUNDERBIRD "https://thunderbird-settings.thunderbird.net/v1", #else - "https://firefox.settings.services.mozilla.com/v1", + "", #endif REMOTE_SETTINGS_VERIFY_SIGNATURE: -#ifdef MOZ_THUNDERBIRD +#if defined(MOZ_THUNDERBIRD) || defined(BASE_BROWSER_VERSION) false, #else true, ===================================== toolkit/modules/IgnoreLists.sys.mjs ===================================== @@ -5,16 +5,18 @@ const lazy = {}; ChromeUtils.defineESModuleGetters(lazy, { + RemoteSettings: "resource://services-settings/remote-settings.sys.mjs", RemoteSettingsClient: "resource://services-settings/RemoteSettingsClient.sys.mjs", }); -class IgnoreListsManager { - _ignoreListSettings = null; +const SETTINGS_IGNORELIST_KEY = "hijack-blocklists"; +class IgnoreListsManager { async init() { - // TODO: Restore the initialization, once we use only the local dumps for - // the remote settings. + if (!this._ignoreListSettings) { + this._ignoreListSettings = lazy.RemoteSettings(SETTINGS_IGNORELIST_KEY); + } } async getAndSubscribe(listener) { @@ -24,7 +26,7 @@ class IgnoreListsManager { const settings = await this._getIgnoreList(); // Listen for future updates after we first get the values. - this._ignoreListSettings?.on("sync", listener); + this._ignoreListSettings.on("sync", listener); return settings; } @@ -65,14 +67,6 @@ class IgnoreListsManager { * could be obtained. */ async _getIgnoreListSettings(firstTime = true) { - if (!this._ignoreListSettings) { - const dump = await fetch( - "resource:///defaults/settings/main/hijack-blocklists.json" - ); - const { data } = await dump.json(); - return data; - } - let result = []; try { result = await this._ignoreListSettings.get({ View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/3a0765… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/3a0765… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/mullvad-browser][mullvad-browser-128.2.0esr-14.0-1] Bug 43092: Disable wayland by default in Base Browser.
by Pier Angelo Vendrame (@pierov) 28 Aug '24

28 Aug '24
Pier Angelo Vendrame pushed to branch mullvad-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 712375db by Henry Wilkes at 2024-08-28T11:35:47+02:00 Bug 43092: Disable wayland by default in Base Browser. - - - - - 1 changed file: - toolkit/xre/nsAppRunner.cpp Changes: ===================================== toolkit/xre/nsAppRunner.cpp ===================================== @@ -460,13 +460,14 @@ bool IsWaylandEnabled() { return true; } } + // Keep wayland disabled in Base Browser. See tor-browser#43092. + return false; // Enable by default when we're running on a recent enough GTK version. We'd // like to check further details like compositor version and so on ideally // to make sure we don't enable it on old Mutter or what not, but we can't, // so let's assume that if the user is running on a Wayland session by // default we're ok, since either the distro has enabled Wayland by default, // or the user has gone out of their way to use Wayland. - return !gtk_check_version(3, 24, 30); }(); return isWaylandEnabled; } View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/712… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/712… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][base-browser-128.2.0esr-14.0-1] Bug 43092: Disable wayland by default in Base Browser.
by Pier Angelo Vendrame (@pierov) 28 Aug '24

28 Aug '24
Pier Angelo Vendrame pushed to branch base-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: ec9235a9 by Henry Wilkes at 2024-08-28T11:35:06+02:00 Bug 43092: Disable wayland by default in Base Browser. - - - - - 1 changed file: - toolkit/xre/nsAppRunner.cpp Changes: ===================================== toolkit/xre/nsAppRunner.cpp ===================================== @@ -460,13 +460,14 @@ bool IsWaylandEnabled() { return true; } } + // Keep wayland disabled in Base Browser. See tor-browser#43092. + return false; // Enable by default when we're running on a recent enough GTK version. We'd // like to check further details like compositor version and so on ideally // to make sure we don't enable it on old Mutter or what not, but we can't, // so let's assume that if the user is running on a Wayland session by // default we're ok, since either the distro has enabled Wayland by default, // or the user has gone out of their way to use Wayland. - return !gtk_check_version(3, 24, 30); }(); return isWaylandEnabled; } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ec9235a… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ec9235a… 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.2.0esr-14.0-1] Bug 43092: Disable wayland by default in Base Browser.
by Pier Angelo Vendrame (@pierov) 28 Aug '24

28 Aug '24
Pier Angelo Vendrame pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 3a076593 by Henry Wilkes at 2024-08-28T09:51:38+01:00 Bug 43092: Disable wayland by default in Base Browser. - - - - - 1 changed file: - toolkit/xre/nsAppRunner.cpp Changes: ===================================== toolkit/xre/nsAppRunner.cpp ===================================== @@ -460,13 +460,14 @@ bool IsWaylandEnabled() { return true; } } + // Keep wayland disabled in Base Browser. See tor-browser#43092. + return false; // Enable by default when we're running on a recent enough GTK version. We'd // like to check further details like compositor version and so on ideally // to make sure we don't enable it on old Mutter or what not, but we can't, // so let's assume that if the user is running on a Wayland session by // default we're ok, since either the distro has enabled Wayland by default, // or the user has gone out of their way to use Wayland. - return !gtk_check_version(3, 24, 30); }(); return isWaylandEnabled; } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/3a07659… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/3a07659… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-115.15.0esr-13.5-2] fixup! Bug 40597: Implement TorSettings module
by Pier Angelo Vendrame (@pierov) 28 Aug '24

28 Aug '24
Pier Angelo Vendrame pushed to branch tor-browser-115.15.0esr-13.5-2 at The Tor Project / Applications / Tor Browser Commits: 6935ca00 by Henry Wilkes at 2024-08-27T20:38:54+00:00 fixup! Bug 40597: Implement TorSettings module Bug 42622: Send TorConnect &quot;Error&quot; signal before &quot;StateChange&quot;. - - - - - 1 changed file: - toolkit/modules/TorConnect.sys.mjs Changes: ===================================== toolkit/modules/TorConnect.sys.mjs ===================================== @@ -686,16 +686,7 @@ class ErrorState extends StateCallback { ErrorState.#hasEverHappened = true; } - run(error) { - if (!(error instanceof TorConnectError)) { - error = new TorConnectError(TorConnectError.ExternalError, error); - } - TorConnect._errorCode = error.code; - TorConnect._errorDetails = error; - lazy.logger.error(`Entering error state (${error.code})`, error); - - Services.obs.notifyObservers(error, TorConnectTopics.Error); - + run(_error) { this.changeState(TorConnectState.Configuring); } @@ -903,6 +894,23 @@ export const TorConnect = { // Set our new state first so that state transitions can themselves // trigger a state transition. this._stateHandler = this._makeState(newState); + + // Error signal needs to be sent out before we enter the Error state. + // Expected on android `onBootstrapError` to set lastKnownError. + // Expected in about:torconnect to set the error codes and internet status + // *before* the StateChange signal. + if (newState === TorConnectState.Error) { + let error = args[0]; + if (!(error instanceof TorConnectError)) { + error = new TorConnectError(TorConnectError.ExternalError, error); + } + TorConnect._errorCode = error.code; + TorConnect._errorDetails = error; + lazy.logger.error(`Entering error state (${error.code})`, error); + + Services.obs.notifyObservers(error, TorConnectTopics.Error); + } + Services.obs.notifyObservers( { state: newState }, TorConnectTopics.StateChange View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/6935ca0… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/6935ca0… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-update-responses][main] alpha: new version, 14.0a3
by morgan (@morgan) 27 Aug '24

27 Aug '24
morgan pushed to branch main at The Tor Project / Applications / Tor Browser update responses Commits: 234abce0 by Morgan at 2024-08-27T22:44:19+00:00 alpha: new version, 14.0a3 - - - - - 30 changed files: - update_3/alpha/.htaccess - − update_3/alpha/13.5a8-14.0a2-linux-i686-ALL.xml - − update_3/alpha/13.5a8-14.0a2-linux-x86_64-ALL.xml - − update_3/alpha/13.5a8-14.0a2-macos-ALL.xml - − update_3/alpha/13.5a8-14.0a2-windows-i686-ALL.xml - − update_3/alpha/13.5a8-14.0a2-windows-x86_64-ALL.xml - − update_3/alpha/13.5a9-14.0a2-linux-i686-ALL.xml - − update_3/alpha/13.5a9-14.0a2-linux-x86_64-ALL.xml - − update_3/alpha/13.5a9-14.0a2-macos-ALL.xml - − update_3/alpha/13.5a9-14.0a2-windows-i686-ALL.xml - − update_3/alpha/13.5a9-14.0a2-windows-x86_64-ALL.xml - + update_3/alpha/13.5a9-14.0a3-linux-i686-ALL.xml - + update_3/alpha/13.5a9-14.0a3-linux-x86_64-ALL.xml - + update_3/alpha/13.5a9-14.0a3-macos-ALL.xml - + update_3/alpha/13.5a9-14.0a3-windows-i686-ALL.xml - + update_3/alpha/13.5a9-14.0a3-windows-x86_64-ALL.xml - − update_3/alpha/14.0a1-14.0a2-linux-i686-ALL.xml - − update_3/alpha/14.0a1-14.0a2-linux-x86_64-ALL.xml - − update_3/alpha/14.0a1-14.0a2-macos-ALL.xml - − update_3/alpha/14.0a1-14.0a2-windows-i686-ALL.xml - − update_3/alpha/14.0a1-14.0a2-windows-x86_64-ALL.xml - + update_3/alpha/14.0a1-14.0a3-linux-i686-ALL.xml - + update_3/alpha/14.0a1-14.0a3-linux-x86_64-ALL.xml - + update_3/alpha/14.0a1-14.0a3-macos-ALL.xml - + update_3/alpha/14.0a1-14.0a3-windows-i686-ALL.xml - + update_3/alpha/14.0a1-14.0a3-windows-x86_64-ALL.xml - + update_3/alpha/14.0a2-14.0a3-linux-i686-ALL.xml - + update_3/alpha/14.0a2-14.0a3-linux-x86_64-ALL.xml - + update_3/alpha/14.0a2-14.0a3-macos-ALL.xml - + update_3/alpha/14.0a2-14.0a3-windows-i686-ALL.xml The diff was not included because it is too large. View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-update-responses… 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.2.0esr-14.0-1] fixup! Bug 7494: Create local home page for TBB.
by morgan (@morgan) 27 Aug '24

27 Aug '24
morgan pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: e8eefc25 by Henry Wilkes at 2024-08-27T21:12:40+00:00 fixup! Bug 7494: Create local home page for TBB. Bug 42744: Stop using prefersColorSchemeOverride for about:tor. common-shared.css seems to have simplified since the original implementation, so we can simply set the `color-scheme` and `color` on the search form to keep the styling consistent in both light and dark themes. - - - - - 2 changed files: - browser/components/abouttor/AboutTorChild.sys.mjs - browser/components/abouttor/content/aboutTor.css Changes: ===================================== browser/components/abouttor/AboutTorChild.sys.mjs ===================================== @@ -2,19 +2,6 @@ * Actor child class for the about:tor page. */ export class AboutTorChild extends JSWindowActorChild { - actorCreated() { - if (this.contentWindow.matchMedia("not (prefers-contrast)").matches) { - // When prefers-contrast is not set, the page only has one style because - // we always set a dark background and a light <form>. - // We force prefers-color-scheme to be light, regardless of the user's - // settings so that we inherit the "light" theme styling from - // in-content/common.css for the <form> element. In particular, we want - // the light styling for the <input> and <moz-toggle> elements, which are - // on a light background. - this.browsingContext.prefersColorSchemeOverride = "light"; - } - } - handleEvent(event) { switch (event.type) { case "DOMContentLoaded": ===================================== browser/components/abouttor/content/aboutTor.css ===================================== @@ -180,15 +180,17 @@ body:not(.show-tor-check) #tor-check { body > :not(#search-form) { /* Same as --in-content-page-color when "prefers-color-scheme: dark" */ - --in-content-page-color: #fbfbfe; - --in-content-text-color: #fbfbfe; - color: var(--in-content-text-color); + color: var(--color-gray-05); --link-color: var(--tor-link-color-dark); --link-color-hover: var(--tor-link-color-hover-dark); --link-color-active: var(--tor-link-color-active-dark); } #search-form { + /* Use light color for background and moz-toggle shadow root. */ + color-scheme: light; + /* Same as --in-content-page-color when "prefers-color-scheme: light" */ + color: var(--color-gray-100); border-color: transparent; } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/e8eefc2… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/e8eefc2… 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.2.0esr-14.0-1] fixup! Bug 7494: Create local home page for TBB.
by morgan (@morgan) 27 Aug '24

27 Aug '24
morgan pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: a8d1d771 by Henry Wilkes at 2024-08-27T21:07:58+00:00 fixup! Bug 7494: Create local home page for TBB. Bug 43075: Drop link spacing in about:tor. - - - - - 1 changed file: - browser/components/abouttor/content/aboutTor.css Changes: ===================================== browser/components/abouttor/content/aboutTor.css ===================================== @@ -89,14 +89,6 @@ body:not(.show-tor-check) #tor-check { margin-inline-end: 0.3em; } -:is( - .home-message, - #tor-check, -) a { - /* Increase gap between the link and the rest of the text. */ - margin-inline: 0.4em; -} - #search-form { grid-area: form; /* Occupy the entire "form" block. */ View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a8d1d77… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/a8d1d77… 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.2.0esr-14.0-1] 3 commits: fixup! Bug 42472: Spoof timezone in XSLT.
by morgan (@morgan) 27 Aug '24

27 Aug '24
morgan pushed to branch tor-browser-128.2.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 600fa3e4 by Pier Angelo Vendrame at 2024-08-27T09:53:22+02:00 fixup! Bug 42472: Spoof timezone in XSLT. Revert &quot;Bug 42472: Spoof timezone in XSLT.&quot; This reverts commit 7bdf1f4f6cd90346da288435564ca67d1b0e58e5. - - - - - fb25351a by Fatih at 2024-08-27T09:53:53+02:00 Bug 1891690: Return GMT when RFPTarget::JSDateTimeUTC is enabled. r=timhuang Differential Revision: https://phabricator.services.mozilla.com/D216411 - - - - - 365873be by Fatih at 2024-08-27T09:54:19+02:00 Bug 1912129: Reduce time precision for EXSLT date time function. r=timhuang Differential Revision: https://phabricator.services.mozilla.com/D218783 - - - - - 4 changed files: - browser/components/resistfingerprinting/test/browser/browser.toml - + browser/components/resistfingerprinting/test/browser/browser_exslt_time_precision.js - + browser/components/resistfingerprinting/test/browser/browser_exslt_timezone_load.js - dom/xslt/xslt/txEXSLTFunctions.cpp Changes: ===================================== browser/components/resistfingerprinting/test/browser/browser.toml ===================================== @@ -196,3 +196,7 @@ lineno = "172" ["browser_timezone.js"] lineno = "176" + +["browser_exslt_timezone_load.js"] + +["browser_exslt_time_precision.js"] ===================================== browser/components/resistfingerprinting/test/browser/browser_exslt_time_precision.js ===================================== @@ -0,0 +1,71 @@ +/** + * Bug 1912129 - A test case for verifying EXSLT date will report second-precise + * time fingerprinting resistance is enabled. + */ + +function getTime(tab) { + const extractTime = function () { + const xslText = ` + <xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:date="http://exslt.org/dates-and-times" + extension-element-prefixes="date"> + <xsl:output method="text" /> + <xsl:template match="/"> + <xsl:value-of select="date:date-time()" /> + </xsl:template> + </xsl:stylesheet>`; + + const parser = new DOMParser(); + const xsltProcessor = new XSLTProcessor(); + const xslStylesheet = parser.parseFromString(xslText, "application/xml"); + xsltProcessor.importStylesheet(xslStylesheet); + const xmlDoc = parser.parseFromString("<test />", "application/xml"); + const styledDoc = xsltProcessor.transformToDocument(xmlDoc); + const time = styledDoc.firstChild.textContent; + + return time; + }; + + const extractTimeExpr = `(${extractTime.toString()})();`; + + return SpecialPowers.spawn( + tab.linkedBrowser, + [extractTimeExpr], + async funccode => content.eval(funccode) + ); +} + +add_task(async function test_new_window() { + await SpecialPowers.pushPrefEnv({ + set: [ + ["privacy.fingerprintingProtection", true], + ["privacy.fingerprintingProtection.overrides", "+ReduceTimerPrecision"], + ], + }); + + // Open a tab for extracting the time from XSLT. + const tab = await BrowserTestUtils.openNewForegroundTab({ + gBrowser, + opening: TEST_PATH + "file_dummy.html", + forceNewProcess: true, + }); + + for (let i = 0; i < 10; i++) { + // eslint-disable-next-line mozilla/no-arbitrary-setTimeout + await new Promise(res => setTimeout(res, 25)); + + // The regex could be a lot shorter (e.g. /\.(\d{3})/) but I wrote the whole + // thing to make sure the time is in the expected format and to allow us + // to re-use this regex in the future if we need to. + // Note: Date format is not locale dependent. + const regex = /\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.(\d{3})[-+]\d{2}:\d{2}/; + const time = await getTime(tab); + const [, milliseconds] = time.match(regex); + + is(milliseconds, "000", "Date's precision was reduced to seconds."); + } + + BrowserTestUtils.removeTab(tab); + await SpecialPowers.popPrefEnv(); +}); ===================================== browser/components/resistfingerprinting/test/browser/browser_exslt_timezone_load.js ===================================== @@ -0,0 +1,62 @@ +/** + * Bug 1891690 - A test case for verifying EXSLT date will use Atlantic/Reykjavik + * timezone (GMT and "real" equivalent to UTC) after fingerprinting + * resistance is enabled. + */ + +function getTimeZone(tab) { + const extractTime = function () { + const xslText = ` + <xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:date="http://exslt.org/dates-and-times" + extension-element-prefixes="date"> + <xsl:output method="text" /> + <xsl:template match="/"> + <xsl:value-of select="date:date-time()" /> + </xsl:template> + </xsl:stylesheet>`; + + const parser = new DOMParser(); + const xsltProcessor = new XSLTProcessor(); + const xslStylesheet = parser.parseFromString(xslText, "application/xml"); + xsltProcessor.importStylesheet(xslStylesheet); + const xmlDoc = parser.parseFromString("<test />", "application/xml"); + const styledDoc = xsltProcessor.transformToDocument(xmlDoc); + const time = styledDoc.firstChild.textContent; + + return time; + }; + + const extractTimeExpr = `(${extractTime.toString()})();`; + + return SpecialPowers.spawn( + tab.linkedBrowser, + [extractTimeExpr], + async funccode => content.eval(funccode) + ); +} + +add_task(async function test_new_window() { + await SpecialPowers.pushPrefEnv({ + set: [ + ["privacy.fingerprintingProtection", true], + ["privacy.fingerprintingProtection.overrides", "+JSDateTimeUTC"], + ], + }); + + // Open a tab for extracting the time zone from XSLT. + const tab = await BrowserTestUtils.openNewForegroundTab({ + gBrowser, + opening: TEST_PATH + "file_dummy.html", + forceNewProcess: true, + }); + + SpecialPowers.Cu.getJSTestingFunctions().setTimeZone("America/Toronto"); + const timeZone = await getTimeZone(tab); + + ok(timeZone.endsWith("+00:00"), "Timezone was spoofed."); + + BrowserTestUtils.removeTab(tab); + await SpecialPowers.popPrefEnv(); +}); ===================================== dom/xslt/xslt/txEXSLTFunctions.cpp ===================================== @@ -590,14 +590,22 @@ nsresult txEXSLTFunctionCall::evaluate(txIEvalContext* aContext, // http://exslt.org/date/functions/date-time/ PRExplodedTime prtime; - PR_ExplodeTime(PR_Now(), - nsContentUtils::ShouldResistFingerprinting( - "We are not allowed to access the document at this " - "stage (we are given a txEarlyEvalContext context).", - RFPTarget::JSDateTimeUTC) - ? PR_GMTParameters - : PR_LocalTimeParameters, - &prtime); + Document* sourceDoc = getSourceDocument(aContext); + NS_ENSURE_STATE(sourceDoc); + + PRTimeParamFn timezone = + sourceDoc->ShouldResistFingerprinting(RFPTarget::JSDateTimeUTC) + ? PR_GMTParameters + : PR_LocalTimeParameters; + + PRTime time = + sourceDoc->ShouldResistFingerprinting(RFPTarget::ReduceTimerPrecision) + ? (PRTime)nsRFPService::ReduceTimePrecisionAsSecs( + (double)PR_Now() / PR_USEC_PER_SEC, 0, + RTPCallerType::ResistFingerprinting) * + PR_USEC_PER_SEC + : PR_Now(); + PR_ExplodeTime(time, timezone, &prtime); int32_t offset = (prtime.tm_params.tp_gmt_offset + prtime.tm_params.tp_dst_offset) / @@ -641,7 +649,7 @@ Expr::ResultType txEXSLTFunctionCall::getReturnType() { bool txEXSLTFunctionCall::isSensitiveTo(ContextSensitivity aContext) { if (mType == txEXSLTType::NODE_SET || mType == txEXSLTType::SPLIT || - mType == txEXSLTType::TOKENIZE) { + mType == txEXSLTType::TOKENIZE || mType == txEXSLTType::DATE_TIME) { return (aContext & PRIVATE_CONTEXT) || argsSensitiveTo(aContext); } return argsSensitiveTo(aContext); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/625366… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/625366… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • ...
  • 782
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.