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 -----
  • 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
  • 19149 discussions
[Git][tpo/applications/tor-browser][tor-browser-128.3.0esr-14.0-1] 2 commits: Bug 1607032: Spoof screen orientation and angle to primary values. r=tjr, geckoview-reviewers, owlish
by morgan (@morgan) 02 Oct '24

02 Oct '24
morgan pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 89b45eb4 by Fatih at 2024-10-02T18:59:01+00:00 Bug 1607032: Spoof screen orientation and angle to primary values. r=tjr,geckoview-reviewers,owlish Differential Revision: https://phabricator.services.mozilla.com/D220904 - - - - - 084cb5b9 by Fatih at 2024-10-02T18:59:01+00:00 Bug 1918202: Spoof orientation based on screen size. r=tjr Differential Revision: https://phabricator.services.mozilla.com/D221863 - - - - - 6 changed files: - dom/base/ScreenOrientation.cpp - dom/base/nsGlobalWindowInner.cpp - dom/base/test/chrome/bug418986-1.js - hal/android/AndroidHal.cpp - toolkit/components/resistfingerprinting/nsRFPService.cpp - toolkit/components/resistfingerprinting/nsRFPService.h Changes: ===================================== dom/base/ScreenOrientation.cpp ===================================== @@ -626,7 +626,13 @@ void ScreenOrientation::CleanupFullscreenListener() { OrientationType ScreenOrientation::DeviceType(CallerType aCallerType) const { if (nsContentUtils::ShouldResistFingerprinting( aCallerType, GetOwnerGlobal(), RFPTarget::ScreenOrientation)) { - return OrientationType::Landscape_primary; + Document* doc = GetResponsibleDocument(); + BrowsingContext* bc = doc ? doc->GetBrowsingContext() : nullptr; + if (!bc) { + return nsRFPService::GetDefaultOrientationType(); + } + CSSIntSize size = bc->GetTopInnerSizeForRFP(); + return nsRFPService::ViewportSizeToOrientationType(size.width, size.height); } return mType; } @@ -634,18 +640,19 @@ OrientationType ScreenOrientation::DeviceType(CallerType aCallerType) const { uint16_t ScreenOrientation::DeviceAngle(CallerType aCallerType) const { if (nsContentUtils::ShouldResistFingerprinting( aCallerType, GetOwnerGlobal(), RFPTarget::ScreenOrientation)) { - return 0; + Document* doc = GetResponsibleDocument(); + BrowsingContext* bc = doc ? doc->GetBrowsingContext() : nullptr; + if (!bc) { + return 0; + } + CSSIntSize size = bc->GetTopInnerSizeForRFP(); + return nsRFPService::ViewportSizeToAngle(size.width, size.height); } return mAngle; } OrientationType ScreenOrientation::GetType(CallerType aCallerType, ErrorResult& aRv) const { - if (nsContentUtils::ShouldResistFingerprinting( - aCallerType, GetOwnerGlobal(), RFPTarget::ScreenOrientation)) { - return OrientationType::Landscape_primary; - } - Document* doc = GetResponsibleDocument(); BrowsingContext* bc = doc ? doc->GetBrowsingContext() : nullptr; if (!bc) { @@ -653,16 +660,17 @@ OrientationType ScreenOrientation::GetType(CallerType aCallerType, return OrientationType::Portrait_primary; } - return bc->GetCurrentOrientationType(); -} - -uint16_t ScreenOrientation::GetAngle(CallerType aCallerType, - ErrorResult& aRv) const { + OrientationType orientation = bc->GetCurrentOrientationType(); if (nsContentUtils::ShouldResistFingerprinting( aCallerType, GetOwnerGlobal(), RFPTarget::ScreenOrientation)) { - return 0; + CSSIntSize size = bc->GetTopInnerSizeForRFP(); + return nsRFPService::ViewportSizeToOrientationType(size.width, size.height); } + return orientation; +} +uint16_t ScreenOrientation::GetAngle(CallerType aCallerType, + ErrorResult& aRv) const { Document* doc = GetResponsibleDocument(); BrowsingContext* bc = doc ? doc->GetBrowsingContext() : nullptr; if (!bc) { @@ -670,7 +678,13 @@ uint16_t ScreenOrientation::GetAngle(CallerType aCallerType, return 0; } - return bc->GetCurrentOrientationAngle(); + uint16_t angle = static_cast<uint16_t>(bc->GetCurrentOrientationAngle()); + if (nsContentUtils::ShouldResistFingerprinting( + aCallerType, GetOwnerGlobal(), RFPTarget::ScreenOrientation)) { + CSSIntSize size = bc->GetTopInnerSizeForRFP(); + return nsRFPService::ViewportSizeToAngle(size.width, size.height); + } + return angle; } ScreenOrientation::LockPermission ===================================== dom/base/nsGlobalWindowInner.cpp ===================================== @@ -7306,11 +7306,13 @@ void nsGlobalWindowInner::InitWasOffline() { mWasOffline = NS_IsOffline(); } int16_t nsGlobalWindowInner::Orientation(CallerType aCallerType) { // GetOrientationAngle() returns 0, 90, 180 or 270. // window.orientation returns -90, 0, 90 or 180. + uint16_t screenAngle = Screen()->GetOrientationAngle(); if (nsIGlobalObject::ShouldResistFingerprinting( aCallerType, RFPTarget::ScreenOrientation)) { - return 0; + CSSIntSize size = mBrowsingContext->GetTopInnerSizeForRFP(); + screenAngle = nsRFPService::ViewportSizeToAngle(size.width, size.height); } - int16_t angle = AssertedCast<int16_t>(Screen()->GetOrientationAngle()); + int16_t angle = AssertedCast<int16_t>(screenAngle); return angle <= 180 ? angle : angle - 360; } ===================================== dom/base/test/chrome/bug418986-1.js ===================================== @@ -32,9 +32,6 @@ var test = function (isContent) { ["screen.availTop", 0], ["screen.width", "outerWidth"], ["screen.height", "outerHeight"], - ["screen.orientation.type", "'landscape-primary'"], - ["screen.orientation.angle", 0], - ["screen.mozOrientation", "'landscape-primary'"], ["devicePixelRatio", 2], ]; ===================================== hal/android/AndroidHal.cpp ===================================== @@ -79,19 +79,20 @@ void GetCurrentNetworkInformation(hal::NetworkInformation* aNetworkInfo) { static bool IsSupportedScreenOrientation(hal::ScreenOrientation aOrientation) { // The Android backend only supports these orientations. - static constexpr ScreenOrientation kSupportedOrientations[] = { - ScreenOrientation::PortraitPrimary, - ScreenOrientation::PortraitSecondary, - ScreenOrientation::PortraitPrimary | ScreenOrientation::PortraitSecondary, - ScreenOrientation::LandscapePrimary, - ScreenOrientation::LandscapeSecondary, - ScreenOrientation::LandscapePrimary | - ScreenOrientation::LandscapeSecondary, - ScreenOrientation::PortraitPrimary | - ScreenOrientation::PortraitSecondary | - ScreenOrientation::LandscapePrimary | - ScreenOrientation::LandscapeSecondary, - ScreenOrientation::Default, + static constexpr hal::ScreenOrientation kSupportedOrientations[] = { + hal::ScreenOrientation::PortraitPrimary, + hal::ScreenOrientation::PortraitSecondary, + hal::ScreenOrientation::PortraitPrimary | + hal::ScreenOrientation::PortraitSecondary, + hal::ScreenOrientation::LandscapePrimary, + hal::ScreenOrientation::LandscapeSecondary, + hal::ScreenOrientation::LandscapePrimary | + hal::ScreenOrientation::LandscapeSecondary, + hal::ScreenOrientation::PortraitPrimary | + hal::ScreenOrientation::PortraitSecondary | + hal::ScreenOrientation::LandscapePrimary | + hal::ScreenOrientation::LandscapeSecondary, + hal::ScreenOrientation::Default, }; for (auto supportedOrientation : kSupportedOrientations) { if (aOrientation == supportedOrientation) { ===================================== toolkit/components/resistfingerprinting/nsRFPService.cpp ===================================== @@ -2284,3 +2284,34 @@ Maybe<RFPTarget> nsRFPService::GetOverriddenFingerprintingSettingsForURI( return result; } + +/* static */ +uint16_t nsRFPService::ViewportSizeToAngle(int32_t aWidth, int32_t aHeight) { +#ifdef MOZ_WIDGET_ANDROID + bool neutral = aHeight >= aWidth; +#else + bool neutral = aWidth >= aHeight; +#endif + if (neutral) { + return 0; + } + return 90; +} + +/* static */ +dom::OrientationType nsRFPService::ViewportSizeToOrientationType( + int32_t aWidth, int32_t aHeight) { + if (aWidth >= aHeight) { + return dom::OrientationType::Landscape_primary; + } + return dom::OrientationType::Portrait_primary; +} + +/* static */ +dom::OrientationType nsRFPService::GetDefaultOrientationType() { +#ifdef MOZ_WIDGET_ANDROID + return dom::OrientationType::Portrait_primary; +#else + return dom::OrientationType::Landscape_primary; +#endif +} ===================================== toolkit/components/resistfingerprinting/nsRFPService.h ===================================== @@ -14,6 +14,7 @@ #include "mozilla/ContentBlockingLog.h" #include "mozilla/gfx/Types.h" #include "mozilla/TypedEnumBits.h" +#include "mozilla/dom/ScreenOrientationBinding.h" #include "js/RealmOptions.h" #include "nsHashtablesFwd.h" #include "nsICookieJarSettings.h" @@ -368,6 +369,16 @@ class nsRFPService final : public nsIObserver, public nsIRFPService { static bool CheckSuspiciousFingerprintingActivity( nsTArray<ContentBlockingLog::LogEntry>& aLogs); + // Converts the viewport size to the angle. + static uint16_t ViewportSizeToAngle(int32_t aWidth, int32_t aHeight); + + // Converts the viewport size to the orientation type. + static dom::OrientationType ViewportSizeToOrientationType(int32_t aWidth, + int32_t aHeight); + + // Returns the default orientation type for the given platform. + static dom::OrientationType GetDefaultOrientationType(); + private: nsresult Init(); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/c4c73e… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/c4c73e… 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.3.0esr-14.0-1] Bug 1918009 - Fix the RFP-spoofed User-Agent header. r=tjr
by morgan (@morgan) 02 Oct '24

02 Oct '24
morgan pushed to branch mullvad-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 92d9fad9 by Pier Angelo Vendrame at 2024-10-02T18:50:03+00:00 Bug 1918009 - Fix the RFP-spoofed User-Agent header. r=tjr The spoofed value of the HTTP user-agent header is not consistent with the value of navigator.userAgent on Windows, and this can lead to compatibility issues. Differential Revision: https://phabricator.services.mozilla.com/D223745 - - - - - 3 changed files: - browser/components/resistfingerprinting/test/browser/browser_navigator.js - browser/components/resistfingerprinting/test/browser/browser_navigator_iframes.js - toolkit/components/resistfingerprinting/nsRFPService.h Changes: ===================================== browser/components/resistfingerprinting/test/browser/browser_navigator.js ===================================== @@ -115,11 +115,11 @@ const SPOOFED_UA_NAVIGATOR_OS = { other: "X11; Linux x86_64", }; const SPOOFED_UA_HTTPHEADER_OS = { - linux: "Windows NT 10.0", - win: "Windows NT 10.0", - macosx: "Windows NT 10.0", + linux: "Windows NT 10.0; Win64; x64", + win: "Windows NT 10.0; Win64; x64", + macosx: "Windows NT 10.0; Win64; x64", android: "Android 10; Mobile", - other: "Windows NT 10.0", + other: "Windows NT 10.0; Win64; x64", }; const SPOOFED_HW_CONCURRENCY = 2; ===================================== browser/components/resistfingerprinting/test/browser/browser_navigator_iframes.js ===================================== @@ -130,11 +130,11 @@ const SPOOFED_UA_NAVIGATOR_OS = { other: "X11; Linux x86_64", }; const SPOOFED_UA_HTTPHEADER_OS = { - linux: "Windows NT 10.0", - win: "Windows NT 10.0", - macosx: "Windows NT 10.0", + linux: "Windows NT 10.0; Win64; x64", + win: "Windows NT 10.0; Win64; x64", + macosx: "Windows NT 10.0; Win64; x64", android: "Android 10; Mobile", - other: "Windows NT 10.0", + other: "Windows NT 10.0; Win64; x64", }; const SPOOFED_HW_CONCURRENCY = 2; ===================================== toolkit/components/resistfingerprinting/nsRFPService.h ===================================== @@ -63,7 +63,7 @@ #if defined(MOZ_WIDGET_ANDROID) # define SPOOFED_HTTP_UA_OS "Android 10; Mobile" #else -# define SPOOFED_HTTP_UA_OS "Windows NT 10.0" +# define SPOOFED_HTTP_UA_OS "Windows NT 10.0; Win64; x64" #endif struct JSContext; View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/92d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/92d… 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.3.0esr-14.0-1] Bug 1918009 - Fix the RFP-spoofed User-Agent header. r=tjr
by morgan (@morgan) 02 Oct '24

02 Oct '24
morgan pushed to branch base-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: dbdddf48 by Pier Angelo Vendrame at 2024-10-02T18:49:35+00:00 Bug 1918009 - Fix the RFP-spoofed User-Agent header. r=tjr The spoofed value of the HTTP user-agent header is not consistent with the value of navigator.userAgent on Windows, and this can lead to compatibility issues. Differential Revision: https://phabricator.services.mozilla.com/D223745 - - - - - 3 changed files: - browser/components/resistfingerprinting/test/browser/browser_navigator.js - browser/components/resistfingerprinting/test/browser/browser_navigator_iframes.js - toolkit/components/resistfingerprinting/nsRFPService.h Changes: ===================================== browser/components/resistfingerprinting/test/browser/browser_navigator.js ===================================== @@ -115,11 +115,11 @@ const SPOOFED_UA_NAVIGATOR_OS = { other: "X11; Linux x86_64", }; const SPOOFED_UA_HTTPHEADER_OS = { - linux: "Windows NT 10.0", - win: "Windows NT 10.0", - macosx: "Windows NT 10.0", + linux: "Windows NT 10.0; Win64; x64", + win: "Windows NT 10.0; Win64; x64", + macosx: "Windows NT 10.0; Win64; x64", android: "Android 10; Mobile", - other: "Windows NT 10.0", + other: "Windows NT 10.0; Win64; x64", }; const SPOOFED_HW_CONCURRENCY = 2; ===================================== browser/components/resistfingerprinting/test/browser/browser_navigator_iframes.js ===================================== @@ -130,11 +130,11 @@ const SPOOFED_UA_NAVIGATOR_OS = { other: "X11; Linux x86_64", }; const SPOOFED_UA_HTTPHEADER_OS = { - linux: "Windows NT 10.0", - win: "Windows NT 10.0", - macosx: "Windows NT 10.0", + linux: "Windows NT 10.0; Win64; x64", + win: "Windows NT 10.0; Win64; x64", + macosx: "Windows NT 10.0; Win64; x64", android: "Android 10; Mobile", - other: "Windows NT 10.0", + other: "Windows NT 10.0; Win64; x64", }; const SPOOFED_HW_CONCURRENCY = 2; ===================================== toolkit/components/resistfingerprinting/nsRFPService.h ===================================== @@ -63,7 +63,7 @@ #if defined(MOZ_WIDGET_ANDROID) # define SPOOFED_HTTP_UA_OS "Android 10; Mobile" #else -# define SPOOFED_HTTP_UA_OS "Windows NT 10.0" +# define SPOOFED_HTTP_UA_OS "Windows NT 10.0; Win64; x64" #endif struct JSContext; View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/dbdddf4… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/dbdddf4… 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.3.0esr-14.0-1] Bug 1918009 - Fix the RFP-spoofed User-Agent header. r=tjr
by morgan (@morgan) 02 Oct '24

02 Oct '24
morgan pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: c4c73ea4 by Pier Angelo Vendrame at 2024-10-02T18:31:19+00:00 Bug 1918009 - Fix the RFP-spoofed User-Agent header. r=tjr The spoofed value of the HTTP user-agent header is not consistent with the value of navigator.userAgent on Windows, and this can lead to compatibility issues. Differential Revision: https://phabricator.services.mozilla.com/D223745 - - - - - 3 changed files: - browser/components/resistfingerprinting/test/browser/browser_navigator.js - browser/components/resistfingerprinting/test/browser/browser_navigator_iframes.js - toolkit/components/resistfingerprinting/nsRFPService.h Changes: ===================================== browser/components/resistfingerprinting/test/browser/browser_navigator.js ===================================== @@ -115,11 +115,11 @@ const SPOOFED_UA_NAVIGATOR_OS = { other: "X11; Linux x86_64", }; const SPOOFED_UA_HTTPHEADER_OS = { - linux: "Windows NT 10.0", - win: "Windows NT 10.0", - macosx: "Windows NT 10.0", + linux: "Windows NT 10.0; Win64; x64", + win: "Windows NT 10.0; Win64; x64", + macosx: "Windows NT 10.0; Win64; x64", android: "Android 10; Mobile", - other: "Windows NT 10.0", + other: "Windows NT 10.0; Win64; x64", }; const SPOOFED_HW_CONCURRENCY = 2; ===================================== browser/components/resistfingerprinting/test/browser/browser_navigator_iframes.js ===================================== @@ -130,11 +130,11 @@ const SPOOFED_UA_NAVIGATOR_OS = { other: "X11; Linux x86_64", }; const SPOOFED_UA_HTTPHEADER_OS = { - linux: "Windows NT 10.0", - win: "Windows NT 10.0", - macosx: "Windows NT 10.0", + linux: "Windows NT 10.0; Win64; x64", + win: "Windows NT 10.0; Win64; x64", + macosx: "Windows NT 10.0; Win64; x64", android: "Android 10; Mobile", - other: "Windows NT 10.0", + other: "Windows NT 10.0; Win64; x64", }; const SPOOFED_HW_CONCURRENCY = 2; ===================================== toolkit/components/resistfingerprinting/nsRFPService.h ===================================== @@ -63,7 +63,7 @@ #if defined(MOZ_WIDGET_ANDROID) # define SPOOFED_HTTP_UA_OS "Android 10; Mobile" #else -# define SPOOFED_HTTP_UA_OS "Windows NT 10.0" +# define SPOOFED_HTTP_UA_OS "Windows NT 10.0; Win64; x64" #endif struct JSContext; View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c4c73ea… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/c4c73ea… 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.3.0esr-14.0-1] fixup! Firefox preference overrides.
by morgan (@morgan) 02 Oct '24

02 Oct '24
morgan pushed to branch mullvad-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 37ace560 by Morgan at 2024-10-02T17:36:53+00:00 fixup! Firefox preference overrides. Bug 43164: Prevent search-bar from being auto-hidden when not used for awhile - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -9,6 +9,11 @@ pref("intl.locale.requested", ""); pref("browser.startup.homepage", "about:blank"); pref("browser.newtabpage.enabled", false); +// tor-browser#43164: Prevent search-bar from being auto-hidden when not used for awhile +// This preference is locked so that the browser itself can never set an actual +// value that would trigger the migration. +pref("browser.search.widget.lastUsed", "", locked); + // Disable initial homepage notifications pref("browser.search.update", false); pref("startup.homepage_welcome_url", ""); View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/37a… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/37a… 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.3.0esr-14.0-1] fixup! Firefox preference overrides.
by morgan (@morgan) 02 Oct '24

02 Oct '24
morgan pushed to branch base-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: e25795c4 by Morgan at 2024-10-02T17:34:44+00:00 fixup! Firefox preference overrides. Bug 43164: Prevent search-bar from being auto-hidden when not used for awhile - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -9,6 +9,11 @@ pref("intl.locale.requested", ""); pref("browser.startup.homepage", "about:blank"); pref("browser.newtabpage.enabled", false); +// tor-browser#43164: Prevent search-bar from being auto-hidden when not used for awhile +// This preference is locked so that the browser itself can never set an actual +// value that would trigger the migration. +pref("browser.search.widget.lastUsed", "", locked); + // Disable initial homepage notifications pref("browser.search.update", false); pref("startup.homepage_welcome_url", ""); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/e25795c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/e25795c… 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.3.0esr-14.0-1] fixup! Firefox preference overrides.
by morgan (@morgan) 02 Oct '24

02 Oct '24
morgan pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 019449c4 by Morgan at 2024-10-02T17:32:43+00:00 fixup! Firefox preference overrides. Bug 43164: Prevent search-bar from being auto-hidden when not used for awhile - - - - - 1 changed file: - browser/app/profile/001-base-profile.js Changes: ===================================== browser/app/profile/001-base-profile.js ===================================== @@ -9,6 +9,11 @@ pref("intl.locale.requested", ""); pref("browser.startup.homepage", "about:blank"); pref("browser.newtabpage.enabled", false); +// tor-browser#43164: Prevent search-bar from being auto-hidden when not used for awhile +// This preference is locked so that the browser itself can never set an actual +// value that would trigger the migration. +pref("browser.search.widget.lastUsed", "", locked); + // Disable initial homepage notifications pref("browser.search.update", false); pref("startup.homepage_welcome_url", ""); View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/019449c… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/019449c… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build] Pushed new tag tbb-13.5a11-build1
by morgan (@morgan) 02 Oct '24

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

02 Oct '24
morgan pushed to branch maint-13.5a11 at The Tor Project / Applications / tor-browser-build Commits: a4cc91f7 by Morgan at 2024-10-02T16:56:22+00:00 Bug 41253: Prepare Tor Browser 13.5a11 - - - - - 5 changed files: - projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt - projects/browser/config - projects/firefox/config - projects/translation/config - rbm.conf Changes: ===================================== projects/browser/Bundle-Data/Docs-TBB/ChangeLog.txt ===================================== @@ -1,3 +1,47 @@ +Tor Browser 13.5a11 - October 01 2024 + * All Platforms + * Bug 41252: Disable updating update_responses in 13.5-legacy branch [tor-browser-build] + * Windows + macOS + Linux + * Updated Firefox to 115.16.0esr + +Tor Browser 13.5.6 - September 30 2024 + * All Platforms + * Updated NoScript to 11.4.40 + * Bug 42832: Download spam prevention should not affect browser extensions [tor-browser] + * Bug 43167: Rebase Tor Browser Stable onto 115.16.0esr [tor-browser] + * Bug 43173: Backport security fixes from Firefox 131 [tor-browser] + * Windows + macOS + Linux + * Updated Firefox to 115.16.0esr + * Bug 42737: Drop the hash check on updates [tor-browser] + * Bug 43098: YEC 2024 Takeover for Desktop Stable [tor-browser] + * Windows + macOS + * Bug 42747: Windows 7/8 and macOS 10.12-10.14 Legacy/Maintenance [tor-browser] + * Android + * Updated GeckoView to 115.16.0esr + * Bug 43099: YEC 2024 Takeover for Android Stable [tor-browser] + +Tor Browser 14.0a7 - September 27 2024 + * All Platforms + * Updated NoScript to 11.4.40 + * Bug 42832: Download spam prevention should not affect browser extensions [tor-browser] + * Bug 43163: Disable offscreen canvas until verified it is not fingerprintable [tor-browser] + * Bug 43166: Rebase Tor Browser alpha onto Firefox 128.3.0esr [tor-browser] + * Windows + macOS + Linux + * Updated Firefox to 128.3.0esr + * Bug 42070: Backport Bugzilla 1834307 and hide smooth-scroll UX [tor-browser] + * Bug 42362: "New window" missing from File menu [tor-browser] + * Bug 42742: Inconsistent use of "New private window" vs "New window" [tor-browser] + * Bug 41248: Check and update bundled font versions [tor-browser-build] + * Android + * Updated GeckoView to 128.3.0esr + * Bug 43172: remove remote settings and SERPTelemetry [tor-browser] + * Build System + * All Platforms + * Updated Go to 1.23.1 + * Bug 41236: Remove binutils when not needed [tor-browser-build] + * Windows + macOS + Linux + * Bug 41246: Add updater rewriterules to make 13.5a10 a watershed [tor-browser-build] + Tor Browser 13.5a10 - September 25 2024 * Windows + macOS + Linux * Updated Firefox to 115.15.0esr ===================================== projects/browser/config ===================================== @@ -104,9 +104,9 @@ input_files: enable: '[% ! c("var/android") %]' - filename: Bundle-Data enable: '[% ! c("var/android") %]' - - URL: https://addons.mozilla.org/firefox/downloads/file/4349514/noscript-11.4.37.… + - URL: https://addons.mozilla.org/firefox/downloads/file/4357325/noscript-11.4.40.… name: noscript - sha256sum: 5e9921599c63e0b357851ea7ca1354554b3af2c676bbbfff5687cafce4396c18 + sha256sum: 242ead426159d871480a13062cbee08abc97da746cdc5c643aee2692e9adbbb2 - URL: https://addons.mozilla.org/firefox/downloads/file/4328681/ublock_origin-1.5… name: ublock-origin sha256sum: 1db9c676a07d141f8d36dbbc24f9e3d64a6cc2340dbfc6c848bc4395f96cfb14 ===================================== projects/firefox/config ===================================== @@ -14,12 +14,12 @@ container: use_container: 1 var: - firefox_platform_version: 115.15.0 + firefox_platform_version: 115.16.0 firefox_version: '[% c("var/firefox_platform_version") %]esr' browser_series: '13.5' - browser_rebase: 2 + browser_rebase: 1 browser_branch: '[% c("var/browser_series") %]-[% c("var/browser_rebase") %]' - browser_build: 1 + browser_build: 2 branding_directory_prefix: 'tb' copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]' nightly_updates_publish_dir: '[% c("var/nightly_updates_publish_dir_prefix") %]nightly-[% c("var/osname") %]' ===================================== projects/translation/config ===================================== @@ -12,13 +12,13 @@ compress_tar: 'gz' steps: base-browser: base-browser: '[% INCLUDE build %]' - git_hash: 16446c485b3be4198a7e79bfcac6510784a18506 + git_hash: a142f78af87f994913faa15fb4b0f34f0ce1a22b targets: nightly: git_hash: 'base-browser' tor-browser: tor-browser: '[% INCLUDE build %]' - git_hash: a2bf4c2f45736958ac99f60e60b9f6d0e94454c3 + git_hash: 04f824bce1b6fb4b989bb9303949af17eab11406 targets: nightly: git_hash: 'tor-browser' ===================================== rbm.conf ===================================== @@ -73,18 +73,18 @@ buildconf: git_signtag_opt: '-s' var: - torbrowser_version: '13.5a10' + torbrowser_version: '13.5a11' torbrowser_build: 'build1' # This should be the date of when the build is started. For the build # to be reproducible, browser_release_date should always be in the past. - browser_release_date: '2024/09/25 17:00:00' + browser_release_date: '2024/10/01 17:00:00' browser_release_date_timestamp: '[% USE date; date.format(c("var/browser_release_date"), "%s") %]' updater_enabled: 1 build_mar: 1 torbrowser_incremental_from: + - 13.5a10 - 13.5a9 - 13.5a8 - - 13.5a7 mar_channel_id: '[% c("var/projectname") %]-torproject-[% c("var/channel") %]' # By default, we sort the list of installed packages. This allows sharing View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/a… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/a… 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.3.0esr-14.0-1] 2 commits: fixup! Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources.
by Pier Angelo Vendrame (@pierov) 02 Oct '24

02 Oct '24
Pier Angelo Vendrame pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 8acd4ac6 by Dan Ballard at 2024-10-02T16:09:15+00:00 fixup! Orfox: Centralized proxy applied to AbstractCommunicator and BaseResources. This reverts commit a16d36fce768826615620ee73bec755fcd7081ea for tb-42660 - - - - - 10a39162 by Dan Ballard at 2024-10-02T16:09:15+00:00 Bug 42660: Disable ProxySelector.openConnectionWithProxy and NOPify CrashReporter.sendCrashReport - - - - - 2 changed files: - mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java - mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java Changes: ===================================== mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java ===================================== @@ -28,40 +28,19 @@ import java.net.URLConnection; import java.util.List; public class ProxySelector { - private static final String TOR_PROXY_ADDRESS = "127.0.0.1"; - private static final int TOR_SOCKS_PROXY_PORT = 9150; - private static final int TOR_HTTP_PROXY_PORT = 8218; - public static URLConnection openConnectionWithProxy(final URI uri) throws IOException { - final java.net.ProxySelector ps = java.net.ProxySelector.getDefault(); - Proxy proxy = Proxy.NO_PROXY; - if (ps != null) { - final List<Proxy> proxies = ps.select(uri); - if (proxies != null && !proxies.isEmpty()) { - proxy = proxies.get(0); - } - } - - /* Ignore the proxy we found from the VM, only use Tor. We can probably - * safely use the logic in this class in the future. */ - return uri.toURL().openConnection(getProxy()); - } - - public static Proxy getProxy() { - // TODO make configurable - return new Proxy(Proxy.Type.SOCKS, new InetSocketAddress(TOR_PROXY_ADDRESS, TOR_SOCKS_PROXY_PORT)); - } - - public static String getProxyHostAddress() { - return TOR_PROXY_ADDRESS; - } - - public static int getSocksProxyPort() { - return TOR_SOCKS_PROXY_PORT; - } - - public static int getHttpProxyPort() { - return TOR_HTTP_PROXY_PORT; +// tb-42660: This should not be used: it cannot safely get tor configs so would be a proxy leak risk + throw new IOException("openConnectionWithProxy disabled by tb-42660"); +// final java.net.ProxySelector ps = java.net.ProxySelector.getDefault(); +// Proxy proxy = Proxy.NO_PROXY; +// if (ps != null) { +// final List<Proxy> proxies = ps.select(uri); +// if (proxies != null && !proxies.isEmpty()) { +// proxy = proxies.get(0); +// } +// } +// +// return uri.toURL().openConnection(proxy); } public ProxySelector() {} ===================================== mobile/android/geckoview/src/main/java/org/mozilla/geckoview/CrashReporter.java ===================================== @@ -169,6 +169,11 @@ public class CrashReporter { @NonNull final File minidumpFile, @NonNull final JSONObject extras) throws IOException, URISyntaxException { + // tb-42660: makeing a NOP + if (true) { + return GeckoResult.fromValue("0"); + } + Log.d(LOGTAG, "Sending crash report: " + minidumpFile.getPath()); HttpURLConnection conn = null; View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/ac6b47… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/ac6b47… 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.3.0esr-14.0-1] fixup! Add CI for Tor Browser
by Pier Angelo Vendrame (@pierov) 02 Oct '24

02 Oct '24
Pier Angelo Vendrame pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: ac6b47d5 by Henry Wilkes at 2024-10-02T10:27:03+01:00 fixup! Add CI for Tor Browser Bug 43181: Automatically run translation CI for strings.xml changes. - - - - - 1 changed file: - .gitlab/ci/update-translations.yml Changes: ===================================== .gitlab/ci/update-translations.yml ===================================== @@ -6,6 +6,7 @@ - "**/*.ftl" - "**/*.properties" - "**/*.dtd" + - "**/*strings.xml" - if: $FORCE_UPDATE_TRANSLATIONS == "true" variables: TOR_BROWSER_COMBINED_FILES_JSON: "combined-translation-files.json" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ac6b47d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ac6b47d… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41254: Stop copying cryptoSafetyPrompt.properties.
by Pier Angelo Vendrame (@pierov) 02 Oct '24

02 Oct '24
Pier Angelo Vendrame pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: bab35eb4 by Pier Angelo Vendrame at 2024-10-02T12:53:54+02:00 Bug 41254: Stop copying cryptoSafetyPrompt.properties. That file is not used anymore, and it was supposed to not exist, but it has been deleted only from the en-US directory in translation.git. - - - - - 1 changed file: - projects/firefox/build Changes: ===================================== projects/firefox/build ===================================== @@ -143,7 +143,6 @@ mkdir "$HOME/.mozbuild" fi [% END -%] mv "$transl_tor_browser/$source_lang/tor-browser.ftl" "$l10ncentral/$lang/toolkit/toolkit/global/" - mv "$transl_tor_browser/$source_lang/cryptoSafetyPrompt.properties" "$l10ncentral/$lang/browser/chrome/browser/" mv "$transl_tor_browser/$source_lang" "$torbutton_locales/$lang" echo "% locale torbutton $lang %locale/$lang/" >> "$torbutton_jar" echo " locale/$lang (chrome/locale/$lang/*)" >> "$torbutton_jar" View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/b… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/b… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-13.5a11] Bug 41252: Do not run upload-update_responses-to-staticiforme
by morgan (@morgan) 01 Oct '24

01 Oct '24
morgan pushed to branch maint-13.5a11 at The Tor Project / Applications / tor-browser-build Commits: f9e2b4a5 by Nicolas Vigier at 2024-10-01T19:36:41+02:00 Bug 41252: Do not run upload-update_responses-to-staticiforme When signing a 13.5-legacy release, don&#39;t update and upload update_responses. The update_responses containing both the 14.0 and 13.5-legacy releases will be generated from the `maint-14.0` branch. - - - - - 1 changed file: - tools/signing/do-all-signing Changes: ===================================== tools/signing/do-all-signing ===================================== @@ -206,5 +206,4 @@ do_step download-unsigned-sha256sums-gpg-signatures-from-people-tpo do_step sync-local-to-staticiforme do_step sync-scripts-to-staticiforme do_step staticiforme-prepare-cdn-dist-upload -do_step upload-update_responses-to-staticiforme do_step finished-signing-clean-linux-signer View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser] Deleted tag mullvad-browser-115.16.0esr-13.5-1-build2
by morgan (@morgan) 01 Oct '24

01 Oct '24
morgan deleted tag mullvad-browser-115.16.0esr-13.5-1-build2 at The Tor Project / Applications / Tor Browser -- 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.16.0esr-13.5-1-build2
by morgan (@morgan) 01 Oct '24

01 Oct '24
morgan pushed new tag mullvad-browser-115.16.0esr-13.5-1-build2 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/tor-browser][base-browser-128.3.0esr-14.0-1] Bug 42716: Disable unwanted about: pages
by morgan (@morgan) 01 Oct '24

01 Oct '24
morgan pushed to branch base-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 520cda9e by Morgan at 2024-10-01T20:36:57+00:00 Bug 42716: Disable unwanted about: pages - - - - - 5 changed files: - browser/components/about/AboutRedirector.cpp - browser/components/about/components.conf - docshell/base/nsAboutRedirector.cpp - docshell/build/components.conf - toolkit/content/jar.mn Changes: ===================================== browser/components/about/AboutRedirector.cpp ===================================== @@ -86,9 +86,11 @@ static const RedirEntry kRedirMap[] = { {"rights", "chrome://global/content/aboutRights.xhtml", nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI}, +#ifndef BASE_BROWSER_VERSION {"robots", "chrome://browser/content/aboutRobots.xhtml", nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | nsIAboutModule::ALLOW_SCRIPT}, +#endif {"sessionrestore", "chrome://browser/content/aboutSessionRestore.xhtml", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::HIDE_FROM_ABOUTABOUT | nsIAboutModule::IS_SECURE_CHROME_UI}, ===================================== browser/components/about/components.conf ===================================== @@ -23,7 +23,7 @@ pages = [ 'reader', 'restartrequired', 'rights', - 'robots', + # Removed 'robots'. tor-browser#42831. 'sessionrestore', 'settings', # Removed 'shoppingsidebar'. tor-browser#42831. ===================================== docshell/base/nsAboutRedirector.cpp ===================================== @@ -135,8 +135,10 @@ static const RedirEntry kRedirMap[] = { nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS | nsIAboutModule::IS_SECURE_CHROME_UI}, +#ifndef BASE_BROWSER_VERSION {"mozilla", "chrome://global/content/mozilla.html", nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT}, +#endif #if !defined(ANDROID) && !defined(XP_WIN) {"webauthn", "chrome://global/content/aboutWebauthn.html", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI}, @@ -181,15 +183,17 @@ static const RedirEntry kRedirMap[] = { {"windows-messages", "chrome://global/content/aboutWindowsMessages.html", nsIAboutModule::ALLOW_SCRIPT}, #endif -#ifndef MOZ_GLEAN_ANDROID +#ifdef MOZ_TELEMETRY_REPORTING +# ifndef MOZ_GLEAN_ANDROID {"glean", "chrome://global/content/aboutGlean.html", -# if !defined(NIGHTLY_BUILD) && defined(MOZILLA_OFFICIAL) +# if !defined(NIGHTLY_BUILD) && defined(MOZILLA_OFFICIAL) nsIAboutModule::HIDE_FROM_ABOUTABOUT | -# endif +# endif nsIAboutModule::ALLOW_SCRIPT}, -#endif +# endif {"telemetry", "chrome://global/content/aboutTelemetry.xhtml", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI}, +#endif {"translations", "chrome://global/content/translations/translations.html", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | @@ -200,8 +204,10 @@ static const RedirEntry kRedirMap[] = { {"url-classifier", "chrome://global/content/aboutUrlClassifier.xhtml", nsIAboutModule::ALLOW_SCRIPT}, #endif +#ifdef MOZ_WEBRTC {"webrtc", "chrome://global/content/aboutwebrtc/aboutWebrtc.html", nsIAboutModule::ALLOW_SCRIPT}, +#endif {"crashparent", "about:blank", nsIAboutModule::HIDE_FROM_ABOUTABOUT}, {"crashcontent", "about:blank", nsIAboutModule::HIDE_FROM_ABOUTABOUT | ===================================== docshell/build/components.conf ===================================== @@ -22,7 +22,7 @@ about_pages = [ 'logging', 'logo', 'memory', - 'mozilla', + # Removed 'mozilla'. tor-browser#42831. 'neterror', 'networking', 'performance', @@ -30,20 +30,22 @@ about_pages = [ 'serviceworkers', 'srcdoc', 'support', - 'telemetry', 'translations', - 'url-classifier', - 'webrtc', + # Removed 'url-classifier'. tor-browser#42831. ] if defined('MOZ_CRASHREPORTER'): about_pages.append('crashes') +if defined('MOZ_TELEMETRY_REPORTING'): + about_pages.append('telemetry') +if defined('MOZ_WEBRTC'): + about_pages.append('webrtc') if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android': about_pages.append('profiles') if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] == 'windows': about_pages.append('third-party') about_pages.append('windows-messages') -if not defined('MOZ_GLEAN_ANDROID'): +if defined('MOZ_TELEMETRY_REPORTING') and not defined('MOZ_GLEAN_ANDROID'): about_pages.append('glean') if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android' and buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'windows': about_pages.append('webauthn') ===================================== toolkit/content/jar.mn ===================================== @@ -23,6 +23,7 @@ toolkit.jar: #endif content/global/aboutServiceWorkers.js content/global/aboutServiceWorkers.xhtml +#ifdef MOZ_WEBRTC content/global/aboutwebrtc/aboutWebrtc.css (aboutwebrtc/aboutWebrtc.css) content/global/aboutwebrtc/aboutWebrtc.mjs (aboutwebrtc/aboutWebrtc.mjs) content/global/aboutwebrtc/graph.mjs (aboutwebrtc/graph.mjs) @@ -31,16 +32,19 @@ toolkit.jar: content/global/aboutwebrtc/disclosure.mjs (aboutwebrtc/disclosure.mjs) content/global/aboutwebrtc/copyButton.mjs (aboutwebrtc/copyButton.mjs) content/global/aboutwebrtc/aboutWebrtc.html (aboutwebrtc/aboutWebrtc.html) +#endif content/global/aboutSupport.js * content/global/aboutSupport.xhtml -#ifndef MOZ_GLEAN_ANDROID +#ifdef MOZ_TELEMETRY_REPORTING +# ifndef MOZ_GLEAN_ANDROID content/global/aboutGlean.js content/global/aboutGlean.html content/global/aboutGlean.css -#endif +# endif content/global/aboutTelemetry.js content/global/aboutTelemetry.xhtml content/global/aboutTelemetry.css +#endif content/global/aboutUrlClassifier.js content/global/aboutUrlClassifier.xhtml content/global/aboutUrlClassifier.css View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/520cda9… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/520cda9… 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.3.0esr-14.0-1] Bug 42716: Disable unwanted about: pages
by morgan (@morgan) 01 Oct '24

01 Oct '24
morgan pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 9921cbc8 by Morgan at 2024-10-01T20:31:28+00:00 Bug 42716: Disable unwanted about: pages - - - - - 5 changed files: - browser/components/about/AboutRedirector.cpp - browser/components/about/components.conf - docshell/base/nsAboutRedirector.cpp - docshell/build/components.conf - toolkit/content/jar.mn Changes: ===================================== browser/components/about/AboutRedirector.cpp ===================================== @@ -91,9 +91,11 @@ static const RedirEntry kRedirMap[] = { {"rights", "chrome://global/content/aboutRights.xhtml", nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI}, +#ifndef BASE_BROWSER_VERSION {"robots", "chrome://browser/content/aboutRobots.xhtml", nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | nsIAboutModule::ALLOW_SCRIPT}, +#endif {"rulesets", "chrome://browser/content/rulesets/aboutRulesets.html", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS | ===================================== browser/components/about/components.conf ===================================== @@ -24,7 +24,7 @@ pages = [ 'reader', 'restartrequired', 'rights', - 'robots', + # Removed 'robots'. tor-browser#42831. 'rulesets', 'sessionrestore', 'settings', ===================================== docshell/base/nsAboutRedirector.cpp ===================================== @@ -135,8 +135,10 @@ static const RedirEntry kRedirMap[] = { nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS | nsIAboutModule::IS_SECURE_CHROME_UI}, +#ifndef BASE_BROWSER_VERSION {"mozilla", "chrome://global/content/mozilla.html", nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT}, +#endif #if !defined(ANDROID) && !defined(XP_WIN) {"webauthn", "chrome://global/content/aboutWebauthn.html", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI}, @@ -181,15 +183,17 @@ static const RedirEntry kRedirMap[] = { {"windows-messages", "chrome://global/content/aboutWindowsMessages.html", nsIAboutModule::ALLOW_SCRIPT}, #endif -#ifndef MOZ_GLEAN_ANDROID +#ifdef MOZ_TELEMETRY_REPORTING +# ifndef MOZ_GLEAN_ANDROID {"glean", "chrome://global/content/aboutGlean.html", -# if !defined(NIGHTLY_BUILD) && defined(MOZILLA_OFFICIAL) +# if !defined(NIGHTLY_BUILD) && defined(MOZILLA_OFFICIAL) nsIAboutModule::HIDE_FROM_ABOUTABOUT | -# endif +# endif nsIAboutModule::ALLOW_SCRIPT}, -#endif +# endif {"telemetry", "chrome://global/content/aboutTelemetry.xhtml", nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI}, +#endif {"torconnect", "chrome://global/content/torconnect/aboutTorConnect.html", nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT | nsIAboutModule::URI_CAN_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT | @@ -205,8 +209,10 @@ static const RedirEntry kRedirMap[] = { {"url-classifier", "chrome://global/content/aboutUrlClassifier.xhtml", nsIAboutModule::ALLOW_SCRIPT}, #endif +#ifdef MOZ_WEBRTC {"webrtc", "chrome://global/content/aboutwebrtc/aboutWebrtc.html", nsIAboutModule::ALLOW_SCRIPT}, +#endif {"crashparent", "about:blank", nsIAboutModule::HIDE_FROM_ABOUTABOUT}, {"crashcontent", "about:blank", nsIAboutModule::HIDE_FROM_ABOUTABOUT | ===================================== docshell/build/components.conf ===================================== @@ -22,7 +22,7 @@ about_pages = [ 'logging', 'logo', 'memory', - 'mozilla', + # Removed 'mozilla'. tor-browser#42831. 'neterror', 'networking', 'performance', @@ -30,22 +30,24 @@ about_pages = [ 'serviceworkers', 'srcdoc', 'support', - 'telemetry', 'torconnect', 'translations', 'tor', - 'url-classifier', - 'webrtc', + # Removed 'url-classifier'. tor-browser#42831. ] if defined('MOZ_CRASHREPORTER'): about_pages.append('crashes') +if defined('MOZ_TELEMETRY_REPORTING'): + about_pages.append('telemetry') +if defined('MOZ_WEBRTC'): + about_pages.append('webrtc') if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android': about_pages.append('profiles') if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] == 'windows': about_pages.append('third-party') about_pages.append('windows-messages') -if not defined('MOZ_GLEAN_ANDROID'): +if defined('MOZ_TELEMETRY_REPORTING') and not defined('MOZ_GLEAN_ANDROID'): about_pages.append('glean') if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'android' and buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'windows': about_pages.append('webauthn') ===================================== toolkit/content/jar.mn ===================================== @@ -23,6 +23,7 @@ toolkit.jar: #endif content/global/aboutServiceWorkers.js content/global/aboutServiceWorkers.xhtml +#ifdef MOZ_WEBRTC content/global/aboutwebrtc/aboutWebrtc.css (aboutwebrtc/aboutWebrtc.css) content/global/aboutwebrtc/aboutWebrtc.mjs (aboutwebrtc/aboutWebrtc.mjs) content/global/aboutwebrtc/graph.mjs (aboutwebrtc/graph.mjs) @@ -31,16 +32,19 @@ toolkit.jar: content/global/aboutwebrtc/disclosure.mjs (aboutwebrtc/disclosure.mjs) content/global/aboutwebrtc/copyButton.mjs (aboutwebrtc/copyButton.mjs) content/global/aboutwebrtc/aboutWebrtc.html (aboutwebrtc/aboutWebrtc.html) +#endif content/global/aboutSupport.js * content/global/aboutSupport.xhtml -#ifndef MOZ_GLEAN_ANDROID +#ifdef MOZ_TELEMETRY_REPORTING +# ifndef MOZ_GLEAN_ANDROID content/global/aboutGlean.js content/global/aboutGlean.html content/global/aboutGlean.css -#endif +# endif content/global/aboutTelemetry.js content/global/aboutTelemetry.xhtml content/global/aboutTelemetry.css +#endif content/global/aboutUrlClassifier.js content/global/aboutUrlClassifier.xhtml content/global/aboutUrlClassifier.css View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9921cbc… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/9921cbc… 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.3.0esr-14.0-1] Bug 1911745 - Unify BrowsingContext flag coherency checks, r=mccr8
by ma1 (@ma1) 01 Oct '24

01 Oct '24
ma1 pushed to branch mullvad-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Mullvad Browser Commits: 6e72b4ae by Nika Layzell at 2024-10-01T22:29:48+02:00 Bug 1911745 - Unify BrowsingContext flag coherency checks, r=mccr8 Previously these checks were largely diagnostic tools for finding bugs in other code as it evolves. This unifies the checks a bit more and makes them stronger for BrowsingContexts created over IPC, providing a place for more coherency checks to be added in the future. Differential Revision: https://phabricator.services.mozilla.com/D218860 - - - - - 2 changed files: - docshell/base/BrowsingContext.cpp - docshell/base/BrowsingContext.h Changes: ===================================== docshell/base/BrowsingContext.cpp ===================================== @@ -578,9 +578,20 @@ mozilla::ipc::IPCResult BrowsingContext::CreateFromIPC( context->mRequestContextId = aInit.mRequestContextId; // NOTE: Private browsing ID is set by `SetOriginAttributes`. + if (const char* failure = + context->BrowsingContextCoherencyChecks(aOriginProcess)) { + mozilla::ipc::IProtocol* actor = aOriginProcess; + if (!actor) { + actor = ContentChild::GetSingleton(); + } + return IPC_FAIL_UNSAFE_PRINTF(actor, "Incoherent BrowsingContext: %s", + failure); + } + Register(context); - return context->Attach(/* aFromIPC */ true, aOriginProcess); + context->Attach(/* aFromIPC */ true, aOriginProcess); + return IPC_OK(); } BrowsingContext::BrowsingContext(WindowContext* aParentWindow, @@ -795,8 +806,64 @@ void BrowsingContext::Embed() { } } -mozilla::ipc::IPCResult BrowsingContext::Attach(bool aFromIPC, - ContentParent* aOriginProcess) { +const char* BrowsingContext::BrowsingContextCoherencyChecks( + ContentParent* aOriginProcess) { +#define COHERENCY_ASSERT(condition) \ + if (!(condition)) return "Assertion " #condition " failed"; + + if (mGroup->IsPotentiallyCrossOriginIsolated() != + (Top()->GetOpenerPolicy() == + nsILoadInfo::OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP)) { + return "Invalid CrossOriginIsolated state"; + } + + if (aOriginProcess && !IsContent()) { + return "Content cannot create chrome BCs"; + } + + // LoadContext should generally match our opener or parent. + if (IsContent()) { + if (RefPtr<BrowsingContext> opener = GetOpener()) { + COHERENCY_ASSERT(opener->mType == mType); + COHERENCY_ASSERT(opener->mGroup == mGroup); + COHERENCY_ASSERT(opener->mUseRemoteTabs == mUseRemoteTabs); + COHERENCY_ASSERT(opener->mUseRemoteSubframes == mUseRemoteSubframes); + COHERENCY_ASSERT(opener->mPrivateBrowsingId == mPrivateBrowsingId); + COHERENCY_ASSERT( + opener->mOriginAttributes.EqualsIgnoringFPD(mOriginAttributes)); + } + } + if (RefPtr<BrowsingContext> parent = GetParent()) { + COHERENCY_ASSERT(parent->mType == mType); + COHERENCY_ASSERT(parent->mGroup == mGroup); + COHERENCY_ASSERT(parent->mUseRemoteTabs == mUseRemoteTabs); + COHERENCY_ASSERT(parent->mUseRemoteSubframes == mUseRemoteSubframes); + COHERENCY_ASSERT(parent->mPrivateBrowsingId == mPrivateBrowsingId); + COHERENCY_ASSERT( + parent->mOriginAttributes.EqualsIgnoringFPD(mOriginAttributes)); + } + + // UseRemoteSubframes and UseRemoteTabs must match. + if (mUseRemoteSubframes && !mUseRemoteTabs) { + return "Cannot set useRemoteSubframes without also setting useRemoteTabs"; + } + + // Double-check OriginAttributes/Private Browsing + // Chrome browsing contexts must not have a private browsing OriginAttribute + // Content browsing contexts must maintain the equality: + // mOriginAttributes.mPrivateBrowsingId == mPrivateBrowsingId + if (IsChrome()) { + COHERENCY_ASSERT(mOriginAttributes.mPrivateBrowsingId == 0); + } else { + COHERENCY_ASSERT(mOriginAttributes.mPrivateBrowsingId == + mPrivateBrowsingId); + } +#undef COHERENCY_ASSERT + + return nullptr; +} + +void BrowsingContext::Attach(bool aFromIPC, ContentParent* aOriginProcess) { MOZ_DIAGNOSTIC_ASSERT(!mEverAttached); MOZ_DIAGNOSTIC_ASSERT_IF(aFromIPC, aOriginProcess || XRE_IsContentProcess()); mEverAttached = true; @@ -815,25 +882,15 @@ mozilla::ipc::IPCResult BrowsingContext::Attach(bool aFromIPC, MOZ_DIAGNOSTIC_ASSERT(mGroup); MOZ_DIAGNOSTIC_ASSERT(!mIsDiscarded); - if (mGroup->IsPotentiallyCrossOriginIsolated() != - (Top()->GetOpenerPolicy() == - nsILoadInfo::OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP)) { - MOZ_DIAGNOSTIC_ASSERT(aFromIPC); - if (aFromIPC) { - auto* actor = aOriginProcess - ? static_cast<mozilla::ipc::IProtocol*>(aOriginProcess) - : static_cast<mozilla::ipc::IProtocol*>( - ContentChild::GetSingleton()); - return IPC_FAIL( - actor, - "Invalid CrossOriginIsolated state in BrowsingContext::Attach call"); - } else { - MOZ_CRASH( - "Invalid CrossOriginIsolated state in BrowsingContext::Attach call"); +#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED + // We'll already have checked this if `aFromIPC` is set before calling this + // function. + if (!aFromIPC) { + if (const char* failure = BrowsingContextCoherencyChecks(aOriginProcess)) { + MOZ_CRASH_UNSAFE_PRINTF("Incoherent BrowsingContext: %s", failure); } } - - AssertCoherentLoadContext(); +#endif // Add ourselves either to our parent or BrowsingContextGroup's child list. // Important: We shouldn't return IPC_FAIL after this point, since the @@ -915,7 +972,6 @@ mozilla::ipc::IPCResult BrowsingContext::Attach(bool aFromIPC, if (XRE_IsParentProcess()) { Canonical()->CanonicalAttach(); } - return IPC_OK(); } void BrowsingContext::Detach(bool aFromIPC) { @@ -1768,40 +1824,6 @@ nsresult BrowsingContext::SetOriginAttributes(const OriginAttributes& aAttrs) { return NS_OK; } -void BrowsingContext::AssertCoherentLoadContext() { -#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED - // LoadContext should generally match our opener or parent. - if (IsContent()) { - if (RefPtr<BrowsingContext> opener = GetOpener()) { - MOZ_DIAGNOSTIC_ASSERT(opener->mType == mType); - MOZ_DIAGNOSTIC_ASSERT(opener->mGroup == mGroup); - MOZ_DIAGNOSTIC_ASSERT(opener->mUseRemoteTabs == mUseRemoteTabs); - MOZ_DIAGNOSTIC_ASSERT(opener->mUseRemoteSubframes == mUseRemoteSubframes); - MOZ_DIAGNOSTIC_ASSERT(opener->mPrivateBrowsingId == mPrivateBrowsingId); - MOZ_DIAGNOSTIC_ASSERT( - opener->mOriginAttributes.EqualsIgnoringFPD(mOriginAttributes)); - } - } - if (RefPtr<BrowsingContext> parent = GetParent()) { - MOZ_DIAGNOSTIC_ASSERT(parent->mType == mType); - MOZ_DIAGNOSTIC_ASSERT(parent->mGroup == mGroup); - MOZ_DIAGNOSTIC_ASSERT(parent->mUseRemoteTabs == mUseRemoteTabs); - MOZ_DIAGNOSTIC_ASSERT(parent->mUseRemoteSubframes == mUseRemoteSubframes); - MOZ_DIAGNOSTIC_ASSERT(parent->mPrivateBrowsingId == mPrivateBrowsingId); - MOZ_DIAGNOSTIC_ASSERT( - parent->mOriginAttributes.EqualsIgnoringFPD(mOriginAttributes)); - } - - // UseRemoteSubframes and UseRemoteTabs must match. - MOZ_DIAGNOSTIC_ASSERT( - !mUseRemoteSubframes || mUseRemoteTabs, - "Cannot set useRemoteSubframes without also setting useRemoteTabs"); - - // Double-check OriginAttributes/Private Browsing - AssertOriginAttributesMatchPrivateBrowsing(); -#endif -} - void BrowsingContext::AssertOriginAttributesMatchPrivateBrowsing() { // Chrome browsing contexts must not have a private browsing OriginAttribute // Content browsing contexts must maintain the equality: ===================================== docshell/base/BrowsingContext.h ===================================== @@ -984,7 +984,18 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { bool aHasPostData); private: - mozilla::ipc::IPCResult Attach(bool aFromIPC, ContentParent* aOriginProcess); + // Assert that this BrowsingContext is coherent relative to related + // BrowsingContexts. This will be run before the BrowsingContext is attached. + // + // A non-null string return value indicates that there was a coherency check + // failure, which will be handled with either a crash or IPC failure. + // + // If provided, `aOriginProcess` is the process which is responsible for the + // creation of this BrowsingContext. + [[nodiscard]] const char* BrowsingContextCoherencyChecks( + ContentParent* aOriginProcess); + + void Attach(bool aFromIPC, ContentParent* aOriginProcess); // Recomputes whether we can execute scripts in this BrowsingContext based on // the value of AllowJavascript() and whether scripts are allowed in the @@ -998,10 +1009,6 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { void AssertOriginAttributesMatchPrivateBrowsing(); - // Assert that the BrowsingContext's LoadContext flags appear coherent - // relative to related BrowsingContexts. - void AssertCoherentLoadContext(); - friend class ::nsOuterWindowProxy; friend class ::nsGlobalWindowOuter; friend class WindowContext; View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/6e7… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/commit/6e7… 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.3.0esr-14.0-1] Bug 1911745 - Unify BrowsingContext flag coherency checks, r=mccr8
by ma1 (@ma1) 01 Oct '24

01 Oct '24
ma1 pushed to branch base-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: eda9f7de by Nika Layzell at 2024-10-01T22:29:35+02:00 Bug 1911745 - Unify BrowsingContext flag coherency checks, r=mccr8 Previously these checks were largely diagnostic tools for finding bugs in other code as it evolves. This unifies the checks a bit more and makes them stronger for BrowsingContexts created over IPC, providing a place for more coherency checks to be added in the future. Differential Revision: https://phabricator.services.mozilla.com/D218860 - - - - - 2 changed files: - docshell/base/BrowsingContext.cpp - docshell/base/BrowsingContext.h Changes: ===================================== docshell/base/BrowsingContext.cpp ===================================== @@ -578,9 +578,20 @@ mozilla::ipc::IPCResult BrowsingContext::CreateFromIPC( context->mRequestContextId = aInit.mRequestContextId; // NOTE: Private browsing ID is set by `SetOriginAttributes`. + if (const char* failure = + context->BrowsingContextCoherencyChecks(aOriginProcess)) { + mozilla::ipc::IProtocol* actor = aOriginProcess; + if (!actor) { + actor = ContentChild::GetSingleton(); + } + return IPC_FAIL_UNSAFE_PRINTF(actor, "Incoherent BrowsingContext: %s", + failure); + } + Register(context); - return context->Attach(/* aFromIPC */ true, aOriginProcess); + context->Attach(/* aFromIPC */ true, aOriginProcess); + return IPC_OK(); } BrowsingContext::BrowsingContext(WindowContext* aParentWindow, @@ -795,8 +806,64 @@ void BrowsingContext::Embed() { } } -mozilla::ipc::IPCResult BrowsingContext::Attach(bool aFromIPC, - ContentParent* aOriginProcess) { +const char* BrowsingContext::BrowsingContextCoherencyChecks( + ContentParent* aOriginProcess) { +#define COHERENCY_ASSERT(condition) \ + if (!(condition)) return "Assertion " #condition " failed"; + + if (mGroup->IsPotentiallyCrossOriginIsolated() != + (Top()->GetOpenerPolicy() == + nsILoadInfo::OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP)) { + return "Invalid CrossOriginIsolated state"; + } + + if (aOriginProcess && !IsContent()) { + return "Content cannot create chrome BCs"; + } + + // LoadContext should generally match our opener or parent. + if (IsContent()) { + if (RefPtr<BrowsingContext> opener = GetOpener()) { + COHERENCY_ASSERT(opener->mType == mType); + COHERENCY_ASSERT(opener->mGroup == mGroup); + COHERENCY_ASSERT(opener->mUseRemoteTabs == mUseRemoteTabs); + COHERENCY_ASSERT(opener->mUseRemoteSubframes == mUseRemoteSubframes); + COHERENCY_ASSERT(opener->mPrivateBrowsingId == mPrivateBrowsingId); + COHERENCY_ASSERT( + opener->mOriginAttributes.EqualsIgnoringFPD(mOriginAttributes)); + } + } + if (RefPtr<BrowsingContext> parent = GetParent()) { + COHERENCY_ASSERT(parent->mType == mType); + COHERENCY_ASSERT(parent->mGroup == mGroup); + COHERENCY_ASSERT(parent->mUseRemoteTabs == mUseRemoteTabs); + COHERENCY_ASSERT(parent->mUseRemoteSubframes == mUseRemoteSubframes); + COHERENCY_ASSERT(parent->mPrivateBrowsingId == mPrivateBrowsingId); + COHERENCY_ASSERT( + parent->mOriginAttributes.EqualsIgnoringFPD(mOriginAttributes)); + } + + // UseRemoteSubframes and UseRemoteTabs must match. + if (mUseRemoteSubframes && !mUseRemoteTabs) { + return "Cannot set useRemoteSubframes without also setting useRemoteTabs"; + } + + // Double-check OriginAttributes/Private Browsing + // Chrome browsing contexts must not have a private browsing OriginAttribute + // Content browsing contexts must maintain the equality: + // mOriginAttributes.mPrivateBrowsingId == mPrivateBrowsingId + if (IsChrome()) { + COHERENCY_ASSERT(mOriginAttributes.mPrivateBrowsingId == 0); + } else { + COHERENCY_ASSERT(mOriginAttributes.mPrivateBrowsingId == + mPrivateBrowsingId); + } +#undef COHERENCY_ASSERT + + return nullptr; +} + +void BrowsingContext::Attach(bool aFromIPC, ContentParent* aOriginProcess) { MOZ_DIAGNOSTIC_ASSERT(!mEverAttached); MOZ_DIAGNOSTIC_ASSERT_IF(aFromIPC, aOriginProcess || XRE_IsContentProcess()); mEverAttached = true; @@ -815,25 +882,15 @@ mozilla::ipc::IPCResult BrowsingContext::Attach(bool aFromIPC, MOZ_DIAGNOSTIC_ASSERT(mGroup); MOZ_DIAGNOSTIC_ASSERT(!mIsDiscarded); - if (mGroup->IsPotentiallyCrossOriginIsolated() != - (Top()->GetOpenerPolicy() == - nsILoadInfo::OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP)) { - MOZ_DIAGNOSTIC_ASSERT(aFromIPC); - if (aFromIPC) { - auto* actor = aOriginProcess - ? static_cast<mozilla::ipc::IProtocol*>(aOriginProcess) - : static_cast<mozilla::ipc::IProtocol*>( - ContentChild::GetSingleton()); - return IPC_FAIL( - actor, - "Invalid CrossOriginIsolated state in BrowsingContext::Attach call"); - } else { - MOZ_CRASH( - "Invalid CrossOriginIsolated state in BrowsingContext::Attach call"); +#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED + // We'll already have checked this if `aFromIPC` is set before calling this + // function. + if (!aFromIPC) { + if (const char* failure = BrowsingContextCoherencyChecks(aOriginProcess)) { + MOZ_CRASH_UNSAFE_PRINTF("Incoherent BrowsingContext: %s", failure); } } - - AssertCoherentLoadContext(); +#endif // Add ourselves either to our parent or BrowsingContextGroup's child list. // Important: We shouldn't return IPC_FAIL after this point, since the @@ -915,7 +972,6 @@ mozilla::ipc::IPCResult BrowsingContext::Attach(bool aFromIPC, if (XRE_IsParentProcess()) { Canonical()->CanonicalAttach(); } - return IPC_OK(); } void BrowsingContext::Detach(bool aFromIPC) { @@ -1768,40 +1824,6 @@ nsresult BrowsingContext::SetOriginAttributes(const OriginAttributes& aAttrs) { return NS_OK; } -void BrowsingContext::AssertCoherentLoadContext() { -#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED - // LoadContext should generally match our opener or parent. - if (IsContent()) { - if (RefPtr<BrowsingContext> opener = GetOpener()) { - MOZ_DIAGNOSTIC_ASSERT(opener->mType == mType); - MOZ_DIAGNOSTIC_ASSERT(opener->mGroup == mGroup); - MOZ_DIAGNOSTIC_ASSERT(opener->mUseRemoteTabs == mUseRemoteTabs); - MOZ_DIAGNOSTIC_ASSERT(opener->mUseRemoteSubframes == mUseRemoteSubframes); - MOZ_DIAGNOSTIC_ASSERT(opener->mPrivateBrowsingId == mPrivateBrowsingId); - MOZ_DIAGNOSTIC_ASSERT( - opener->mOriginAttributes.EqualsIgnoringFPD(mOriginAttributes)); - } - } - if (RefPtr<BrowsingContext> parent = GetParent()) { - MOZ_DIAGNOSTIC_ASSERT(parent->mType == mType); - MOZ_DIAGNOSTIC_ASSERT(parent->mGroup == mGroup); - MOZ_DIAGNOSTIC_ASSERT(parent->mUseRemoteTabs == mUseRemoteTabs); - MOZ_DIAGNOSTIC_ASSERT(parent->mUseRemoteSubframes == mUseRemoteSubframes); - MOZ_DIAGNOSTIC_ASSERT(parent->mPrivateBrowsingId == mPrivateBrowsingId); - MOZ_DIAGNOSTIC_ASSERT( - parent->mOriginAttributes.EqualsIgnoringFPD(mOriginAttributes)); - } - - // UseRemoteSubframes and UseRemoteTabs must match. - MOZ_DIAGNOSTIC_ASSERT( - !mUseRemoteSubframes || mUseRemoteTabs, - "Cannot set useRemoteSubframes without also setting useRemoteTabs"); - - // Double-check OriginAttributes/Private Browsing - AssertOriginAttributesMatchPrivateBrowsing(); -#endif -} - void BrowsingContext::AssertOriginAttributesMatchPrivateBrowsing() { // Chrome browsing contexts must not have a private browsing OriginAttribute // Content browsing contexts must maintain the equality: ===================================== docshell/base/BrowsingContext.h ===================================== @@ -984,7 +984,18 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { bool aHasPostData); private: - mozilla::ipc::IPCResult Attach(bool aFromIPC, ContentParent* aOriginProcess); + // Assert that this BrowsingContext is coherent relative to related + // BrowsingContexts. This will be run before the BrowsingContext is attached. + // + // A non-null string return value indicates that there was a coherency check + // failure, which will be handled with either a crash or IPC failure. + // + // If provided, `aOriginProcess` is the process which is responsible for the + // creation of this BrowsingContext. + [[nodiscard]] const char* BrowsingContextCoherencyChecks( + ContentParent* aOriginProcess); + + void Attach(bool aFromIPC, ContentParent* aOriginProcess); // Recomputes whether we can execute scripts in this BrowsingContext based on // the value of AllowJavascript() and whether scripts are allowed in the @@ -998,10 +1009,6 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { void AssertOriginAttributesMatchPrivateBrowsing(); - // Assert that the BrowsingContext's LoadContext flags appear coherent - // relative to related BrowsingContexts. - void AssertCoherentLoadContext(); - friend class ::nsOuterWindowProxy; friend class ::nsGlobalWindowOuter; friend class WindowContext; View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/eda9f7d… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/eda9f7d… 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.3.0esr-14.0-1] 3 commits: Bug 1906024 - Format download file names better a=diannaS
by ma1 (@ma1) 01 Oct '24

01 Oct '24
ma1 pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 42b4d421 by rahulsainani at 2024-10-01T17:58:48+02:00 Bug 1906024 - Format download file names better a=diannaS Original Revision: https://phabricator.services.mozilla.com/D220559 Differential Revision: https://phabricator.services.mozilla.com/D222254 - - - - - 5928c112 by rahulsainani at 2024-10-01T17:58:55+02:00 Bug 1906024 - Format download file names a=diannaS Original Revision: https://phabricator.services.mozilla.com/D221771 Differential Revision: https://phabricator.services.mozilla.com/D222259 - - - - - e139ad27 by Nika Layzell at 2024-10-01T18:01:23+02:00 Bug 1911745 - Unify BrowsingContext flag coherency checks, r=mccr8 Previously these checks were largely diagnostic tools for finding bugs in other code as it evolves. This unifies the checks a bit more and makes them stronger for BrowsingContexts created over IPC, providing a place for more coherency checks to be added in the future. Differential Revision: https://phabricator.services.mozilla.com/D218860 - - - - - 4 changed files: - docshell/base/BrowsingContext.cpp - docshell/base/BrowsingContext.h - mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/kotlin/String.kt - mobile/android/android-components/components/support/ktx/src/test/java/mozilla/components/support/ktx/kotlin/StringTest.kt Changes: ===================================== docshell/base/BrowsingContext.cpp ===================================== @@ -578,9 +578,20 @@ mozilla::ipc::IPCResult BrowsingContext::CreateFromIPC( context->mRequestContextId = aInit.mRequestContextId; // NOTE: Private browsing ID is set by `SetOriginAttributes`. + if (const char* failure = + context->BrowsingContextCoherencyChecks(aOriginProcess)) { + mozilla::ipc::IProtocol* actor = aOriginProcess; + if (!actor) { + actor = ContentChild::GetSingleton(); + } + return IPC_FAIL_UNSAFE_PRINTF(actor, "Incoherent BrowsingContext: %s", + failure); + } + Register(context); - return context->Attach(/* aFromIPC */ true, aOriginProcess); + context->Attach(/* aFromIPC */ true, aOriginProcess); + return IPC_OK(); } BrowsingContext::BrowsingContext(WindowContext* aParentWindow, @@ -795,8 +806,64 @@ void BrowsingContext::Embed() { } } -mozilla::ipc::IPCResult BrowsingContext::Attach(bool aFromIPC, - ContentParent* aOriginProcess) { +const char* BrowsingContext::BrowsingContextCoherencyChecks( + ContentParent* aOriginProcess) { +#define COHERENCY_ASSERT(condition) \ + if (!(condition)) return "Assertion " #condition " failed"; + + if (mGroup->IsPotentiallyCrossOriginIsolated() != + (Top()->GetOpenerPolicy() == + nsILoadInfo::OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP)) { + return "Invalid CrossOriginIsolated state"; + } + + if (aOriginProcess && !IsContent()) { + return "Content cannot create chrome BCs"; + } + + // LoadContext should generally match our opener or parent. + if (IsContent()) { + if (RefPtr<BrowsingContext> opener = GetOpener()) { + COHERENCY_ASSERT(opener->mType == mType); + COHERENCY_ASSERT(opener->mGroup == mGroup); + COHERENCY_ASSERT(opener->mUseRemoteTabs == mUseRemoteTabs); + COHERENCY_ASSERT(opener->mUseRemoteSubframes == mUseRemoteSubframes); + COHERENCY_ASSERT(opener->mPrivateBrowsingId == mPrivateBrowsingId); + COHERENCY_ASSERT( + opener->mOriginAttributes.EqualsIgnoringFPD(mOriginAttributes)); + } + } + if (RefPtr<BrowsingContext> parent = GetParent()) { + COHERENCY_ASSERT(parent->mType == mType); + COHERENCY_ASSERT(parent->mGroup == mGroup); + COHERENCY_ASSERT(parent->mUseRemoteTabs == mUseRemoteTabs); + COHERENCY_ASSERT(parent->mUseRemoteSubframes == mUseRemoteSubframes); + COHERENCY_ASSERT(parent->mPrivateBrowsingId == mPrivateBrowsingId); + COHERENCY_ASSERT( + parent->mOriginAttributes.EqualsIgnoringFPD(mOriginAttributes)); + } + + // UseRemoteSubframes and UseRemoteTabs must match. + if (mUseRemoteSubframes && !mUseRemoteTabs) { + return "Cannot set useRemoteSubframes without also setting useRemoteTabs"; + } + + // Double-check OriginAttributes/Private Browsing + // Chrome browsing contexts must not have a private browsing OriginAttribute + // Content browsing contexts must maintain the equality: + // mOriginAttributes.mPrivateBrowsingId == mPrivateBrowsingId + if (IsChrome()) { + COHERENCY_ASSERT(mOriginAttributes.mPrivateBrowsingId == 0); + } else { + COHERENCY_ASSERT(mOriginAttributes.mPrivateBrowsingId == + mPrivateBrowsingId); + } +#undef COHERENCY_ASSERT + + return nullptr; +} + +void BrowsingContext::Attach(bool aFromIPC, ContentParent* aOriginProcess) { MOZ_DIAGNOSTIC_ASSERT(!mEverAttached); MOZ_DIAGNOSTIC_ASSERT_IF(aFromIPC, aOriginProcess || XRE_IsContentProcess()); mEverAttached = true; @@ -815,25 +882,15 @@ mozilla::ipc::IPCResult BrowsingContext::Attach(bool aFromIPC, MOZ_DIAGNOSTIC_ASSERT(mGroup); MOZ_DIAGNOSTIC_ASSERT(!mIsDiscarded); - if (mGroup->IsPotentiallyCrossOriginIsolated() != - (Top()->GetOpenerPolicy() == - nsILoadInfo::OPENER_POLICY_SAME_ORIGIN_EMBEDDER_POLICY_REQUIRE_CORP)) { - MOZ_DIAGNOSTIC_ASSERT(aFromIPC); - if (aFromIPC) { - auto* actor = aOriginProcess - ? static_cast<mozilla::ipc::IProtocol*>(aOriginProcess) - : static_cast<mozilla::ipc::IProtocol*>( - ContentChild::GetSingleton()); - return IPC_FAIL( - actor, - "Invalid CrossOriginIsolated state in BrowsingContext::Attach call"); - } else { - MOZ_CRASH( - "Invalid CrossOriginIsolated state in BrowsingContext::Attach call"); +#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED + // We'll already have checked this if `aFromIPC` is set before calling this + // function. + if (!aFromIPC) { + if (const char* failure = BrowsingContextCoherencyChecks(aOriginProcess)) { + MOZ_CRASH_UNSAFE_PRINTF("Incoherent BrowsingContext: %s", failure); } } - - AssertCoherentLoadContext(); +#endif // Add ourselves either to our parent or BrowsingContextGroup's child list. // Important: We shouldn't return IPC_FAIL after this point, since the @@ -915,7 +972,6 @@ mozilla::ipc::IPCResult BrowsingContext::Attach(bool aFromIPC, if (XRE_IsParentProcess()) { Canonical()->CanonicalAttach(); } - return IPC_OK(); } void BrowsingContext::Detach(bool aFromIPC) { @@ -1768,40 +1824,6 @@ nsresult BrowsingContext::SetOriginAttributes(const OriginAttributes& aAttrs) { return NS_OK; } -void BrowsingContext::AssertCoherentLoadContext() { -#ifdef MOZ_DIAGNOSTIC_ASSERT_ENABLED - // LoadContext should generally match our opener or parent. - if (IsContent()) { - if (RefPtr<BrowsingContext> opener = GetOpener()) { - MOZ_DIAGNOSTIC_ASSERT(opener->mType == mType); - MOZ_DIAGNOSTIC_ASSERT(opener->mGroup == mGroup); - MOZ_DIAGNOSTIC_ASSERT(opener->mUseRemoteTabs == mUseRemoteTabs); - MOZ_DIAGNOSTIC_ASSERT(opener->mUseRemoteSubframes == mUseRemoteSubframes); - MOZ_DIAGNOSTIC_ASSERT(opener->mPrivateBrowsingId == mPrivateBrowsingId); - MOZ_DIAGNOSTIC_ASSERT( - opener->mOriginAttributes.EqualsIgnoringFPD(mOriginAttributes)); - } - } - if (RefPtr<BrowsingContext> parent = GetParent()) { - MOZ_DIAGNOSTIC_ASSERT(parent->mType == mType); - MOZ_DIAGNOSTIC_ASSERT(parent->mGroup == mGroup); - MOZ_DIAGNOSTIC_ASSERT(parent->mUseRemoteTabs == mUseRemoteTabs); - MOZ_DIAGNOSTIC_ASSERT(parent->mUseRemoteSubframes == mUseRemoteSubframes); - MOZ_DIAGNOSTIC_ASSERT(parent->mPrivateBrowsingId == mPrivateBrowsingId); - MOZ_DIAGNOSTIC_ASSERT( - parent->mOriginAttributes.EqualsIgnoringFPD(mOriginAttributes)); - } - - // UseRemoteSubframes and UseRemoteTabs must match. - MOZ_DIAGNOSTIC_ASSERT( - !mUseRemoteSubframes || mUseRemoteTabs, - "Cannot set useRemoteSubframes without also setting useRemoteTabs"); - - // Double-check OriginAttributes/Private Browsing - AssertOriginAttributesMatchPrivateBrowsing(); -#endif -} - void BrowsingContext::AssertOriginAttributesMatchPrivateBrowsing() { // Chrome browsing contexts must not have a private browsing OriginAttribute // Content browsing contexts must maintain the equality: ===================================== docshell/base/BrowsingContext.h ===================================== @@ -984,7 +984,18 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { bool aHasPostData); private: - mozilla::ipc::IPCResult Attach(bool aFromIPC, ContentParent* aOriginProcess); + // Assert that this BrowsingContext is coherent relative to related + // BrowsingContexts. This will be run before the BrowsingContext is attached. + // + // A non-null string return value indicates that there was a coherency check + // failure, which will be handled with either a crash or IPC failure. + // + // If provided, `aOriginProcess` is the process which is responsible for the + // creation of this BrowsingContext. + [[nodiscard]] const char* BrowsingContextCoherencyChecks( + ContentParent* aOriginProcess); + + void Attach(bool aFromIPC, ContentParent* aOriginProcess); // Recomputes whether we can execute scripts in this BrowsingContext based on // the value of AllowJavascript() and whether scripts are allowed in the @@ -998,10 +1009,6 @@ class BrowsingContext : public nsILoadContext, public nsWrapperCache { void AssertOriginAttributesMatchPrivateBrowsing(); - // Assert that the BrowsingContext's LoadContext flags appear coherent - // relative to related BrowsingContexts. - void AssertCoherentLoadContext(); - friend class ::nsOuterWindowProxy; friend class ::nsGlobalWindowOuter; friend class WindowContext; ===================================== mobile/android/android-components/components/support/ktx/src/main/java/mozilla/components/support/ktx/kotlin/String.kt ===================================== @@ -53,6 +53,8 @@ const val MAX_URI_LENGTH = 25000 private const val FILE_PREFIX = "file://" private const val MAX_VALID_PORT = 65_535 +private const val SPACE = " " +private const val UNDERSCORE = "_" /** * Shortens URLs to be more user friendly. @@ -316,7 +318,9 @@ fun String.sanitizeFileName(): String { file.name.replace("\\.\\.+".toRegex(), ".") } else { file.name.replace(".", "") - }.replaceEscapedCharacters() + }.replaceContinuousSpaces() + .replaceEscapedCharacters() + .trim() } /** @@ -324,8 +328,16 @@ fun String.sanitizeFileName(): String { * and is correctly displayed. */ private fun String.replaceEscapedCharacters(): String { - val controlCharactersRegex = "[\\x00-\\x13/*\"?<>:|\\\\]".toRegex() - return replace(controlCharactersRegex, "_") + val escapedCharactersRegex = "[\\x00-\\x13*\"?<>:|\\\\]".toRegex() + return replace(escapedCharactersRegex, UNDERSCORE) +} + +/** + * Replaces continuous spaces with a single space. + */ +private fun String.replaceContinuousSpaces(): String { + val escapedCharactersRegex = "[\\p{Z}\\s]+".toRegex() + return replace(escapedCharactersRegex, SPACE) } /** ===================================== mobile/android/android-components/components/support/ktx/src/test/java/mozilla/components/support/ktx/kotlin/StringTest.kt ===================================== @@ -199,11 +199,11 @@ class StringTest { "acknowledge\u0006signal" to "acknowledge_signal", "bell\u0007sound" to "bell_sound", "back\u0008space" to "back_space", - "horizontal\u0009tab" to "horizontal_tab", - "new\u000Aline" to "new_line", - "vertical\u000Btab" to "vertical_tab", - "form\u000Cfeed" to "form_feed", - "return\u000Dcarriage" to "return_carriage", + "horizontal\u0009tab" to "horizontal tab", + "new\u000Aline" to "new line", + "vertical\u000Btab" to "vertical tab", + "form\u000Cfeed" to "form feed", + "return\u000Dcarriage" to "return carriage", "shift\u000Eout" to "shift_out", "shift\u000Fin" to "shift_in", "escape\u0010data" to "escape_data", View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/689b06… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/689b06… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build] Pushed new branch maint-13.5a11
by morgan (@morgan) 01 Oct '24

01 Oct '24
morgan pushed new branch maint-13.5a11 at The Tor Project / Applications / tor-browser-build -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/tree/mai… 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] release: new version, 13.5.6
by morgan (@morgan) 01 Oct '24

01 Oct '24
morgan pushed to branch main at The Tor Project / Applications / mullvad-browser-update-responses Commits: a7b0d4ca by Morgan at 2024-10-01T18:21:08+00:00 release: new version, 13.5.6 - - - - - 29 changed files: - update_1/release/.htaccess - − update_1/release/13.5-13.5.3-linux-x86_64-ALL.xml - − update_1/release/13.5-13.5.3-macos-ALL.xml - − update_1/release/13.5-13.5.3-windows-x86_64-ALL.xml - − update_1/release/13.5.1-13.5.3-linux-x86_64-ALL.xml - − update_1/release/13.5.1-13.5.3-macos-ALL.xml - − update_1/release/13.5.1-13.5.3-windows-x86_64-ALL.xml - + update_1/release/13.5.1-13.5.6-linux-x86_64-ALL.xml - + update_1/release/13.5.1-13.5.6-macos-ALL.xml - + update_1/release/13.5.1-13.5.6-windows-x86_64-ALL.xml - − update_1/release/13.5.2-13.5.3-linux-x86_64-ALL.xml - − update_1/release/13.5.2-13.5.3-macos-ALL.xml - − update_1/release/13.5.2-13.5.3-windows-x86_64-ALL.xml - + update_1/release/13.5.2-13.5.6-linux-x86_64-ALL.xml - + update_1/release/13.5.2-13.5.6-macos-ALL.xml - + update_1/release/13.5.2-13.5.6-windows-x86_64-ALL.xml - + update_1/release/13.5.3-13.5.6-linux-x86_64-ALL.xml - + update_1/release/13.5.3-13.5.6-macos-ALL.xml - + update_1/release/13.5.3-13.5.6-windows-x86_64-ALL.xml - − update_1/release/13.5.3-linux-x86_64-ALL.xml - − update_1/release/13.5.3-macos-ALL.xml - − update_1/release/13.5.3-windows-x86_64-ALL.xml - + update_1/release/13.5.6-linux-x86_64-ALL.xml - + update_1/release/13.5.6-macos-ALL.xml - + update_1/release/13.5.6-windows-x86_64-ALL.xml - update_1/release/download-linux-x86_64.json - update_1/release/download-macos.json - update_1/release/download-windows-x86_64.json - update_1/release/downloads.json Changes: ===================================== update_1/release/.htaccess ===================================== @@ -1,22 +1,22 @@ RewriteEngine On -RewriteRule ^[^/]+/13.5.3/ no-update.xml [last] -RewriteRule ^Linux_x86_64-gcc3/13.5/ALL 13.5-13.5.3-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/13.5.1/ALL 13.5.1-13.5.3-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/13.5.2/ALL 13.5.2-13.5.3-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/[^/]+/ALL 13.5.3-linux-x86_64-ALL.xml [last] -RewriteRule ^Linux_x86_64-gcc3/ 13.5.3-linux-x86_64-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/13.5/ALL 13.5-13.5.3-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/13.5.1/ALL 13.5.1-13.5.3-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/13.5.2/ALL 13.5.2-13.5.3-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/[^/]+/ALL 13.5.3-macos-ALL.xml [last] -RewriteRule ^Darwin_x86_64-gcc3/ 13.5.3-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/13.5/ALL 13.5-13.5.3-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/13.5.1/ALL 13.5.1-13.5.3-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/13.5.2/ALL 13.5.2-13.5.3-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/[^/]+/ALL 13.5.3-macos-ALL.xml [last] -RewriteRule ^Darwin_aarch64-gcc3/ 13.5.3-macos-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/13.5/ALL 13.5-13.5.3-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/13.5.1/ALL 13.5.1-13.5.3-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/13.5.2/ALL 13.5.2-13.5.3-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/[^/]+/ALL 13.5.3-windows-x86_64-ALL.xml [last] -RewriteRule ^WINNT_x86_64-gcc3-x64/ 13.5.3-windows-x86_64-ALL.xml [last] +RewriteRule ^[^/]+/13.5.6/ no-update.xml [last] +RewriteRule ^Linux_x86_64-gcc3/13.5.1/ALL 13.5.1-13.5.6-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/13.5.2/ALL 13.5.2-13.5.6-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/13.5.3/ALL 13.5.3-13.5.6-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/[^/]+/ALL 13.5.6-linux-x86_64-ALL.xml [last] +RewriteRule ^Linux_x86_64-gcc3/ 13.5.6-linux-x86_64-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/13.5.1/ALL 13.5.1-13.5.6-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/13.5.2/ALL 13.5.2-13.5.6-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/13.5.3/ALL 13.5.3-13.5.6-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/[^/]+/ALL 13.5.6-macos-ALL.xml [last] +RewriteRule ^Darwin_x86_64-gcc3/ 13.5.6-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/13.5.1/ALL 13.5.1-13.5.6-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/13.5.2/ALL 13.5.2-13.5.6-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/13.5.3/ALL 13.5.3-13.5.6-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/[^/]+/ALL 13.5.6-macos-ALL.xml [last] +RewriteRule ^Darwin_aarch64-gcc3/ 13.5.6-macos-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/13.5.1/ALL 13.5.1-13.5.6-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/13.5.2/ALL 13.5.2-13.5.6-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/13.5.3/ALL 13.5.3-13.5.6-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/[^/]+/ALL 13.5.6-windows-x86_64-ALL.xml [last] +RewriteRule ^WINNT_x86_64-gcc3-x64/ 13.5.6-windows-x86_64-ALL.xml [last] ===================================== update_1/release/13.5-13.5.3-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="13.5.3" appVersion="13.5.3" platformVersion="115.15.0" buildID="20240903073000" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-linux-x86_64-13.5.3_…" hashFunction="SHA512" hashValue="dc9228d0edf637fe171b3a5f81374cfaa78112877eb9bd8f1617aedb02d58258612eea64dfb6d7a89dff8536089627db40d5be03460529a322d0d391f85f80ca" size="108537331" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-linux-x86_64--13.5-1…" hashFunction="SHA512" hashValue="42a0143d23a3bb94515262449cd6481fc5ef7fb7f20b4d901dc5e6beaf8a46aa2f54e1af2e1227602c57e773cb3ba4707b1e45b4f2973cc319366a70db3d60a1" size="11672332" type="partial"></patch></update></updates> ===================================== update_1/release/13.5-13.5.3-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="13.5.3" appVersion="13.5.3" platformVersion="115.15.0" buildID="20240903073000" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-macos-13.5.3_ALL.mar" hashFunction="SHA512" hashValue="251a1b6961102a454f1e35645a7fb85a259018801437fd1a0069fd701dee461934a3184378e0648330c931a71e4c6817f049434406b279f6673af06a2140c462" size="115932183" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-macos--13.5-13.5.3_A…" hashFunction="SHA512" hashValue="736be650e6bffc5fa19ccc0424de07672901746004c22553c25e45808952af796f9322aee9c39d77879979df4f4440bb8c01f3d5681e22f971ddf164d6606c9f" size="15466803" type="partial"></patch></update></updates> ===================================== update_1/release/13.5-13.5.3-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="13.5.3" appVersion="13.5.3" platformVersion="115.15.0" buildID="20240903073000" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-windows-x86_64-13.5.…" hashFunction="SHA512" hashValue="0006e44ff67522342954b0475cffe92d4d7065a47e7c7e2964ce4e88110216923373c163125067b7a8c238dc8ee4650c950b9add295d4c3deac352663e1e5edf" size="90162344" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="9793e3aaba128f4a3391b2cd7b0a97f876b8a39211fbeb19c73b37c1002182e93bcd044bf68e0694a508e22cd89227ad12270a4c0985bac2c80ce6cca2d96c14" size="10945176" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.1-13.5.3-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="13.5.3" appVersion="13.5.3" platformVersion="115.15.0" buildID="20240903073000" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-linux-x86_64-13.5.3_…" hashFunction="SHA512" hashValue="dc9228d0edf637fe171b3a5f81374cfaa78112877eb9bd8f1617aedb02d58258612eea64dfb6d7a89dff8536089627db40d5be03460529a322d0d391f85f80ca" size="108537331" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-linux-x86_64--13.5.1…" hashFunction="SHA512" hashValue="8fb8e294c0db3548f078fce2f693c743923337210797c7a10b627e94cd3b6820b2898188fc3e6131054c90fefe8046744c2db515a0cf7931d9620840f788869f" size="10214120" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.1-13.5.3-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="13.5.3" appVersion="13.5.3" platformVersion="115.15.0" buildID="20240903073000" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-macos-13.5.3_ALL.mar" hashFunction="SHA512" hashValue="251a1b6961102a454f1e35645a7fb85a259018801437fd1a0069fd701dee461934a3184378e0648330c931a71e4c6817f049434406b279f6673af06a2140c462" size="115932183" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-macos--13.5.1-13.5.3…" hashFunction="SHA512" hashValue="265355cff22dd08d1a3ba2f7a28a91a8bd630836d5a241ab049b8866ce67aaf6e5eb9704baea0709ba4aa792915dc06eb9c02c3b4450466cc2934a3c6ea8494e" size="13834075" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.1-13.5.3-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="13.5.3" appVersion="13.5.3" platformVersion="115.15.0" buildID="20240903073000" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-windows-x86_64-13.5.…" hashFunction="SHA512" hashValue="0006e44ff67522342954b0475cffe92d4d7065a47e7c7e2964ce4e88110216923373c163125067b7a8c238dc8ee4650c950b9add295d4c3deac352663e1e5edf" size="90162344" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="10cdc7ce117160c44b6a1688d28fffb44718575efe57723b8627dd6add73930e8a993fb44a63215f112dfab0a2c4b1895a6210436f00b4a513eaa115043a0914" size="9669788" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.1-13.5.6-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="13.5.6" appVersion="13.5.6" platformVersion="115.16.0" buildID="20240930230510" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-linux-x86_64-13.5.6_…" hashFunction="SHA512" hashValue="9620c90cabb8bf83af95ba28abceac3632b0f0e9fc04a935ad67d661e58509e8ff45d50295f7fad23cad8b4463097e15a59b821a83ed58280cf697d896a50e4d" size="108542679" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-linux-x86_64--13.5.1…" hashFunction="SHA512" hashValue="f0c40051f0b8110fd39e7f21b6a4cf44fe83b1ba089959235fcfa713359d89bafb384e6e747e945bcc3c6144cb312704f3df7eb2ab62e53c26f18a90def91320" size="10612484" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.1-13.5.6-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="13.5.6" appVersion="13.5.6" platformVersion="115.16.0" buildID="20240930230510" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-macos-13.5.6_ALL.mar" hashFunction="SHA512" hashValue="b41b05e42b0c74f4a1815dfe6ffbb20ccfee0d22cda6de17c0afb1f3579e30c34f4e0ea1cf6a86d648beb200f54d4a962e2e1cf63329cb025a42594785cc50ff" size="115945715" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-macos--13.5.1-13.5.6…" hashFunction="SHA512" hashValue="72e41c2c46b1ad7356c3b1100f19364b12e02a91dca9569ab5cd7138b9a5c524e52a174c8781117e143796033744c20a9d42efa1ffede6652ddd43638971d001" size="14247375" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.1-13.5.6-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="13.5.6" appVersion="13.5.6" platformVersion="115.16.0" buildID="20240930230510" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-windows-x86_64-13.5.…" hashFunction="SHA512" hashValue="066692a2f7bd660a8899abb72a1f7e555c66a5927cdc073a7d69480c08e88f19828df09e0da310b9c69c65b026b03ec7f89a3a6bc415c18030d4aa237d006f2a" size="90184748" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="0eefada51ca927a67d51544b94a74e7c644893847f3b32f4ae50c17d7ac3c139ead4d1978d25c5ca4bc9997da54633c7af24e7f4f4c19a04e28a38361376f7a8" size="10220268" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.2-13.5.3-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="13.5.3" appVersion="13.5.3" platformVersion="115.15.0" buildID="20240903073000" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-linux-x86_64-13.5.3_…" hashFunction="SHA512" hashValue="dc9228d0edf637fe171b3a5f81374cfaa78112877eb9bd8f1617aedb02d58258612eea64dfb6d7a89dff8536089627db40d5be03460529a322d0d391f85f80ca" size="108537331" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-linux-x86_64--13.5.2…" hashFunction="SHA512" hashValue="c83637183b14c2c8f7db94489995fa383722d6072e013b31e472919a289bc70973c1369dae75e36b68e4a782fe2a754c0830d5891d19cce0d42ea6cb432d8ba8" size="6252302" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.2-13.5.3-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="13.5.3" appVersion="13.5.3" platformVersion="115.15.0" buildID="20240903073000" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-macos-13.5.3_ALL.mar" hashFunction="SHA512" hashValue="251a1b6961102a454f1e35645a7fb85a259018801437fd1a0069fd701dee461934a3184378e0648330c931a71e4c6817f049434406b279f6673af06a2140c462" size="115932183" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-macos--13.5.2-13.5.3…" hashFunction="SHA512" hashValue="5af87ba2d3286c871041a0000fef1e29e61eaeca3439fb0610e9257fd1114a93d2cc6797dbdaa4556da1a9fb6dd2815ebfa1d8963340f8250ee1c290d163d27a" size="10054890" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.2-13.5.3-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="13.5.3" appVersion="13.5.3" platformVersion="115.15.0" buildID="20240903073000" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-windows-x86_64-13.5.…" hashFunction="SHA512" hashValue="0006e44ff67522342954b0475cffe92d4d7065a47e7c7e2964ce4e88110216923373c163125067b7a8c238dc8ee4650c950b9add295d4c3deac352663e1e5edf" size="90162344" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="d565447daf652f520cb87e1044669edf291fbf08ee28fe413157a2f730f1db43ff8972306fe6703ec69905c3dce8a79ee54be8777febcdcd8f213ab6c2598610" size="6047450" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.2-13.5.6-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="13.5.6" appVersion="13.5.6" platformVersion="115.16.0" buildID="20240930230510" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-linux-x86_64-13.5.6_…" hashFunction="SHA512" hashValue="9620c90cabb8bf83af95ba28abceac3632b0f0e9fc04a935ad67d661e58509e8ff45d50295f7fad23cad8b4463097e15a59b821a83ed58280cf697d896a50e4d" size="108542679" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-linux-x86_64--13.5.2…" hashFunction="SHA512" hashValue="4f5bd89ee28b1f4a75647295f97ccaf7a7bda51b63cea098abc74a04edd7f7f96cd4f177e82bf2899f272d89db49b37a125bafa2ba969ea8099630bdf75d4d70" size="7013226" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.2-13.5.6-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="13.5.6" appVersion="13.5.6" platformVersion="115.16.0" buildID="20240930230510" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-macos-13.5.6_ALL.mar" hashFunction="SHA512" hashValue="b41b05e42b0c74f4a1815dfe6ffbb20ccfee0d22cda6de17c0afb1f3579e30c34f4e0ea1cf6a86d648beb200f54d4a962e2e1cf63329cb025a42594785cc50ff" size="115945715" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-macos--13.5.2-13.5.6…" hashFunction="SHA512" hashValue="d3e2501611221ba8d9eb76eb2ecb523582c2b0e3fb0f3f810a65f6f03350e50affca712a63977c89e87c778ffb6e82b9f523faf6cd47f20cb91397b9f7229a04" size="10602802" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.2-13.5.6-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="13.5.6" appVersion="13.5.6" platformVersion="115.16.0" buildID="20240930230510" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-windows-x86_64-13.5.…" hashFunction="SHA512" hashValue="066692a2f7bd660a8899abb72a1f7e555c66a5927cdc073a7d69480c08e88f19828df09e0da310b9c69c65b026b03ec7f89a3a6bc415c18030d4aa237d006f2a" size="90184748" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="3d423ac467ae74bf8a055fa9db2f252244c82fa4e334f043cfd0822ccbb05d2042c3420dfe684aa1c33a384c12a0b925798b8ecab9f153f813b71019398bb3f4" size="6750018" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.3-13.5.6-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="13.5.6" appVersion="13.5.6" platformVersion="115.16.0" buildID="20240930230510" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-linux-x86_64-13.5.6_…" hashFunction="SHA512" hashValue="9620c90cabb8bf83af95ba28abceac3632b0f0e9fc04a935ad67d661e58509e8ff45d50295f7fad23cad8b4463097e15a59b821a83ed58280cf697d896a50e4d" size="108542679" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-linux-x86_64--13.5.3…" hashFunction="SHA512" hashValue="b1d2dff541513220b3573eecfdb0afd9c71f4c9521b3601fa61fd0aa507156c5a851434edcc008925a5855b7897c792cc4c65d85283654caef17048a02e4efc4" size="5605850" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.3-13.5.6-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="13.5.6" appVersion="13.5.6" platformVersion="115.16.0" buildID="20240930230510" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-macos-13.5.6_ALL.mar" hashFunction="SHA512" hashValue="b41b05e42b0c74f4a1815dfe6ffbb20ccfee0d22cda6de17c0afb1f3579e30c34f4e0ea1cf6a86d648beb200f54d4a962e2e1cf63329cb025a42594785cc50ff" size="115945715" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-macos--13.5.3-13.5.6…" hashFunction="SHA512" hashValue="6cddfa8a01e5e0803e786dd5c36614365677dae76886310776374c6fa9ead40e8b99c1d2f3dd88e68929110ae047729be165c42e61031420df9afeba0dc56f0f" size="8307266" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.3-13.5.6-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="13.5.6" appVersion="13.5.6" platformVersion="115.16.0" buildID="20240930230510" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-windows-x86_64-13.5.…" hashFunction="SHA512" hashValue="066692a2f7bd660a8899abb72a1f7e555c66a5927cdc073a7d69480c08e88f19828df09e0da310b9c69c65b026b03ec7f89a3a6bc415c18030d4aa237d006f2a" size="90184748" type="complete"></patch><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-windows-x86_64--13.5…" hashFunction="SHA512" hashValue="a7de28e4a5b9b9e7a10795be1cd52d38761aa21ae6aace849a74e68787622ebcd4440f5fa27be0e3555571f422347f9dd230f7c4e8633fceaa4cf4c317390ce5" size="5083386" type="partial"></patch></update></updates> ===================================== update_1/release/13.5.3-linux-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="13.5.3" appVersion="13.5.3" platformVersion="115.15.0" buildID="20240903073000" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-linux-x86_64-13.5.3_…" hashFunction="SHA512" hashValue="dc9228d0edf637fe171b3a5f81374cfaa78112877eb9bd8f1617aedb02d58258612eea64dfb6d7a89dff8536089627db40d5be03460529a322d0d391f85f80ca" size="108537331" type="complete"></patch></update></updates> ===================================== update_1/release/13.5.3-macos-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="13.5.3" appVersion="13.5.3" platformVersion="115.15.0" buildID="20240903073000" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-macos-13.5.3_ALL.mar" hashFunction="SHA512" hashValue="251a1b6961102a454f1e35645a7fb85a259018801437fd1a0069fd701dee461934a3184378e0648330c931a71e4c6817f049434406b279f6673af06a2140c462" size="115932183" type="complete"></patch></update></updates> ===================================== update_1/release/13.5.3-windows-x86_64-ALL.xml deleted ===================================== @@ -1,2 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<updates><update type="minor" displayVersion="13.5.3" appVersion="13.5.3" platformVersion="115.15.0" buildID="20240903073000" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.3" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-windows-x86_64-13.5.…" hashFunction="SHA512" hashValue="0006e44ff67522342954b0475cffe92d4d7065a47e7c7e2964ce4e88110216923373c163125067b7a8c238dc8ee4650c950b9add295d4c3deac352663e1e5edf" size="90162344" type="complete"></patch></update></updates> ===================================== update_1/release/13.5.6-linux-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="13.5.6" appVersion="13.5.6" platformVersion="115.16.0" buildID="20240930230510" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-linux-x86_64-13.5.6_…" hashFunction="SHA512" hashValue="9620c90cabb8bf83af95ba28abceac3632b0f0e9fc04a935ad67d661e58509e8ff45d50295f7fad23cad8b4463097e15a59b821a83ed58280cf697d896a50e4d" size="108542679" type="complete"></patch></update></updates> ===================================== update_1/release/13.5.6-macos-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="13.5.6" appVersion="13.5.6" platformVersion="115.16.0" buildID="20240930230510" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" minSupportedOSVersion="16.0.0"><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-macos-13.5.6_ALL.mar" hashFunction="SHA512" hashValue="b41b05e42b0c74f4a1815dfe6ffbb20ccfee0d22cda6de17c0afb1f3579e30c34f4e0ea1cf6a86d648beb200f54d4a962e2e1cf63329cb025a42594785cc50ff" size="115945715" type="complete"></patch></update></updates> ===================================== update_1/release/13.5.6-windows-x86_64-ALL.xml ===================================== @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?> +<updates><update type="minor" displayVersion="13.5.6" appVersion="13.5.6" platformVersion="115.16.0" buildID="20240930230510" detailsURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" actions="showURL" openURL="https://github.com/mullvad/mullvad-browser/releases/13.5.6" minSupportedOSVersion="6.1" minSupportedInstructionSet="SSE2"><patch URL="https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-windows-x86_64-13.5.…" hashFunction="SHA512" hashValue="066692a2f7bd660a8899abb72a1f7e555c66a5927cdc073a7d69480c08e88f19828df09e0da310b9c69c65b026b03ec7f89a3a6bc415c18030d4aa237d006f2a" size="90184748" type="complete"></patch></update></updates> ===================================== update_1/release/download-linux-x86_64.json ===================================== @@ -1 +1 @@ -{"binary":"https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-linux-x86_64-13.5.3.…","git_tag":"mb-13.5.3-build1","sig":"https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-linux-x86_64-13.5.3.…","version":"13.5.3"} \ No newline at end of file +{"binary":"https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-linux-x86_64-13.5.6.…","git_tag":"mb-13.5.6-build1","sig":"https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-linux-x86_64-13.5.6.…","version":"13.5.6"} \ No newline at end of file ===================================== update_1/release/download-macos.json ===================================== @@ -1 +1 @@ -{"binary":"https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-macos-13.5.3.dmg","git_tag":"mb-13.5.3-build1","sig":"https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-macos-13.5.3.dmg.asc","version":"13.5.3"} \ No newline at end of file +{"binary":"https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-macos-13.5.6.dmg","git_tag":"mb-13.5.6-build1","sig":"https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-macos-13.5.6.dmg.asc","version":"13.5.6"} \ No newline at end of file ===================================== update_1/release/download-windows-x86_64.json ===================================== @@ -1 +1 @@ -{"binary":"https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-windows-x86_64-13.5.…","git_tag":"mb-13.5.3-build1","sig":"https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-windows-x86_64-13.5.…","version":"13.5.3"} \ No newline at end of file +{"binary":"https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-windows-x86_64-13.5.…","git_tag":"mb-13.5.6-build1","sig":"https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-windows-x86_64-13.5.…","version":"13.5.6"} \ No newline at end of file ===================================== update_1/release/downloads.json ===================================== @@ -1 +1 @@ -{"downloads":{"linux-x86_64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-linux-x86_64-13.5.3.…","sig":"https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-linux-x86_64-13.5.3.…"}},"macos":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-macos-13.5.3.dmg","sig":"https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-macos-13.5.3.dmg.asc"}},"win64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-windows-x86_64-13.5.…","sig":"https://cdn.mullvad.net/browser/13.5.3/mullvad-browser-windows-x86_64-13.5.…"}}},"tag":"mb-13.5.3-build1","version":"13.5.3"} \ No newline at end of file +{"downloads":{"linux-x86_64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-linux-x86_64-13.5.6.…","sig":"https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-linux-x86_64-13.5.6.…"}},"macos":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-macos-13.5.6.dmg","sig":"https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-macos-13.5.6.dmg.asc"}},"win64":{"ALL":{"binary":"https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-windows-x86_64-13.5.…","sig":"https://cdn.mullvad.net/browser/13.5.6/mullvad-browser-windows-x86_64-13.5.…"}}},"tag":"mb-13.5.6-build1","version":"13.5.6"} \ No newline at end of file View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/mullvad-browser-update-respo… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-update-responses][main] release: new version, 13.5.6
by morgan (@morgan) 01 Oct '24

01 Oct '24
morgan pushed to branch main at The Tor Project / Applications / Tor Browser update responses Commits: 90a96463 by Morgan at 2024-10-01T17:49:26+00:00 release: new version, 13.5.6 - - - - - 30 changed files: - update_3/release/.htaccess - − update_3/release/13.5.2-13.5.5-linux-i686-ALL.xml - − update_3/release/13.5.2-13.5.5-linux-x86_64-ALL.xml - − update_3/release/13.5.2-13.5.5-macos-ALL.xml - − update_3/release/13.5.2-13.5.5-windows-i686-ALL.xml - − update_3/release/13.5.2-13.5.5-windows-x86_64-ALL.xml - − update_3/release/13.5.3-13.5.5-linux-i686-ALL.xml - − update_3/release/13.5.3-13.5.5-linux-x86_64-ALL.xml - − update_3/release/13.5.3-13.5.5-macos-ALL.xml - − update_3/release/13.5.3-13.5.5-windows-i686-ALL.xml - − update_3/release/13.5.3-13.5.5-windows-x86_64-ALL.xml - + update_3/release/13.5.3-13.5.6-linux-i686-ALL.xml - + update_3/release/13.5.3-13.5.6-linux-x86_64-ALL.xml - + update_3/release/13.5.3-13.5.6-macos-ALL.xml - + update_3/release/13.5.3-13.5.6-windows-i686-ALL.xml - + update_3/release/13.5.3-13.5.6-windows-x86_64-ALL.xml - − update_3/release/13.5.4-13.5.5-linux-i686-ALL.xml - − update_3/release/13.5.4-13.5.5-linux-x86_64-ALL.xml - − update_3/release/13.5.4-13.5.5-macos-ALL.xml - − update_3/release/13.5.4-13.5.5-windows-i686-ALL.xml - − update_3/release/13.5.4-13.5.5-windows-x86_64-ALL.xml - + update_3/release/13.5.4-13.5.6-linux-i686-ALL.xml - + update_3/release/13.5.4-13.5.6-linux-x86_64-ALL.xml - + update_3/release/13.5.4-13.5.6-macos-ALL.xml - + update_3/release/13.5.4-13.5.6-windows-i686-ALL.xml - + update_3/release/13.5.4-13.5.6-windows-x86_64-ALL.xml - + update_3/release/13.5.5-13.5.6-linux-i686-ALL.xml - + update_3/release/13.5.5-13.5.6-linux-x86_64-ALL.xml - + update_3/release/13.5.5-13.5.6-macos-ALL.xml - + update_3/release/13.5.5-13.5.6-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.3.0esr-14.0-1] 2 commits: fixup! Bug 42305: Add script to combine translation files across versions.
by Pier Angelo Vendrame (@pierov) 01 Oct '24

01 Oct '24
Pier Angelo Vendrame pushed to branch tor-browser-128.3.0esr-14.0-1 at The Tor Project / Applications / Tor Browser Commits: 459f1275 by Henry Wilkes at 2024-10-01T16:05:28+01:00 fixup! Bug 42305: Add script to combine translation files across versions. Bug 43156: Add an option to also include strings from a legacy branch. Also, instead of using the tagger date to find the highest version branch, we use version ordering. - - - - - 689b068f by Henry Wilkes at 2024-10-01T16:05:29+01:00 fixup! Add CI for Tor Browser Bug 43156: Also include strings from the legacy branch. - - - - - 2 changed files: - .gitlab/ci/update-translations.yml - tools/torbrowser/l10n/combine-translation-versions.py Changes: ===================================== .gitlab/ci/update-translations.yml ===================================== @@ -28,6 +28,7 @@ combine-en-US-translations: base-browser:base-browser.ftl fenix-torbrowserstringsxml:torbrowser_strings.xml ' + TRANSLATION_INCLUDE_LEGACY: "true" cache: paths: - .cache/pip ===================================== tools/torbrowser/l10n/combine-translation-versions.py ===================================== @@ -67,136 +67,227 @@ def git_lines(git_args: list[str]) -> list[str]: return [line for line in git_text(git_args).split("\n") if line] -def git_file_paths(git_ref: str) -> list[str]: - """Get the full list of file paths found under the given tree. - - :param git_ref: The git reference for the tree to search. - :returns: The found file paths. - """ - return git_lines(["ls-tree", "-r", "--format=%(path)", git_ref]) - - -def matching_path(search_paths: list[str], filename: str) -> str | None: - """Get the matching file path with the given filename, if it exists. - - :param search_paths: The file paths to search through. - :param filename: The file name to match. - :returns: The unique file path with the matching name, or None if no such - match was found. - :throws Exception: If multiple paths shared the same file name. - """ - matching = [path for path in search_paths if os.path.basename(path) == filename] - if not matching: - return None - if len(matching) > 1: - raise Exception("Multiple occurrences of {filename}") - return matching[0] - - -def git_file_content(git_ref: str, path: str | None) -> str | None: - """Get the file content of the specified git blob object. - - :param git_ref: The reference for the tree to find the file under. - :param path: The file path for the object, or None if there is no path. - :returns: The file content, or None if no path was given. - """ - if path is None: - return None - return git_text(["cat-file", "blob", f"{git_ref}:{path}"]) - - -def get_stable_branch(branch_prefix: str) -> str: +class BrowserBranch: + """Represents a browser git branch.""" + + def __init__(self, branch_name: str, is_head: bool = False) -> None: + """Create a new instance. + + :param branch_name: The branch's git name. + :param is_head: Whether the branch matches "HEAD". + """ + version_match = re.match( + r"(?P<prefix>[a-z]+\-browser)\-" + r"(?P<firefox>[0-9]+(?:\.[0-9]+){1,2})esr\-" + r"(?P<browser>[0-9]+\.[05])\-" + r"(?P<number>[0-9]+)$", + branch_name, + ) + + if not version_match: + raise ValueError(f"Unable to parse the version from the ref {branch_name}") + + self.name = branch_name + self.prefix = version_match.group("prefix") + self.browser_version = version_match.group("browser") + self._is_head = is_head + self._ref = "HEAD" if is_head else f"origin/{branch_name}" + + firefox_nums = [int(n) for n in version_match.group("firefox").split(".")] + if len(firefox_nums) == 2: + firefox_nums.append(0) + browser_nums = [int(n) for n in self.browser_version.split(".")] + branch_number = int(version_match.group("number")) + # Prioritise the firefox ESR version, then the browser version then the + # branch number. + self._ordered = ( + firefox_nums[0], + firefox_nums[1], + firefox_nums[2], + browser_nums[0], + browser_nums[1], + branch_number, + ) + + # Minor version for browser is only ever "0" or "5", so we can convert + # the version to an integer. + self._browser_int_version = int(2 * float(self.browser_version)) + + self._file_paths: list[str] | None = None + + def release_below(self, other: "BrowserBranch", num: int) -> bool: + """Determine whether another branch is within range of a previous + browser release. + + The browser versions are expected to increment by "0.5", and a previous + release branch's version is expected to be `num * 0.5` behind the + current one. + + :param other: The branch to compare. + :param num: The number of "0.5" releases behind to test with. + """ + return other._browser_int_version == self._browser_int_version - num + + def __lt__(self, other: "BrowserBranch") -> bool: + return self._ordered < other._ordered + + def __gt__(self, other: "BrowserBranch") -> bool: + return self._ordered > other._ordered + + def get_file_content(self, filename: str) -> str | None: + """Fetch the file content for the named file in this branch. + + :param filename: The name of the file to fetch the content for. + :returns: The file content, or `None` if no file could be found. + """ + if self._file_paths is None: + if not self._is_head: + # Minimal fetch of non-HEAD branch to get the file paths. + # Individual file blobs will be downloaded as needed. + git_run( + ["fetch", "--depth=1", "--filter=blob:none", "origin", self._ref] + ) + self._file_paths = git_lines( + ["ls-tree", "-r", "--format=%(path)", self._ref] + ) + + matching = [ + path for path in self._file_paths if os.path.basename(path) == filename + ] + if not matching: + return None + if len(matching) > 1: + raise Exception(f"Multiple occurrences of {filename}") + + path = matching[0] + + return git_text(["cat-file", "blob", f"{self._ref}:{path}"]) + + +def get_stable_branch( + compare_version: BrowserBranch, +) -> tuple[BrowserBranch, BrowserBranch | None]: """Find the most recent stable branch in the origin repository. - :param branch_prefix: The prefix that the stable branch should have. - :returns: The branch name. + :param compare_version: The development branch to compare against. + :returns: The stable and legacy branches. If no legacy branch is found, + `None` will be returned instead. """ - tag_glob = f"{branch_prefix}-*-build1" + # We search for build1 tags. These are added *after* the rebase of browser + # commits, so the corresponding branch should contain our strings. + # Moreover, we *assume* that the branch with the most recent ESR version + # with such a tag will be used in the *next* stable build in + # tor-browser-build. + tag_glob = f"{compare_version.prefix}-*esr-*-*-build1" + # To speed up, only fetch the tags without blobs. git_run( ["fetch", "--depth=1", "--filter=object:type=tag", "origin", "tag", tag_glob] ) - # Get most recent stable tag. + stable_branches = [] + legacy_branches = [] + stable_annotation_regex = re.compile(r"\bstable\b") + legacy_annotation_regex = re.compile(r"\blegacy\b") + for build_tag, annotation in ( - line.split(" ", 1) - for line in git_lines(["tag", "-n1", "--list", tag_glob, "--sort=-taggerdate"]) + line.split(" ", 1) for line in git_lines(["tag", "-n1", "--list", tag_glob]) ): - if "stable" in annotation: + is_stable = bool(stable_annotation_regex.search(annotation)) + is_legacy = bool(legacy_annotation_regex.search(annotation)) + if not is_stable and not is_legacy: + continue + try: # Branch name is the same as the tag, minus "-build1". - return re.sub(r"-build1$", "", build_tag) - raise Exception("No stable build1 tag found") - - -def get_version_from_branch_name(branch_name: str) -> tuple[str, float]: - """Get the branch prefix and version from its name. - - :param branch_name: The branch to extract from. - :returns: The branch prefix and its version number. - """ - version_match = re.match( - r"([a-z-]+)-[^-]*-([0-9]+\.[05])-", - branch_name, + branch = BrowserBranch(re.sub(r"-build1$", "", build_tag)) + except ValueError: + logger.warning(f"Could not read the version for {build_tag}") + continue + if branch.prefix != compare_version.prefix: + continue + if is_stable: + # Stable can be one release version behind. + # NOTE: In principle, when switching between versions there may be a + # window of time where the development branch has not yet progressed + # to the next "0.5" release, so has the same browser version as the + # stable branch. So we also allow for matching browser versions. + # NOTE: + # 1. The "Will be unused in" message will not make sense, but we do + # not expect string differences in this scenario. + # 2. We do not expect this scenario to last for long. + if not ( + compare_version.release_below(branch, 1) + or compare_version.release_below(branch, 0) + ): + continue + stable_branches.append(branch) + elif is_legacy: + # Legacy can be two release versions behind. + # We also allow for being just one version behind. + if not ( + compare_version.release_below(branch, 2) + or compare_version.release_below(branch, 1) + ): + continue + legacy_branches.append(branch) + + if not stable_branches: + raise Exception("No stable build1 branch found") + + return ( + # Return the stable branch with the highest version. + max(stable_branches), + max(legacy_branches) if legacy_branches else None, ) - if not version_match: - raise ValueError(f"Unable to parse the version from the branch {branch_name}") - return (version_match.group(1), float(version_match.group(2))) +current_branch = BrowserBranch(args.current_branch, is_head=True) +stable_branch, legacy_branch = get_stable_branch(current_branch) -branch_prefix, current_version = get_version_from_branch_name(args.current_branch) +if os.environ.get("TRANSLATION_INCLUDE_LEGACY", "") != "true": + legacy_branch = None -stable_branch = get_stable_branch(branch_prefix) -_, stable_version = get_version_from_branch_name(stable_branch) - -if stable_version > current_version or stable_version < current_version - 0.5: - raise Exception( - f"Version of stable branch {stable_branch} is not within 0.5 of the " - f"current branch {args.current_branch}" - ) - -# Minimal fetch of stable_branch. -# Individual file blobs will be downloaded as needed. -git_run(["fetch", "--depth=1", "--filter=blob:none", "origin", stable_branch]) - -current_file_paths = git_file_paths("HEAD") -old_file_paths = git_file_paths(f"origin/{stable_branch}") - -ci_commit = os.environ.get("CI_COMMIT_SHA", "") -ci_url_base = os.environ.get("CI_PROJECT_URL", "") - -json_data = { - "commit": ci_commit, - "commit-url": f"{ci_url_base}/-/commit/{ci_commit}" - if (ci_commit and ci_url_base) - else "", - "project-path": os.environ.get("CI_PROJECT_PATH", ""), - "current-branch": args.current_branch, - "stable-branch": stable_branch, - "files": [], -} +files_list = [] for translation_branch, name in ( part.strip().split(":", 1) for part in args.filenames.split(" ") if part.strip() ): - current_path = matching_path(current_file_paths, name) - old_path = matching_path(old_file_paths, name) + current_content = current_branch.get_file_content(name) + stable_content = stable_branch.get_file_content(name) - if current_path is None and old_path is None: + if current_content is None and stable_content is None: # No file in either branch. logger.warning(f"{name} does not exist in either the current or stable branch") - elif current_path is None: + elif current_content is None: logger.warning(f"{name} deleted in the current branch") - elif old_path is None: + elif stable_content is None: logger.warning(f"{name} does not exist in the stable branch") content = combine_files( name, - git_file_content("HEAD", current_path), - git_file_content(f"origin/{stable_branch}", old_path), - f"Will be unused in Tor Browser {current_version}!", + current_content, + stable_content, + f"Will be unused in Tor Browser {current_branch.browser_version}!", ) - json_data["files"].append( + + if legacy_branch: + legacy_content = legacy_branch.get_file_content(name) + if ( + legacy_content is not None + and current_content is None + and stable_content is None + ): + logger.warning(f"{name} still exists in the legacy branch") + elif legacy_content is None: + logger.warning(f"{name} does not exist in the legacy branch") + content = combine_files( + name, + content, + legacy_content, + f"Unused in Tor Browser {stable_branch.browser_version}!", + ) + + files_list.append( { "name": name, "branch": translation_branch, @@ -204,5 +295,23 @@ for translation_branch, name in ( } ) + +ci_commit = os.environ.get("CI_COMMIT_SHA", "") +ci_url_base = os.environ.get("CI_PROJECT_URL", "") + +json_data = { + "commit": ci_commit, + "commit-url": f"{ci_url_base}/-/commit/{ci_commit}" + if (ci_commit and ci_url_base) + else "", + "project-path": os.environ.get("CI_PROJECT_PATH", ""), + "current-branch": current_branch.name, + "stable-branch": stable_branch.name, + "files": files_list, +} + +if legacy_branch: + json_data["legacy-branch"] = legacy_branch.name + with open(args.outname, "w") as file: json.dump(json_data, file) View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/217346… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/217346… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-13.5] Bug 41251: Fix jtorctl.0.2.jar missing dependency
by ma1 (@ma1) 01 Oct '24

01 Oct '24
ma1 pushed to branch maint-13.5 at The Tor Project / Applications / tor-browser-build Commits: ecac6d89 by hackademix at 2024-10-01T14:24:17+02:00 Bug 41251: Fix jtorctl.0.2.jar missing dependency - - - - - 2 changed files: - projects/firefox-android/config - projects/firefox-android/gradle-dependencies-list.txt Changes: ===================================== projects/firefox-android/config ===================================== @@ -19,7 +19,7 @@ var: browser_build: 15 variant: Beta # This should be updated when the list of gradle dependencies is changed. - gradle_dependencies_version: 1 + gradle_dependencies_version: 2 gradle_version: 7.6.1 glean_parser: 7.1.0 as_version: '[% pc("application-services", "version") %]' ===================================== projects/firefox-android/gradle-dependencies-list.txt ===================================== @@ -1,6 +1,6 @@ sha256sum | url -ec3a75bebddbf19ff56a281cf5d1ad146169dcaa0e69d7b14f4aaba2e7775f34 | https://jcenter.bintray.com/net/freehaven/tor/control/jtorctl/0.2/jtorctl-0… -3369726ca2b0e3736c741ff3c22e06f707a1007ff20ccc5b5ba5d0d9a01ead30 | https://jcenter.bintray.com/net/freehaven/tor/control/jtorctl/0.2/jtorctl-0… +ec3a75bebddbf19ff56a281cf5d1ad146169dcaa0e69d7b14f4aaba2e7775f34 | https://build-sources.tbb.torproject.org/jtorctl/jtorctl-0.2.jar +3369726ca2b0e3736c741ff3c22e06f707a1007ff20ccc5b5ba5d0d9a01ead30 | https://build-sources.tbb.torproject.org/jtorctl/jtorctl-0.2.pom caa72885d1ce7979c1d6c59a8b255c6097b770780d4d4da95d56979a348646cd | https://maven.google.com/androidx/activity/activity-compose/1.7.0/activity-… f7a29bcba338575dcf89a553cff9cfad3f140340eaf2b56fd0193244da602c0a | https://maven.google.com/androidx/activity/activity-compose/1.7.0/activity-… 90f32e60dcb83add1aff051ee8709023123d524cc3f6390fff6a4a31c20d9798 | https://maven.google.com/androidx/activity/activity-compose/1.7.0/activity-… View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/e… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • ...
  • 766
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.