tbb-commits
Threads by month
- ----- 2026 -----
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 20633 discussions
[tor-browser/tor-browser-78.7.1esr-10.0-1] Bug 18821: Disable libmdns for Android and Desktop
by sysrqb@torproject.org 05 Feb '21
by sysrqb@torproject.org 05 Feb '21
05 Feb '21
commit 8e199999840af4c25b9d42e468defddeda227d97
Author: Georg Koppen <gk(a)torproject.org>
Date: Wed Apr 20 14:34:50 2016 +0000
Bug 18821: Disable libmdns for Android and Desktop
There should be no need to remove the OS X support introduced in
https://bugzilla.mozilla.org/show_bug.cgi?id=1225726 as enabling this
is governed by a preference (which is actually set to `false`). However,
we remove it at build time as well (defense in depth).
This is basically a backout of the relevant passages of
https://hg.mozilla.org/mozilla-central/rev/6bfb430de85d,
https://hg.mozilla.org/mozilla-central/rev/609b337bf7ab and
https://hg.mozilla.org/mozilla-central/rev/8e092ec5fbbd.
Fixed bug 21861 (Disable additional mDNS code to avoid proxy bypasses)
as well.
---
dom/presentation/provider/components.conf | 10 ----------
dom/presentation/provider/moz.build | 1 -
netwerk/dns/mdns/libmdns/components.conf | 15 ---------------
netwerk/dns/mdns/libmdns/moz.build | 28 ----------------------------
4 files changed, 54 deletions(-)
diff --git a/dom/presentation/provider/components.conf b/dom/presentation/provider/components.conf
index 04cb28ec757e..56994ed7cd94 100644
--- a/dom/presentation/provider/components.conf
+++ b/dom/presentation/provider/components.conf
@@ -6,9 +6,6 @@
categories = {}
-if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'android'):
- categories["presentation-device-provider"] = "MulticastDNSDeviceProvider"
-
Classes = [
{
'cid': '{f4079b8b-ede5-4b90-a112-5b415a931deb}',
@@ -16,11 +13,4 @@ Classes = [
'jsm': 'resource://gre/modules/PresentationControlService.jsm',
'constructor': 'PresentationControlService',
},
- {
- 'cid': '{814f947a-52f7-41c9-94a1-3684797284ac}',
- 'contract_ids': ['@mozilla.org/presentation-device/multicastdns-provider;1'],
- 'type': 'mozilla::dom::presentation::MulticastDNSDeviceProvider',
- 'headers': ['/dom/presentation/provider/MulticastDNSDeviceProvider.h'],
- 'categories': categories,
- },
]
diff --git a/dom/presentation/provider/moz.build b/dom/presentation/provider/moz.build
index eaea61af415a..d97b75ddbcf9 100644
--- a/dom/presentation/provider/moz.build
+++ b/dom/presentation/provider/moz.build
@@ -10,7 +10,6 @@ EXTRA_JS_MODULES += [
UNIFIED_SOURCES += [
'DeviceProviderHelpers.cpp',
- 'MulticastDNSDeviceProvider.cpp',
]
XPCOM_MANIFESTS += [
diff --git a/netwerk/dns/mdns/libmdns/components.conf b/netwerk/dns/mdns/libmdns/components.conf
index 6e64140c820e..1b50dbf673a4 100644
--- a/netwerk/dns/mdns/libmdns/components.conf
+++ b/netwerk/dns/mdns/libmdns/components.conf
@@ -5,20 +5,5 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
Classes = [
- {
- 'cid': '{14a50f2b-7ff6-48a5-88e3-615fd111f5d3}',
- 'contract_ids': ['@mozilla.org/toolkit/components/mdnsresponder/dns-info;1'],
- 'type': 'mozilla::net::nsDNSServiceInfo',
- 'headers': ['/netwerk/dns/mdns/libmdns/nsDNSServiceInfo.h'],
- },
]
-if buildconfig.substs['MOZ_WIDGET_TOOLKIT'] != 'cocoa':
- Classes += [
- {
- 'cid': '{f9346d98-f27a-4e89-b744-493843416480}',
- 'contract_ids': ['@mozilla.org/toolkit/components/mdnsresponder/dns-sd;1'],
- 'jsm': 'resource://gre/modules/DNSServiceDiscovery.jsm',
- 'constructor': 'nsDNSServiceDiscovery',
- },
- ]
diff --git a/netwerk/dns/mdns/libmdns/moz.build b/netwerk/dns/mdns/libmdns/moz.build
index 05dc75eb9eda..a6fc1a8a559a 100644
--- a/netwerk/dns/mdns/libmdns/moz.build
+++ b/netwerk/dns/mdns/libmdns/moz.build
@@ -4,34 +4,6 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
- UNIFIED_SOURCES += [
- 'MDNSResponderOperator.cpp',
- 'MDNSResponderReply.cpp',
- 'nsDNSServiceDiscovery.cpp',
- ]
-
- LOCAL_INCLUDES += [
- '/netwerk/base',
- ]
-
-else:
- EXTRA_JS_MODULES += [
- 'DNSServiceDiscovery.jsm',
- 'fallback/DataReader.jsm',
- 'fallback/DataWriter.jsm',
- 'fallback/DNSPacket.jsm',
- 'fallback/DNSRecord.jsm',
- 'fallback/DNSResourceRecord.jsm',
- 'fallback/DNSTypes.jsm',
- 'fallback/MulticastDNS.jsm',
- ]
-
- if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
- EXTRA_JS_MODULES += [
- 'MulticastDNSAndroid.jsm',
- ]
-
UNIFIED_SOURCES += [
'nsDNSServiceInfo.cpp',
]
1
0
[tor-browser/tor-browser-78.7.1esr-10.0-1] Bug 19121: reinstate the update.xml hash check
by sysrqb@torproject.org 05 Feb '21
by sysrqb@torproject.org 05 Feb '21
05 Feb '21
commit de75e545b759a640815247840c51ee9b7aa47998
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Mon Apr 23 15:22:57 2018 -0400
Bug 19121: reinstate the update.xml hash check
Revert most changes from Mozilla Bug 1373267 "Remove hashFunction and
hashValue attributes from nsIUpdatePatch and code related to these
attributes." Changes to the tests were not reverted; the tests have
been changed significantly and we do not run automated updater tests
for Tor Browser at this time.
Also partial revert of commit f1241db6986e4b54473a1ed870f7584c75d51122.
Revert the nsUpdateService.js changes from Mozilla Bug 862173 "don't
verify mar file hash when using mar signing to verify the mar file
(lessens main thread I/O)."
Changes to the tests were not reverted; the tests have been changed
significantly and we do not run automated updater tests for
Tor Browser at this time.
We kept the addition to the AppConstants API in case other JS code
references it in the future.
---
toolkit/modules/AppConstants.jsm | 7 ++++
toolkit/mozapps/update/UpdateService.jsm | 63 ++++++++++++++++++++++++++++-
toolkit/mozapps/update/UpdateTelemetry.jsm | 1 +
toolkit/mozapps/update/nsIUpdateService.idl | 11 +++++
4 files changed, 81 insertions(+), 1 deletion(-)
diff --git a/toolkit/modules/AppConstants.jsm b/toolkit/modules/AppConstants.jsm
index cd8ca2659626..84516f0d4c66 100644
--- a/toolkit/modules/AppConstants.jsm
+++ b/toolkit/modules/AppConstants.jsm
@@ -212,6 +212,13 @@ this.AppConstants = Object.freeze({
false,
#endif
+ MOZ_VERIFY_MAR_SIGNATURE:
+#ifdef MOZ_VERIFY_MAR_SIGNATURE
+ true,
+#else
+ false,
+#endif
+
MOZ_MAINTENANCE_SERVICE:
#ifdef MOZ_MAINTENANCE_SERVICE
true,
diff --git a/toolkit/mozapps/update/UpdateService.jsm b/toolkit/mozapps/update/UpdateService.jsm
index 1dc86a073646..ead961ab5252 100644
--- a/toolkit/mozapps/update/UpdateService.jsm
+++ b/toolkit/mozapps/update/UpdateService.jsm
@@ -742,6 +742,20 @@ function LOG(string) {
}
}
+/**
+ * Convert a string containing binary values to hex.
+ */
+function binaryToHex(input) {
+ var result = "";
+ for (var i = 0; i < input.length; ++i) {
+ var hex = input.charCodeAt(i).toString(16);
+ if (hex.length == 1)
+ hex = "0" + hex;
+ result += hex;
+ }
+ return result;
+}
+
/**
* Gets the specified directory at the specified hierarchy under the
* update root directory and creates it if it doesn't exist.
@@ -1534,6 +1548,8 @@ function UpdatePatch(patch) {
}
break;
case "finalURL":
+ case "hashFunction":
+ case "hashValue":
case "state":
case "type":
case "URL":
@@ -1553,6 +1569,8 @@ UpdatePatch.prototype = {
// over writing nsIUpdatePatch attributes.
_attrNames: [
"errorCode",
+ "hashFunction",
+ "hashValue",
"finalURL",
"selected",
"size",
@@ -1566,6 +1584,8 @@ UpdatePatch.prototype = {
*/
serialize: function UpdatePatch_serialize(updates) {
var patch = updates.createElementNS(URI_UPDATE_NS, "patch");
+ patch.setAttribute("hashFunction", this.hashFunction);
+ patch.setAttribute("hashValue", this.hashValue);
patch.setAttribute("size", this.size);
patch.setAttribute("type", this.type);
patch.setAttribute("URL", this.URL);
@@ -4315,7 +4335,42 @@ Downloader.prototype = {
}
LOG("Downloader:_verifyDownload downloaded size == expected size.");
- return true;
+ let fileStream = Cc["@mozilla.org/network/file-input-stream;1"].
+ createInstance(Ci.nsIFileInputStream);
+ fileStream.init(destination, FileUtils.MODE_RDONLY, FileUtils.PERMS_FILE, 0);
+
+ let digest;
+ try {
+ let hash = Cc["@mozilla.org/security/hash;1"].
+ createInstance(Ci.nsICryptoHash);
+ var hashFunction = Ci.nsICryptoHash[this._patch.hashFunction.toUpperCase()];
+ if (hashFunction == undefined) {
+ throw Cr.NS_ERROR_UNEXPECTED;
+ }
+ hash.init(hashFunction);
+ hash.updateFromStream(fileStream, -1);
+ // NOTE: For now, we assume that the format of _patch.hashValue is hex
+ // encoded binary (such as what is typically output by programs like
+ // sha1sum). In the future, this may change to base64 depending on how
+ // we choose to compute these hashes.
+ digest = binaryToHex(hash.finish(false));
+ } catch (e) {
+ LOG("Downloader:_verifyDownload - failed to compute hash of the " +
+ "downloaded update archive");
+ digest = "";
+ }
+
+ fileStream.close();
+
+ if (digest == this._patch.hashValue.toLowerCase()) {
+ LOG("Downloader:_verifyDownload hashes match.");
+ return true;
+ }
+
+ LOG("Downloader:_verifyDownload hashes do not match. ");
+ AUSTLMY.pingDownloadCode(this.isCompleteUpdate,
+ AUSTLMY.DWNLD_ERR_VERIFY_NO_HASH_MATCH);
+ return false;
},
/**
@@ -4889,6 +4944,9 @@ Downloader.prototype = {
" is higher than patch size: " +
this._patch.size
);
+ // It's important that we use a different code than
+ // NS_ERROR_CORRUPTED_CONTENT so that tests can verify the difference
+ // between a hash error and a wrong download error.
AUSTLMY.pingDownloadCode(
this.isCompleteUpdate,
AUSTLMY.DWNLD_ERR_PATCH_SIZE_LARGER
@@ -4907,6 +4965,9 @@ Downloader.prototype = {
" is not equal to expected patch size: " +
this._patch.size
);
+ // It's important that we use a different code than
+ // NS_ERROR_CORRUPTED_CONTENT so that tests can verify the difference
+ // between a hash error and a wrong download error.
AUSTLMY.pingDownloadCode(
this.isCompleteUpdate,
AUSTLMY.DWNLD_ERR_PATCH_SIZE_NOT_EQUAL
diff --git a/toolkit/mozapps/update/UpdateTelemetry.jsm b/toolkit/mozapps/update/UpdateTelemetry.jsm
index 6f560b07cfe7..b6c71b2ef8d6 100644
--- a/toolkit/mozapps/update/UpdateTelemetry.jsm
+++ b/toolkit/mozapps/update/UpdateTelemetry.jsm
@@ -180,6 +180,7 @@ var AUSTLMY = {
DWNLD_ERR_VERIFY_NO_REQUEST: 13,
DWNLD_ERR_VERIFY_PATCH_SIZE_NOT_EQUAL: 14,
DWNLD_ERR_WRITE_FAILURE: 15,
+ DWNLD_ERR_VERIFY_NO_HASH_MATCH: 16,
// Temporary failure code to see if there are failures without an update phase
DWNLD_UNKNOWN_PHASE_ERR_WRITE_FAILURE: 40,
diff --git a/toolkit/mozapps/update/nsIUpdateService.idl b/toolkit/mozapps/update/nsIUpdateService.idl
index 5e4cc63c3547..47bb27b17d41 100644
--- a/toolkit/mozapps/update/nsIUpdateService.idl
+++ b/toolkit/mozapps/update/nsIUpdateService.idl
@@ -39,6 +39,17 @@ interface nsIUpdatePatch : nsISupports
*/
attribute AString finalURL;
+ /**
+ * The hash function to use when determining this file's integrity
+ */
+ attribute AString hashFunction;
+
+ /**
+ * The value of the hash function named above that should be computed if
+ * this file is not corrupt.
+ */
+ attribute AString hashValue;
+
/**
* The size of this file, in bytes.
*/
1
0
[tor-browser/tor-browser-78.7.1esr-10.0-1] Bug 19273: Avoid JavaScript patching of the external app helper dialog.
by sysrqb@torproject.org 05 Feb '21
by sysrqb@torproject.org 05 Feb '21
05 Feb '21
commit b3d622fead2454e1be32fa08fa130866b7449344
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue Jun 28 15:13:05 2016 -0400
Bug 19273: Avoid JavaScript patching of the external app helper dialog.
When handling an external URI or downloading a file, invoke Torbutton's
external app blocker component (which will present a download warning
dialog unless the user has checked the "Automatically download files
from now on" box).
For e10s compatibility, avoid using a modal dialog and instead use
a callback interface (nsIHelperAppWarningLauncher) to allow Torbutton
to indicate the user's desire to cancel or continue each request.
Other bugs fixed:
Bug 21766: Crash with e10s enabled while trying to download a file
Bug 21886: Download is stalled in non-e10s mode
Bug 22471: Downloading files via the PDF viewer download button is broken
Bug 22472: Fix FTP downloads when external helper app dialog is shown
Bug 22610: Avoid crashes when canceling external helper app downloads
Bug 22618: Downloading pdf file via file:/// is stalling
---
.../exthandler/nsExternalHelperAppService.cpp | 202 +++++++++++++++++----
uriloader/exthandler/nsExternalHelperAppService.h | 3 +
.../exthandler/nsIExternalHelperAppService.idl | 47 +++++
3 files changed, 217 insertions(+), 35 deletions(-)
diff --git a/uriloader/exthandler/nsExternalHelperAppService.cpp b/uriloader/exthandler/nsExternalHelperAppService.cpp
index 4ff7ed2e27cc..0dcc1d3ed6ab 100644
--- a/uriloader/exthandler/nsExternalHelperAppService.cpp
+++ b/uriloader/exthandler/nsExternalHelperAppService.cpp
@@ -132,6 +132,9 @@ static const char NEVER_ASK_FOR_SAVE_TO_DISK_PREF[] =
static const char NEVER_ASK_FOR_OPEN_FILE_PREF[] =
"browser.helperApps.neverAsk.openFile";
+static const char WARNING_DIALOG_CONTRACT_ID[] =
+ "@torproject.org/torbutton-extAppBlocker;1";
+
// Helper functions for Content-Disposition headers
/**
@@ -388,6 +391,22 @@ static nsresult GetDownloadDirectory(nsIFile** _directory,
return NS_OK;
}
+static already_AddRefed<nsIInterfaceRequestor> GetDialogParentAux(
+ BrowsingContext* aBrowsingContext, nsIInterfaceRequestor* aWindowContext) {
+ nsCOMPtr<nsIInterfaceRequestor> dialogParent = aWindowContext;
+
+ if (!dialogParent && aBrowsingContext) {
+ dialogParent = do_QueryInterface(aBrowsingContext->GetDOMWindow());
+ }
+ if (!dialogParent && aBrowsingContext && XRE_IsParentProcess()) {
+ RefPtr<Element> element = aBrowsingContext->Top()->GetEmbedderElement();
+ if (element) {
+ dialogParent = do_QueryInterface(element->OwnerDoc()->GetWindow());
+ }
+ }
+ return dialogParent.forget();
+}
+
/**
* Structure for storing extension->type mappings.
* @see defaultMimeEntries
@@ -544,6 +563,111 @@ static const nsDefaultMimeTypeEntry nonDecodableExtensions[] = {
{APPLICATION_COMPRESS, "z"},
{APPLICATION_GZIP, "svgz"}};
+//////////////////////////////////////////////////////////////////////////////////////////////////////
+// begin nsExternalLoadURIHandler class definition and implementation
+//////////////////////////////////////////////////////////////////////////////////////////////////////
+class nsExternalLoadURIHandler final : public nsIHelperAppWarningLauncher {
+ public:
+ NS_DECL_THREADSAFE_ISUPPORTS
+ NS_DECL_NSIHELPERAPPWARNINGLAUNCHER
+
+ nsExternalLoadURIHandler(nsIHandlerInfo* aHandlerInfo, nsIURI* aURI,
+ nsIPrincipal* aTriggeringPrincipal,
+ BrowsingContext* aBrowsingContext);
+
+ protected:
+ ~nsExternalLoadURIHandler();
+
+ nsCOMPtr<nsIHandlerInfo> mHandlerInfo;
+ nsCOMPtr<nsIURI> mURI;
+ nsCOMPtr<nsIPrincipal> mTriggeringPrincipal;
+ RefPtr<BrowsingContext> mBrowsingContext;
+ nsCOMPtr<nsIHelperAppWarningDialog> mWarningDialog;
+};
+
+NS_IMPL_ADDREF(nsExternalLoadURIHandler)
+NS_IMPL_RELEASE(nsExternalLoadURIHandler)
+
+NS_INTERFACE_MAP_BEGIN(nsExternalLoadURIHandler)
+ NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIHelperAppWarningLauncher)
+ NS_INTERFACE_MAP_ENTRY(nsIHelperAppWarningLauncher)
+NS_INTERFACE_MAP_END
+
+nsExternalLoadURIHandler::nsExternalLoadURIHandler(
+ nsIHandlerInfo* aHandlerInfo, nsIURI* aURI,
+ nsIPrincipal* aTriggeringPrincipal, BrowsingContext* aBrowsingContext)
+ : mHandlerInfo(aHandlerInfo),
+ mURI(aURI),
+ mTriggeringPrincipal(aTriggeringPrincipal),
+ mBrowsingContext(aBrowsingContext)
+
+{
+ nsresult rv = NS_OK;
+ mWarningDialog = do_CreateInstance(WARNING_DIALOG_CONTRACT_ID, &rv);
+ if (NS_SUCCEEDED(rv) && mWarningDialog) {
+ // This will create a reference cycle (the dialog holds a reference to us
+ // as nsIHelperAppWarningLauncher), which will be broken in ContinueRequest
+ // or CancelRequest.
+ nsCOMPtr<nsIInterfaceRequestor> dialogParent =
+ GetDialogParentAux(aBrowsingContext, nullptr);
+ rv = mWarningDialog->MaybeShow(this, dialogParent);
+ }
+
+ if (NS_FAILED(rv)) {
+ // If for some reason we could not open the download warning prompt,
+ // continue with the request.
+ ContinueRequest();
+ }
+}
+
+nsExternalLoadURIHandler::~nsExternalLoadURIHandler() {}
+
+NS_IMETHODIMP nsExternalLoadURIHandler::ContinueRequest() {
+ MOZ_ASSERT(mURI);
+ MOZ_ASSERT(mHandlerInfo);
+
+ // Break our reference cycle with the download warning dialog (set up in
+ // LoadURI).
+ mWarningDialog = nullptr;
+
+ nsHandlerInfoAction preferredAction;
+ mHandlerInfo->GetPreferredAction(&preferredAction);
+ bool alwaysAsk = true;
+ mHandlerInfo->GetAlwaysAskBeforeHandling(&alwaysAsk);
+
+ nsresult rv = NS_OK;
+ // If we are not supposed to ask, and the preferred action is to use
+ // a helper app or the system default, we just launch the URI.
+ if (!alwaysAsk && (preferredAction == nsIHandlerInfo::useHelperApp ||
+ preferredAction == nsIHandlerInfo::useSystemDefault)) {
+ rv = mHandlerInfo->LaunchWithURI(mURI, mBrowsingContext);
+ // We are not supposed to ask, but when file not found the user most likely
+ // uninstalled the application which handles the uri so we will continue
+ // by application chooser dialog.
+ if (rv != NS_ERROR_FILE_NOT_FOUND) {
+ return rv;
+ }
+ }
+
+ nsCOMPtr<nsIContentDispatchChooser> chooser =
+ do_CreateInstance("@mozilla.org/content-dispatch-chooser;1", &rv);
+ NS_ENSURE_SUCCESS(rv, rv);
+
+ return chooser->Ask(mHandlerInfo, mURI, mTriggeringPrincipal,
+ mBrowsingContext,
+ nsIContentDispatchChooser::REASON_CANNOT_HANDLE);
+}
+
+NS_IMETHODIMP nsExternalLoadURIHandler::CancelRequest(nsresult aReason) {
+ NS_ENSURE_ARG(NS_FAILED(aReason));
+
+ // Break our reference cycle with the download warning dialog (set up in
+ // LoadURI).
+ mWarningDialog = nullptr;
+
+ return NS_OK;
+}
+
static StaticRefPtr<nsExternalHelperAppService> sExtHelperAppSvcSingleton;
/**
@@ -570,6 +694,9 @@ nsExternalHelperAppService::GetSingleton() {
return do_AddRef(sExtHelperAppSvcSingleton);
}
+//////////////////////////////////////////////////////////////////////////////////////////////////////
+// nsExternalHelperAppService definition and implementation
+//////////////////////////////////////////////////////////////////////////////////////////////////////
NS_IMPL_ISUPPORTS(nsExternalHelperAppService, nsIExternalHelperAppService,
nsPIExternalAppLauncher, nsIExternalProtocolService,
nsIMIMEService, nsIObserver, nsISupportsWeakReference)
@@ -1003,30 +1130,13 @@ nsExternalHelperAppService::LoadURI(nsIURI* aURI,
rv = GetProtocolHandlerInfo(scheme, getter_AddRefs(handler));
NS_ENSURE_SUCCESS(rv, rv);
- nsHandlerInfoAction preferredAction;
- handler->GetPreferredAction(&preferredAction);
- bool alwaysAsk = true;
- handler->GetAlwaysAskBeforeHandling(&alwaysAsk);
-
- // if we are not supposed to ask, and the preferred action is to use
- // a helper app or the system default, we just launch the URI.
- if (!alwaysAsk && (preferredAction == nsIHandlerInfo::useHelperApp ||
- preferredAction == nsIHandlerInfo::useSystemDefault)) {
- rv = handler->LaunchWithURI(uri, aBrowsingContext);
- // We are not supposed to ask, but when file not found the user most likely
- // uninstalled the application which handles the uri so we will continue
- // by application chooser dialog.
- if (rv != NS_ERROR_FILE_NOT_FOUND) {
- return rv;
- }
+ RefPtr<nsExternalLoadURIHandler> h = new nsExternalLoadURIHandler(
+ handler, uri, aTriggeringPrincipal, aBrowsingContext);
+ if (!h) {
+ return NS_ERROR_OUT_OF_MEMORY;
}
- nsCOMPtr<nsIContentDispatchChooser> chooser =
- do_CreateInstance("@mozilla.org/content-dispatch-chooser;1", &rv);
- NS_ENSURE_SUCCESS(rv, rv);
-
- return chooser->Ask(handler, uri, aTriggeringPrincipal, aBrowsingContext,
- nsIContentDispatchChooser::REASON_CANNOT_HANDLE);
+ return NS_OK;
}
//////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1171,6 +1281,7 @@ NS_INTERFACE_MAP_BEGIN(nsExternalAppHandler)
NS_INTERFACE_MAP_ENTRY(nsIStreamListener)
NS_INTERFACE_MAP_ENTRY(nsIRequestObserver)
NS_INTERFACE_MAP_ENTRY(nsIHelperAppLauncher)
+ NS_INTERFACE_MAP_ENTRY(nsIHelperAppWarningLauncher)
NS_INTERFACE_MAP_ENTRY(nsICancelable)
NS_INTERFACE_MAP_ENTRY(nsIBackgroundFileSaverObserver)
NS_INTERFACE_MAP_ENTRY(nsINamed)
@@ -1532,18 +1643,7 @@ void nsExternalAppHandler::MaybeApplyDecodingForExtension(
already_AddRefed<nsIInterfaceRequestor>
nsExternalAppHandler::GetDialogParent() {
- nsCOMPtr<nsIInterfaceRequestor> dialogParent = mWindowContext;
-
- if (!dialogParent && mBrowsingContext) {
- dialogParent = do_QueryInterface(mBrowsingContext->GetDOMWindow());
- }
- if (!dialogParent && mBrowsingContext && XRE_IsParentProcess()) {
- RefPtr<Element> element = mBrowsingContext->Top()->GetEmbedderElement();
- if (element) {
- dialogParent = do_QueryInterface(element->OwnerDoc()->GetWindow());
- }
- }
- return dialogParent.forget();
+ return GetDialogParentAux(mBrowsingContext, mWindowContext);
}
NS_IMETHODIMP nsExternalAppHandler::OnStartRequest(nsIRequest* request) {
@@ -1651,6 +1751,29 @@ NS_IMETHODIMP nsExternalAppHandler::OnStartRequest(nsIRequest* request) {
MOZ_ASSERT(NS_SUCCEEDED(rv));
}
+ mWarningDialog = do_CreateInstance(WARNING_DIALOG_CONTRACT_ID, &rv);
+ if (NS_SUCCEEDED(rv) && mWarningDialog) {
+ // This will create a reference cycle (the dialog holds a reference to us
+ // as nsIHelperAppWarningLauncher), which will be broken in ContinueRequest
+ // or CancelRequest.
+ nsCOMPtr<nsIInterfaceRequestor> dialogParent = GetDialogParent();
+ rv = mWarningDialog->MaybeShow(this, dialogParent);
+ }
+
+ if (NS_FAILED(rv)) {
+ // If for some reason we could not open the download warning prompt,
+ // continue with the request.
+ ContinueRequest();
+ }
+
+ return NS_OK;
+}
+
+NS_IMETHODIMP nsExternalAppHandler::ContinueRequest() {
+ // Break our reference cycle with the download warning dialog (set up in
+ // OnStartRequest).
+ mWarningDialog = nullptr;
+
// now that the temp file is set up, find out if we need to invoke a dialog
// asking the user what they want us to do with this content...
@@ -1736,6 +1859,7 @@ NS_IMETHODIMP nsExternalAppHandler::OnStartRequest(nsIRequest* request) {
action = nsIMIMEInfo::saveToDisk;
}
+ nsresult rv = NS_OK;
if (alwaysAsk) {
// Display the dialog
mDialog = do_CreateInstance(NS_HELPERAPPLAUNCHERDLG_CONTRACTID, &rv);
@@ -1793,6 +1917,14 @@ NS_IMETHODIMP nsExternalAppHandler::OnStartRequest(nsIRequest* request) {
return NS_OK;
}
+NS_IMETHODIMP nsExternalAppHandler::CancelRequest(nsresult aReason) {
+ // Break our reference cycle with the download warning dialog (set up in
+ // OnStartRequest).
+ mWarningDialog = nullptr;
+
+ return Cancel(aReason);
+}
+
// Convert error info into proper message text and send OnStatusChange
// notification to the dialog progress listener or nsITransfer implementation.
void nsExternalAppHandler::SendStatusChange(ErrorType type, nsresult rv,
@@ -2456,7 +2588,7 @@ NS_IMETHODIMP nsExternalAppHandler::Cancel(nsresult aReason) {
}
// Break our reference cycle with the helper app dialog (set up in
- // OnStartRequest)
+ // ContinueRequest)
mDialog = nullptr;
mRequest = nullptr;
diff --git a/uriloader/exthandler/nsExternalHelperAppService.h b/uriloader/exthandler/nsExternalHelperAppService.h
index f2bd67f64ccd..8c2d8817ac7b 100644
--- a/uriloader/exthandler/nsExternalHelperAppService.h
+++ b/uriloader/exthandler/nsExternalHelperAppService.h
@@ -203,6 +203,7 @@ class nsExternalHelperAppService : public nsIExternalHelperAppService,
*/
class nsExternalAppHandler final : public nsIStreamListener,
public nsIHelperAppLauncher,
+ public nsIHelperAppWarningLauncher,
public nsIBackgroundFileSaverObserver,
public nsINamed {
public:
@@ -210,6 +211,7 @@ class nsExternalAppHandler final : public nsIStreamListener,
NS_DECL_NSISTREAMLISTENER
NS_DECL_NSIREQUESTOBSERVER
NS_DECL_NSIHELPERAPPLAUNCHER
+ NS_DECL_NSIHELPERAPPWARNINGLAUNCHER
NS_DECL_NSICANCELABLE
NS_DECL_NSIBACKGROUNDFILESAVEROBSERVER
NS_DECL_NSINAMED
@@ -460,6 +462,7 @@ class nsExternalAppHandler final : public nsIStreamListener,
nsCOMPtr<nsITransfer> mTransfer;
nsCOMPtr<nsIHelperAppLauncherDialog> mDialog;
+ nsCOMPtr<nsIHelperAppWarningDialog> mWarningDialog;
/**
diff --git a/uriloader/exthandler/nsIExternalHelperAppService.idl b/uriloader/exthandler/nsIExternalHelperAppService.idl
index ea8b9b08f3e6..8b58671f7597 100644
--- a/uriloader/exthandler/nsIExternalHelperAppService.idl
+++ b/uriloader/exthandler/nsIExternalHelperAppService.idl
@@ -182,3 +182,50 @@ interface nsIHelperAppLauncher : nsICancelable
*/
readonly attribute uint64_t browsingContextId;
};
+
+/**
+ * nsIHelperAppWarningLauncher is implemented by two classes:
+ * nsExternalLoadURIHandler
+ * nsExternalAppHandler
+ */
+[scriptable, uuid(cffd508b-4aaf-43ad-99c6-671d35cbc558)]
+interface nsIHelperAppWarningLauncher : nsISupports
+{
+ /**
+ * Callback invoked by the external app warning dialog to continue the
+ * request.
+ * NOTE: This will release the reference to the nsIHelperAppWarningDialog.
+ */
+ void continueRequest();
+
+ /**
+ * Callback invoked by the external app warning dialog to cancel the request.
+ * NOTE: This will release the reference to the nsIHelperAppWarningDialog.
+ *
+ * @param aReason
+ * Pass a failure code to indicate the reason why this operation is
+ * being canceled. It is an error to pass a success code.
+ */
+ void cancelRequest(in nsresult aReason);
+};
+
+/**
+ * nsIHelperAppWarningDialog is implemented by Torbutton's external app
+ * blocker (src/components/external-app-blocker.js).
+ */
+[scriptable, uuid(f4899a3f-0df3-42cc-9db8-bdf599e5a208)]
+interface nsIHelperAppWarningDialog : nsISupports
+{
+ /**
+ * Possibly show a launch warning dialog (it will not be shown if the user
+ * has chosen to not see the warning again).
+ *
+ * @param aLauncher
+ * A nsIHelperAppWarningLauncher to be invoked after the user confirms
+ * or cancels the download.
+ * @param aWindowContext
+ * The window associated with the download.
+ */
+ void maybeShow(in nsIHelperAppWarningLauncher aLauncher,
+ in nsISupports aWindowContext);
+};
1
0
[tor-browser/tor-browser-78.7.1esr-10.0-1] Bug 21724: Make Firefox and Tor Browser distinct macOS apps
by sysrqb@torproject.org 05 Feb '21
by sysrqb@torproject.org 05 Feb '21
05 Feb '21
commit f5392fb91cda23348952dba3366a917f5802cd5b
Author: teor <teor2345(a)gmail.com>
Date: Mon Mar 13 23:06:23 2017 +1100
Bug 21724: Make Firefox and Tor Browser distinct macOS apps
When macOS opens a document or selects a default browser, it sometimes
uses the CFBundleSignature. Changing from the Firefox MOZB signature to
a different signature TORB allows macOS to distinguish between Firefox
and Tor Browser.
---
browser/app/Makefile.in | 2 +-
browser/app/macbuild/Contents/Info.plist.in | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/browser/app/Makefile.in b/browser/app/Makefile.in
index 1aec6541fc0f..6770319f1866 100644
--- a/browser/app/Makefile.in
+++ b/browser/app/Makefile.in
@@ -103,5 +103,5 @@ ifdef MOZ_UPDATER
mv -f '$(dist_dest)/Contents/MacOS/updater.app/Contents/MacOS/org.mozilla.updater' '$(dist_dest)/Contents/Library/LaunchServices'
ln -s ../../../../Library/LaunchServices/org.mozilla.updater '$(dist_dest)/Contents/MacOS/updater.app/Contents/MacOS/org.mozilla.updater'
endif
- printf APPLMOZB > '$(dist_dest)/Contents/PkgInfo'
+ printf APPLTORB > '$(dist_dest)/Contents/PkgInfo'
endif
diff --git a/browser/app/macbuild/Contents/Info.plist.in b/browser/app/macbuild/Contents/Info.plist.in
index f6791ea48125..95b3bc83905c 100644
--- a/browser/app/macbuild/Contents/Info.plist.in
+++ b/browser/app/macbuild/Contents/Info.plist.in
@@ -179,7 +179,7 @@
<key>CFBundleShortVersionString</key>
<string>%APP_VERSION%</string>
<key>CFBundleSignature</key>
- <string>MOZB</string>
+ <string>TORB</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
1
0
[tor-browser/tor-browser-78.7.1esr-10.0-1] Bug 13379: Sign our MAR files.
by sysrqb@torproject.org 05 Feb '21
by sysrqb@torproject.org 05 Feb '21
05 Feb '21
commit a4e4854ccfb1fd760a533a1c767cbf00eb83e187
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Wed Dec 17 16:37:11 2014 -0500
Bug 13379: Sign our MAR files.
Configure with --enable-verify-mar (when updating, require a valid
signature on the MAR file before it is applied).
Use the Tor Browser version instead of the Firefox version inside the
MAR file info block (necessary to prevent downgrade attacks).
Use NSS on all platforms for checking MAR signatures (instead of using
OS-native APIs, which Mozilla does on Mac OS and Windows). So that the
NSS and NSPR libraries the updater depends on can be found at runtime,
we add the firefox directory to the shared library search path on macOS.
On Linux, rpath is used by Mozilla to solve that problem, but that
approach won't work on macOS because the updater executable is copied
during the update process to a location that is under TorBrowser-Data,
and the location of TorBrowser-Data varies.
Also includes the fix for bug 18900.
---
.mozconfig | 1 +
.mozconfig-asan | 1 +
.mozconfig-mac | 1 +
.mozconfig-mingw | 1 +
modules/libmar/tool/mar.c | 6 +--
modules/libmar/tool/moz.build | 12 ++++--
modules/libmar/verify/moz.build | 14 +++---
.../mozapps/update/updater/updater-common.build | 24 +++++++++--
toolkit/mozapps/update/updater/updater.cpp | 25 +++++++----
toolkit/xre/moz.build | 3 ++
toolkit/xre/nsUpdateDriver.cpp | 50 ++++++++++++++++++++++
11 files changed, 113 insertions(+), 25 deletions(-)
diff --git a/.mozconfig b/.mozconfig
index 24efaea57b0b..d71c858844e3 100755
--- a/.mozconfig
+++ b/.mozconfig
@@ -36,3 +36,4 @@ ac_add_options MOZ_TELEMETRY_REPORTING=
ac_add_options --disable-tor-launcher
ac_add_options --with-tor-browser-version=dev-build
ac_add_options --disable-tor-browser-update
+ac_add_options --enable-verify-mar
diff --git a/.mozconfig-asan b/.mozconfig-asan
index d812a55a9cea..a1c4e467cf1a 100644
--- a/.mozconfig-asan
+++ b/.mozconfig-asan
@@ -29,6 +29,7 @@ ac_add_options --enable-official-branding
ac_add_options --enable-default-toolkit=cairo-gtk3
ac_add_options --enable-tor-browser-update
+ac_add_options --enable-verify-mar
ac_add_options --disable-strip
ac_add_options --disable-install-strip
diff --git a/.mozconfig-mac b/.mozconfig-mac
index 1f89cab30bbc..9be7751f8241 100644
--- a/.mozconfig-mac
+++ b/.mozconfig-mac
@@ -42,6 +42,7 @@ ac_add_options --disable-debug
ac_add_options --enable-tor-browser-data-outside-app-dir
ac_add_options --enable-tor-browser-update
+ac_add_options --enable-verify-mar
ac_add_options --disable-crashreporter
ac_add_options --disable-webrtc
diff --git a/.mozconfig-mingw b/.mozconfig-mingw
index 4fb050308060..29c58d8fdab2 100644
--- a/.mozconfig-mingw
+++ b/.mozconfig-mingw
@@ -14,6 +14,7 @@ ac_add_options --enable-strip
ac_add_options --enable-official-branding
ac_add_options --enable-tor-browser-update
+ac_add_options --enable-verify-mar
ac_add_options --disable-bits-download
# Let's make sure no preference is enabling either Adobe's or Google's CDM.
diff --git a/modules/libmar/tool/mar.c b/modules/libmar/tool/mar.c
index 0bf2cb4bd1d4..ea2b79924914 100644
--- a/modules/libmar/tool/mar.c
+++ b/modules/libmar/tool/mar.c
@@ -65,7 +65,7 @@ static void print_usage() {
"signed_input_archive.mar base_64_encoded_signature_file "
"changed_signed_output.mar\n");
printf("(i) is the index of the certificate to extract\n");
-# if defined(XP_MACOSX) || (defined(XP_WIN) && !defined(MAR_NSS))
+# if (defined(XP_MACOSX) || defined(XP_WIN)) && !defined(MAR_NSS)
printf("Verify a MAR file:\n");
printf(" mar [-C workingDir] -D DERFilePath -v signed_archive.mar\n");
printf(
@@ -149,7 +149,7 @@ int main(int argc, char** argv) {
memset((void*)certBuffers, 0, sizeof(certBuffers));
#endif
#if !defined(NO_SIGN_VERIFY) && \
- ((!defined(MAR_NSS) && defined(XP_WIN)) || defined(XP_MACOSX))
+ (!defined(MAR_NSS) && (defined(XP_WIN) || defined(XP_MACOSX)))
memset(DERFilePaths, 0, sizeof(DERFilePaths));
memset(fileSizes, 0, sizeof(fileSizes));
#endif
@@ -181,7 +181,7 @@ int main(int argc, char** argv) {
argc -= 2;
}
#if !defined(NO_SIGN_VERIFY)
-# if (!defined(MAR_NSS) && defined(XP_WIN)) || defined(XP_MACOSX)
+# if (!defined(MAR_NSS) && (defined(XP_WIN) || defined(XP_MACOSX)))
/* -D DERFilePath, also matches -D[index] DERFilePath
We allow an index for verifying to be symmetric
with the import and export command line arguments. */
diff --git a/modules/libmar/tool/moz.build b/modules/libmar/tool/moz.build
index 19653fb0b073..8953af0bb15c 100644
--- a/modules/libmar/tool/moz.build
+++ b/modules/libmar/tool/moz.build
@@ -35,15 +35,21 @@ if CONFIG['MOZ_BUILD_APP'] != 'tools/update-packaging':
'verifymar',
]
+ if CONFIG['TOR_BROWSER_UPDATE']:
+ DEFINES['MAR_NSS'] = True
+
if CONFIG['OS_ARCH'] == 'WINNT':
USE_STATIC_LIBS = True
OS_LIBS += [
'ws2_32',
- 'crypt32',
- 'advapi32',
]
- elif CONFIG['OS_ARCH'] == 'Darwin':
+ if not CONFIG['TOR_BROWSER_UPDATE']:
+ OS_LIBS += [
+ 'crypt32',
+ 'advapi32',
+ ]
+ elif CONFIG['OS_ARCH'] == 'Darwin' and not CONFIG['TOR_BROWSER_UPDATE']:
OS_LIBS += [
'-framework Security',
]
diff --git a/modules/libmar/verify/moz.build b/modules/libmar/verify/moz.build
index 9f7dc56f8f8a..e1c6ced31c37 100644
--- a/modules/libmar/verify/moz.build
+++ b/modules/libmar/verify/moz.build
@@ -16,15 +16,12 @@ FORCE_STATIC_LIB = True
if CONFIG['OS_ARCH'] == 'WINNT':
USE_STATIC_LIBS = True
elif CONFIG['OS_ARCH'] == 'Darwin':
- UNIFIED_SOURCES += [
- 'MacVerifyCrypto.cpp',
- ]
- OS_LIBS += [
- '-framework Security',
+ USE_LIBS += [
+ 'nspr',
+ 'nss',
+ 'signmar',
]
else:
- DEFINES['MAR_NSS'] = True
- LOCAL_INCLUDES += ['../sign']
USE_LIBS += [
'nspr',
'nss',
@@ -38,6 +35,9 @@ else:
'-Wl,-rpath=\\$$ORIGIN',
]
+DEFINES['MAR_NSS'] = True
+LOCAL_INCLUDES += ['../sign']
+
LOCAL_INCLUDES += [
'../src',
]
diff --git a/toolkit/mozapps/update/updater/updater-common.build b/toolkit/mozapps/update/updater/updater-common.build
index 5898e92d465d..9f8365df8ade 100644
--- a/toolkit/mozapps/update/updater/updater-common.build
+++ b/toolkit/mozapps/update/updater/updater-common.build
@@ -4,6 +4,10 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+DEFINES['MAR_NSS'] = True
+
+link_with_nss = DEFINES['MAR_NSS'] or (CONFIG['OS_ARCH'] == 'Linux' and CONFIG['MOZ_VERIFY_MAR_SIGNATURE'])
+
srcs = [
'archivereader.cpp',
'updater.cpp',
@@ -36,10 +40,14 @@ if CONFIG['OS_ARCH'] == 'WINNT':
'ws2_32',
'shell32',
'shlwapi',
- 'crypt32',
- 'advapi32',
]
+ if not link_with_nss:
+ OS_LIBS += [
+ 'crypt32',
+ 'advapi32',
+ ]
+
USE_LIBS += [
'bspatch',
'mar',
@@ -47,6 +55,13 @@ USE_LIBS += [
'xz-embedded',
]
+if link_with_nss:
+ USE_LIBS += [
+ 'nspr',
+ 'nss',
+ 'signmar',
+ ]
+
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'gtk':
have_progressui = 1
srcs += [
@@ -61,9 +76,12 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
]
OS_LIBS += [
'-framework Cocoa',
- '-framework Security',
'-framework SystemConfiguration',
]
+ if not link_with_nss:
+ OS_LIBS += [
+ '-framework Security',
+ ]
UNIFIED_SOURCES += [
'/toolkit/xre/updaterfileutils_osx.mm',
]
diff --git a/toolkit/mozapps/update/updater/updater.cpp b/toolkit/mozapps/update/updater/updater.cpp
index 9a95c3b17761..aaec0b38dda0 100644
--- a/toolkit/mozapps/update/updater/updater.cpp
+++ b/toolkit/mozapps/update/updater/updater.cpp
@@ -106,9 +106,11 @@ struct UpdateServerThreadArgs {
# define USE_EXECV
#endif
-#if defined(MOZ_VERIFY_MAR_SIGNATURE) && !defined(XP_WIN) && !defined(XP_MACOSX)
-# include "nss.h"
-# include "prerror.h"
+#if defined(MOZ_VERIFY_MAR_SIGNATURE)
+# if defined(MAR_NSS) || (!defined(XP_WIN) && !defined(XP_MACOSX))
+# include "nss.h"
+# include "prerror.h"
+# endif
#endif
#include "crctable.h"
@@ -2738,8 +2740,13 @@ static void UpdateThreadFunc(void* param) {
if (ReadMARChannelIDs(updateSettingsPath, &MARStrings) != OK) {
rv = UPDATE_SETTINGS_FILE_CHANNEL;
} else {
+# ifdef TOR_BROWSER_UPDATE
+ const char* appVersion = TOR_BROWSER_VERSION_QUOTED;
+# else
+ const char* appVersion = MOZ_APP_VERSION;
+# endif
rv = gArchiveReader.VerifyProductInformation(MARStrings.MARChannelID,
- MOZ_APP_VERSION);
+ appVersion);
}
}
}
@@ -2940,11 +2947,10 @@ int NS_main(int argc, NS_tchar** argv) {
}
#endif
-#if defined(MOZ_VERIFY_MAR_SIGNATURE) && !defined(XP_WIN) && !defined(XP_MACOSX)
- // On Windows and Mac we rely on native APIs to do verifications so we don't
- // need to initialize NSS at all there.
- // Otherwise, minimize the amount of NSS we depend on by avoiding all the NSS
- // databases.
+#if defined(MOZ_VERIFY_MAR_SIGNATURE)
+# if defined(MAR_NSS) || (!defined(XP_WIN) && !defined(XP_MACOSX))
+ // If using NSS for signature verification, initialize NSS but minimize
+ // the portion we depend on by avoiding all of the NSS databases.
if (NSS_NoDB_Init(nullptr) != SECSuccess) {
PRErrorCode error = PR_GetError();
fprintf(stderr, "Could not initialize NSS: %s (%d)", PR_ErrorToName(error),
@@ -2952,6 +2958,7 @@ int NS_main(int argc, NS_tchar** argv) {
_exit(1);
}
#endif
+#endif
#ifdef XP_MACOSX
if (!isElevated) {
diff --git a/toolkit/xre/moz.build b/toolkit/xre/moz.build
index 7ba3be2fe241..6afab145c2b6 100644
--- a/toolkit/xre/moz.build
+++ b/toolkit/xre/moz.build
@@ -214,6 +214,9 @@ for var in ('APP_VERSION', 'APP_ID'):
if CONFIG['MOZ_BUILD_APP'] == 'browser':
DEFINES['MOZ_BUILD_APP_IS_BROWSER'] = True
+if CONFIG['TOR_BROWSER_UPDATE']:
+ DEFINES['MAR_NSS'] = True
+
LOCAL_INCLUDES += [
'../../other-licenses/nsis/Contrib/CityHash/cityhash',
'../components/find',
diff --git a/toolkit/xre/nsUpdateDriver.cpp b/toolkit/xre/nsUpdateDriver.cpp
index 55d1982504ed..1cbee302719f 100644
--- a/toolkit/xre/nsUpdateDriver.cpp
+++ b/toolkit/xre/nsUpdateDriver.cpp
@@ -360,6 +360,42 @@ static nsresult GetUpdateDirFromAppDir(nsIFile* aAppDir, nsIFile** aResult) {
# endif
#endif
+#if defined(TOR_BROWSER_UPDATE) && defined(MOZ_VERIFY_MAR_SIGNATURE) && \
+ defined(MAR_NSS) && defined(XP_MACOSX)
+/**
+ * Ideally we would save and restore the original library path value after
+ * the updater finishes its work (and before firefox is re-launched).
+ * Doing so would avoid potential problems like the following bug:
+ * https://bugzilla.mozilla.org/show_bug.cgi?id=1434033
+ */
+/**
+ * Appends the specified path to the library path.
+ * This is used so that the updater can find libnss3.dylib and other
+ * shared libs.
+ *
+ * @param pathToAppend A new library path to prepend to the dynamic linker's
+ * search path.
+ */
+# include "prprf.h"
+# define PATH_SEPARATOR ":"
+# define LD_LIBRARY_PATH_ENVVAR_NAME "DYLD_LIBRARY_PATH"
+static void AppendToLibPath(const char* pathToAppend) {
+ char* pathValue = getenv(LD_LIBRARY_PATH_ENVVAR_NAME);
+ if (nullptr == pathValue || '\0' == *pathValue) {
+ // Leak the string because that is required by PR_SetEnv.
+ char* s =
+ Smprintf("%s=%s", LD_LIBRARY_PATH_ENVVAR_NAME, pathToAppend).release();
+ PR_SetEnv(s);
+ } else {
+ // Leak the string because that is required by PR_SetEnv.
+ char* s = Smprintf("%s=%s" PATH_SEPARATOR "%s", LD_LIBRARY_PATH_ENVVAR_NAME,
+ pathToAppend, pathValue)
+ .release();
+ PR_SetEnv(s);
+ }
+}
+#endif
+
/**
* Applies, switches, or stages an update.
*
@@ -606,6 +642,20 @@ static void ApplyUpdate(nsIFile* greDir, nsIFile* updateDir, nsIFile* appDir,
PR_SetEnv("MOZ_SAFE_MODE_RESTART=1");
}
+#if defined(TOR_BROWSER_UPDATE) && defined(MOZ_VERIFY_MAR_SIGNATURE) && \
+ defined(MAR_NSS) && defined(XP_MACOSX)
+ // On macOS, append the app directory to the shared library search path
+ // so the system can locate the shared libraries that are needed by the
+ // updater, e.g., libnss3.dylib).
+ nsAutoCString appPath;
+ nsresult rv2 = appDir->GetNativePath(appPath);
+ if (NS_SUCCEEDED(rv2)) {
+ AppendToLibPath(appPath.get());
+ } else {
+ LOG(("ApplyUpdate -- appDir->GetNativePath() failed (0x%x)\n", rv2));
+ }
+#endif
+
LOG(("spawning updater process [%s]\n", updaterPath.get()));
#ifdef DEBUG
dump_argv("ApplyUpdate updater", argv, argc);
1
0
[tor-browser/tor-browser-78.7.1esr-10.0-1] Bug 11641: change TBB directory structure to be more like Firefox's
by sysrqb@torproject.org 05 Feb '21
by sysrqb@torproject.org 05 Feb '21
05 Feb '21
commit df9930de085b8e10e34b18165612d0cfaf30e648
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue Apr 29 13:08:24 2014 -0400
Bug 11641: change TBB directory structure to be more like Firefox's
Unless the -osint command line flag is used, the browser now defaults
to the equivalent of -no-remote. There is a new -allow-remote flag that
may be used to restore the original (Firefox-like) default behavior.
---
toolkit/xre/nsAppRunner.cpp | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index 8e76213e7923..1fd397f4aae8 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -1434,8 +1434,10 @@ static void DumpHelp() {
" --migration Start with migration wizard.\n"
" --ProfileManager Start with ProfileManager.\n"
#ifdef MOZ_HAS_REMOTE
- " --no-remote Do not accept or send remote commands; implies\n"
+ " --no-remote (default) Do not accept or send remote commands; "
+ "implies\n"
" --new-instance.\n"
+ " --allow-remote Accept and send remote commands.\n"
" --new-instance Open new instance, not a new window in running "
"instance.\n"
#endif
@@ -3548,16 +3550,25 @@ int XREMain::XRE_mainInit(bool* aExitFlag) {
gSafeMode);
#if defined(MOZ_HAS_REMOTE)
+ // In Tor Browser, remoting is disabled by default unless -osint is used.
+ bool allowRemote = (CheckArg("allow-remote") == ARG_FOUND);
+ bool isOsint = (CheckArg("osint", nullptr, CheckArgFlag::None) == ARG_FOUND);
+ if (!allowRemote && !isOsint) {
+ SaveToEnv("MOZ_NO_REMOTE=1");
+ }
// Handle --no-remote and --new-instance command line arguments. Setup
// the environment to better accommodate other components and various
// restart scenarios.
ar = CheckArg("no-remote");
- if (ar == ARG_FOUND || EnvHasValue("MOZ_NO_REMOTE")) {
+ if ((ar == ARG_FOUND) && allowRemote) {
+ PR_fprintf(PR_STDERR,
+ "Error: argument --no-remote is invalid when argument "
+ "--allow-remote is specified\n");
+ return 1;
+ }
+ if (EnvHasValue("MOZ_NO_REMOTE")) {
mDisableRemoteClient = true;
mDisableRemoteServer = true;
- if (!EnvHasValue("MOZ_NO_REMOTE")) {
- SaveToEnv("MOZ_NO_REMOTE=1");
- }
}
ar = CheckArg("new-instance");
1
0
[tor-browser/tor-browser-78.7.1esr-10.0-1] Bug 16940: After update, load local change notes.
by sysrqb@torproject.org 05 Feb '21
by sysrqb@torproject.org 05 Feb '21
05 Feb '21
commit 5eb1eaa4a0443c4ce44c3101cb3102897a920e4d
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Wed Nov 25 11:36:20 2015 -0500
Bug 16940: After update, load local change notes.
Add an about:tbupdate page that displays the first section from
TorBrowser/Docs/ChangeLog.txt and includes a link to the remote
post-update page (typically our blog entry for the release).
Always load about:tbupdate in a content process, but implement the
code that reads the file system (changelog) in the chrome process
for compatibility with future sandboxing efforts.
Also fix bug 29440. Now about:tbupdate is styled as a fairly simple
changelog page that is designed to be displayed via a link that is on
about:tor.
---
browser/actors/AboutTBUpdateChild.jsm | 53 ++++++++
browser/actors/moz.build | 5 +
.../base/content/abouttbupdate/aboutTBUpdate.css | 74 ++++++++++++
.../base/content/abouttbupdate/aboutTBUpdate.js | 10 ++
.../base/content/abouttbupdate/aboutTBUpdate.xhtml | 39 ++++++
browser/base/content/browser-siteIdentity.js | 2 +-
browser/base/content/browser.js | 4 +
browser/base/jar.mn | 5 +
browser/components/BrowserContentHandler.jsm | 55 ++++++---
browser/components/BrowserGlue.jsm | 25 ++++
browser/components/about/AboutRedirector.cpp | 6 +
browser/components/about/components.conf | 3 +
browser/components/moz.build | 5 +-
.../locales/en-US/chrome/browser/aboutTBUpdate.dtd | 8 ++
browser/locales/jar.mn | 3 +
browser/modules/AboutTBUpdate.jsm | 134 +++++++++++++++++++++
browser/modules/moz.build | 5 +
17 files changed, 420 insertions(+), 16 deletions(-)
diff --git a/browser/actors/AboutTBUpdateChild.jsm b/browser/actors/AboutTBUpdateChild.jsm
new file mode 100644
index 000000000000..91bb4dbba888
--- /dev/null
+++ b/browser/actors/AboutTBUpdateChild.jsm
@@ -0,0 +1,53 @@
+// Copyright (c) 2019, The Tor Project, Inc.
+// See LICENSE for licensing information.
+//
+// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
+
+var EXPORTED_SYMBOLS = ["AboutTBUpdateChild"];
+
+const {ActorChild} = ChromeUtils.import("resource://gre/modules/ActorChild.jsm");
+
+class AboutTBUpdateChild extends ActorChild {
+ receiveMessage(aMessage) {
+ if (aMessage.name == "AboutTBUpdate:Update")
+ this.onUpdate(aMessage.data);
+ }
+
+ handleEvent(aEvent) {
+ switch (aEvent.type) {
+ case "AboutTBUpdateLoad":
+ this.onPageLoad();
+ break;
+ case "pagehide":
+ this.onPageHide(aEvent);
+ break;
+ }
+ }
+
+ // aData may contain the following string properties:
+ // version
+ // releaseDate
+ // moreInfoURL
+ // releaseNotes
+ onUpdate(aData) {
+ let doc = this.content.document;
+ doc.getElementById("version-content").textContent = aData.version;
+ if (aData.releaseDate) {
+ doc.body.setAttribute("havereleasedate", "true");
+ doc.getElementById("releasedate-content").textContent = aData.releaseDate;
+ }
+ if (aData.moreInfoURL)
+ doc.getElementById("infolink").setAttribute("href", aData.moreInfoURL);
+ doc.getElementById("releasenotes-content").textContent = aData.releaseNotes;
+ }
+
+ onPageLoad() {
+ this.mm.sendAsyncMessage("AboutTBUpdate:RequestUpdate");
+ }
+
+ onPageHide(aEvent) {
+ if (aEvent.target.defaultView.frameElement) {
+ return;
+ }
+ }
+}
diff --git a/browser/actors/moz.build b/browser/actors/moz.build
index 4b903146699e..e70f0f09fe3a 100644
--- a/browser/actors/moz.build
+++ b/browser/actors/moz.build
@@ -74,3 +74,8 @@ FINAL_TARGET_FILES.actors += [
'WebRTCChild.jsm',
'WebRTCParent.jsm',
]
+
+if CONFIG['TOR_BROWSER_UPDATE']:
+ FINAL_TARGET_FILES.actors += [
+ 'AboutTBUpdateChild.jsm',
+ ]
diff --git a/browser/base/content/abouttbupdate/aboutTBUpdate.css b/browser/base/content/abouttbupdate/aboutTBUpdate.css
new file mode 100644
index 000000000000..7c1a34b77f17
--- /dev/null
+++ b/browser/base/content/abouttbupdate/aboutTBUpdate.css
@@ -0,0 +1,74 @@
+/*
+ * Copyright (c) 2019, The Tor Project, Inc.
+ * See LICENSE for licensing information.
+ *
+ * vim: set sw=2 sts=2 ts=8 et syntax=css:
+ */
+
+:root {
+ --abouttor-text-color: white;
+ --abouttor-bg-toron-color: #420C5D;
+}
+
+body {
+ font-family: Helvetica, Arial, sans-serif;
+ color: var(--abouttor-text-color);
+ background-color: var(--abouttor-bg-toron-color);
+ background-attachment: fixed;
+ background-size: 100% 100%;
+}
+
+a {
+ color: var(--abouttor-text-color);
+}
+
+.two-column-grid {
+ display: inline-grid;
+ grid-template-columns: auto auto;
+ grid-column-gap: 50px;
+ margin: 10px 0px 0px 50px;
+}
+
+.two-column-grid div {
+ margin-top: 40px;
+ align-self: baseline; /* Align baseline of text across the row. */
+}
+
+.label-column {
+ font-size: 14px;
+ font-weight: 400;
+}
+
+/*
+ * Use a reduced top margin to bring the row that contains the
+ * "visit our website" link closer to the row that precedes it. This
+ * looks better because the "visit our website" row does not have a
+ * label in the left column.
+ */
+div.more-info-row {
+ margin-top: 5px;
+ font-size: 14px;
+}
+
+#version-content {
+ font-size: 50px;
+ font-weight: 300;
+}
+
+body:not([havereleasedate]) .release-date-cell {
+ display: none;
+}
+
+#releasedate-content {
+ font-size: 17px;
+}
+
+#releasenotes-label {
+ align-self: start; /* Anchor "Release Notes" label at the top. */
+}
+
+#releasenotes-content {
+ font-family: monospace;
+ font-size: 15px;
+ white-space: pre;
+}
diff --git a/browser/base/content/abouttbupdate/aboutTBUpdate.js b/browser/base/content/abouttbupdate/aboutTBUpdate.js
new file mode 100644
index 000000000000..da7553f0ae81
--- /dev/null
+++ b/browser/base/content/abouttbupdate/aboutTBUpdate.js
@@ -0,0 +1,10 @@
+// Copyright (c) 2019, The Tor Project, Inc.
+// See LICENSE for licensing information.
+//
+// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
+
+
+addEventListener("load", () => {
+ let event = new CustomEvent("AboutTBUpdateLoad", { bubbles: true });
+ document.dispatchEvent(event);
+});
diff --git a/browser/base/content/abouttbupdate/aboutTBUpdate.xhtml b/browser/base/content/abouttbupdate/aboutTBUpdate.xhtml
new file mode 100644
index 000000000000..8489cfef5083
--- /dev/null
+++ b/browser/base/content/abouttbupdate/aboutTBUpdate.xhtml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE html [
+ <!ENTITY % htmlDTD
+ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "DTD/xhtml1-strict.dtd">
+ %htmlDTD;
+ <!ENTITY % globalDTD SYSTEM "chrome://global/locale/global.dtd">
+ %globalDTD;
+ <!ENTITY % tbUpdateDTD SYSTEM "chrome://browser/locale/aboutTBUpdate.dtd">
+ %tbUpdateDTD;
+]>
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+ <meta http-equiv="Content-Security-Policy" content="default-src chrome:; object-src 'none'" />
+ <title>&aboutTBUpdate.changelogTitle;</title>
+ <link rel="stylesheet" type="text/css"
+ href="chrome://browser/content/abouttbupdate/aboutTBUpdate.css"/>
+ <script src="chrome://browser/content/abouttbupdate/aboutTBUpdate.js"
+ type="text/javascript"/>
+</head>
+<body dir="&locale.dir;">
+<div class="two-column-grid">
+ <div class="label-column">&aboutTBUpdate.version;</div>
+ <div id="version-content"/>
+
+ <div class="label-column release-date-cell">&aboutTBUpdate.releaseDate;</div>
+ <div id="releasedate-content" class="release-date-cell"/>
+
+ <div class="more-info-row"/>
+ <div class="more-info-row">&aboutTBUpdate.linkPrefix;<a id="infolink">&aboutTBUpdate.linkLabel;</a>&aboutTBUpdate.linkSuffix;</div>
+
+ <div id="releasenotes-label"
+ class="label-column">&aboutTBUpdate.releaseNotes;</div>
+ <div id="releasenotes-content"></div>
+</div>
+</body>
+</html>
diff --git a/browser/base/content/browser-siteIdentity.js b/browser/base/content/browser-siteIdentity.js
index d545ee055367..80c3f2a86538 100644
--- a/browser/base/content/browser-siteIdentity.js
+++ b/browser/base/content/browser-siteIdentity.js
@@ -57,7 +57,7 @@ var gIdentityHandler = {
* RegExp used to decide if an about url should be shown as being part of
* the browser UI.
*/
- _secureInternalUIWhitelist: /^(?:accounts|addons|cache|certificate|config|crashes|downloads|license|logins|preferences|protections|rights|sessionrestore|support|welcomeback)(?:[?#]|$)/i,
+ _secureInternalUIWhitelist: (AppConstants.TOR_BROWSER_UPDATE ? /^(?:accounts|addons|cache|certificate|config|crashes|downloads|license|logins|preferences|protections|rights|sessionrestore|support|welcomeback|tor|tbupdate)(?:[?#]|$)/i : /^(?:accounts|addons|cache|certificate|config|crashes|downloads|license|logins|preferences|protections|rights|sessionrestore|support|welcomeback|tor)(?:[?#]|$)/i),
/**
* Whether the established HTTPS connection is considered "broken".
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index f7d60d5d8bd6..b21807a5de65 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -631,6 +631,10 @@ var gInitialPages = [
"about:newinstall",
];
+if (AppConstants.TOR_BROWSER_UPDATE) {
+ gInitialPages.push("about:tbupdate");
+}
+
function isInitialPage(url) {
if (!(url instanceof Ci.nsIURI)) {
try {
diff --git a/browser/base/jar.mn b/browser/base/jar.mn
index a2e1f9c259d2..df65349796b5 100644
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -29,6 +29,11 @@ browser.jar:
content/browser/aboutTabCrashed.css (content/aboutTabCrashed.css)
content/browser/aboutTabCrashed.js (content/aboutTabCrashed.js)
content/browser/aboutTabCrashed.xhtml (content/aboutTabCrashed.xhtml)
+#ifdef TOR_BROWSER_UPDATE
+ content/browser/abouttbupdate/aboutTBUpdate.xhtml (content/abouttbupdate/aboutTBUpdate.xhtml)
+ content/browser/abouttbupdate/aboutTBUpdate.js (content/abouttbupdate/aboutTBUpdate.js)
+ content/browser/abouttbupdate/aboutTBUpdate.css (content/abouttbupdate/aboutTBUpdate.css)
+#endif
* content/browser/browser.css (content/browser.css)
content/browser/browser.js (content/browser.js)
* content/browser/browser.xhtml (content/browser.xhtml)
diff --git a/browser/components/BrowserContentHandler.jsm b/browser/components/BrowserContentHandler.jsm
index 9f5b6ab0218c..1cc1015414fc 100644
--- a/browser/components/BrowserContentHandler.jsm
+++ b/browser/components/BrowserContentHandler.jsm
@@ -650,6 +650,23 @@ nsBrowserContentHandler.prototype = {
}
}
+ // Retrieve the home page early so we can compare it against about:tor
+ // to decide whether or not we need an override page (second tab) after
+ // an update was applied.
+ var startPage = "";
+ try {
+ var choice = prefb.getIntPref("browser.startup.page");
+ if (choice == 1 || choice == 3) {
+ startPage = HomePage.get();
+ }
+ } catch (e) {
+ Cu.reportError(e);
+ }
+
+ if (startPage == "about:blank") {
+ startPage = "";
+ }
+
var override;
var overridePage = "";
var additionalPage = "";
@@ -701,6 +718,16 @@ nsBrowserContentHandler.prototype = {
// into account because that requires waiting for the session file
// to be read. If a crash occurs after updating, before restarting,
// we may open the startPage in addition to restoring the session.
+ //
+ // Tor Browser: Instead of opening the post-update "override page"
+ // directly, we ensure that about:tor will be opened in a special
+ // mode that notifies the user that their browser was updated.
+ // The about:tor page will provide a link to the override page
+ // where the user can learn more about the update, as well as a
+ // link to the Tor Browser changelog page (about:tbupdate). The
+ // override page URL comes from the openURL attribute within the
+ // updates.xml file or, if no showURL action is present, from the
+ // startup.homepage_override_url pref.
willRestoreSession = SessionStartup.isAutomaticRestoreEnabled();
overridePage = Services.urlFormatter.formatURLPref(
@@ -720,6 +747,20 @@ nsBrowserContentHandler.prototype = {
overridePage = overridePage.replace("%OLD_VERSION%", old_mstone);
overridePage = overridePage.replace("%OLD_TOR_BROWSER_VERSION%",
old_tbversion);
+#ifdef TOR_BROWSER_UPDATE
+ if (overridePage)
+ {
+ prefb.setCharPref("torbrowser.post_update.url", overridePage);
+ prefb.setBoolPref("torbrowser.post_update.shouldNotify", true);
+ // If the user's homepage is about:tor, we will inform them
+ // about the update on that page; otherwise, we arrange to
+ // open about:tor in a secondary tab.
+ if (startPage === "about:tor")
+ overridePage = "";
+ else
+ overridePage = "about:tor";
+ }
+#endif
break;
case OVERRIDE_NEW_BUILD_ID:
if (UpdateManager.activeUpdate) {
@@ -792,20 +833,6 @@ nsBrowserContentHandler.prototype = {
}
}
- var startPage = "";
- try {
- var choice = prefb.getIntPref("browser.startup.page");
- if (choice == 1 || choice == 3) {
- startPage = HomePage.get();
- }
- } catch (e) {
- Cu.reportError(e);
- }
-
- if (startPage == "about:blank") {
- startPage = "";
- }
-
let skipStartPage =
(override == OVERRIDE_NEW_PROFILE ||
override == OVERRIDE_ALTERNATE_PROFILE) &&
diff --git a/browser/components/BrowserGlue.jsm b/browser/components/BrowserGlue.jsm
index 0a3555f26432..3b7d8d6e0309 100644
--- a/browser/components/BrowserGlue.jsm
+++ b/browser/components/BrowserGlue.jsm
@@ -560,6 +560,22 @@ let LEGACY_ACTORS = {
},
};
+if (AppConstants.TOR_BROWSER_UPDATE) {
+ LEGACY_ACTORS["AboutTBUpdate"] = {
+ child: {
+ module: "resource:///actors/AboutTBUpdateChild.jsm",
+ events: {
+ "AboutTBUpdateLoad": {wantUntrusted: true},
+ "pagehide": {capture: true},
+ },
+ matches: ["about:tbupdate"],
+ messages: [
+ "AboutTBUpdate:Update",
+ ],
+ }
+ };
+}
+
(function earlyBlankFirstPaint() {
if (
AppConstants.platform == "macosx" ||
@@ -747,6 +763,11 @@ if (AppConstants.MOZ_CRASHREPORTER) {
});
}
+if (AppConstants.TOR_BROWSER_UPDATE) {
+ XPCOMUtils.defineLazyModuleGetter(this, "AboutTBUpdate",
+ "resource:///modules/AboutTBUpdate.jsm");
+}
+
XPCOMUtils.defineLazyGetter(this, "gBrandBundle", function() {
return Services.strings.createBundle(
"chrome://branding/locale/brand.properties"
@@ -2200,6 +2221,10 @@ BrowserGlue.prototype = {
AsanReporter.init();
}
+ if (AppConstants.TOR_BROWSER_UPDATE) {
+ AboutTBUpdate.init();
+ }
+
Sanitizer.onStartup();
this._scheduleStartupIdleTasks();
this._lateTasksIdleObserver = (idleService, topic, data) => {
diff --git a/browser/components/about/AboutRedirector.cpp b/browser/components/about/AboutRedirector.cpp
index 1471e10bf0db..933d519bd959 100644
--- a/browser/components/about/AboutRedirector.cpp
+++ b/browser/components/about/AboutRedirector.cpp
@@ -120,6 +120,12 @@ static const RedirEntry kRedirMap[] = {
nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS},
{"pioneer", "chrome://browser/content/pioneer.html",
nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::HIDE_FROM_ABOUTABOUT},
+#ifdef TOR_BROWSER_UPDATE
+ {"tbupdate", "chrome://browser/content/abouttbupdate/aboutTBUpdate.xhtml",
+ nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
+ nsIAboutModule::URI_MUST_LOAD_IN_CHILD | nsIAboutModule::ALLOW_SCRIPT |
+ nsIAboutModule::HIDE_FROM_ABOUTABOUT},
+#endif
};
static nsAutoCString GetAboutModuleName(nsIURI* aURI) {
diff --git a/browser/components/about/components.conf b/browser/components/about/components.conf
index bf0c6c096847..f31159d30e15 100644
--- a/browser/components/about/components.conf
+++ b/browser/components/about/components.conf
@@ -32,6 +32,9 @@ pages = [
'welcomeback',
]
+if defined('TOR_BROWSER_UPDATE'):
+ pages.append('tbupdate')
+
Classes = [
{
'cid': '{7e4bb6ad-2fc4-4dc6-89ef-23e8e5ccf980}',
diff --git a/browser/components/moz.build b/browser/components/moz.build
index c75c10b0c92d..cf3f566eba71 100644
--- a/browser/components/moz.build
+++ b/browser/components/moz.build
@@ -90,11 +90,14 @@ EXTRA_COMPONENTS += [
]
EXTRA_JS_MODULES += [
- 'BrowserContentHandler.jsm',
'BrowserGlue.jsm',
'distribution.js',
]
+EXTRA_PP_JS_MODULES += [
+ 'BrowserContentHandler.jsm',
+]
+
BROWSER_CHROME_MANIFESTS += [
'safebrowsing/content/test/browser.ini',
'tests/browser/browser.ini',
diff --git a/browser/locales/en-US/chrome/browser/aboutTBUpdate.dtd b/browser/locales/en-US/chrome/browser/aboutTBUpdate.dtd
new file mode 100644
index 000000000000..2d1e59b40eaf
--- /dev/null
+++ b/browser/locales/en-US/chrome/browser/aboutTBUpdate.dtd
@@ -0,0 +1,8 @@
+<!ENTITY aboutTBUpdate.changelogTitle "Tor Browser Changelog">
+<!ENTITY aboutTBUpdate.updated "Tor Browser has been updated.">
+<!ENTITY aboutTBUpdate.linkPrefix "For the most up-to-date information about this release, ">
+<!ENTITY aboutTBUpdate.linkLabel "visit our website">
+<!ENTITY aboutTBUpdate.linkSuffix ".">
+<!ENTITY aboutTBUpdate.version "Version">
+<!ENTITY aboutTBUpdate.releaseDate "Release Date">
+<!ENTITY aboutTBUpdate.releaseNotes "Release Notes">
diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
index ca892a187adf..31e2d3d870e6 100644
--- a/browser/locales/jar.mn
+++ b/browser/locales/jar.mn
@@ -20,6 +20,9 @@
locale/browser/accounts.properties (%chrome/browser/accounts.properties)
locale/browser/app-extension-fields.properties (%chrome/browser/app-extension-fields.properties)
+#ifdef TOR_BROWSER_UPDATE
+ locale/browser/aboutTBUpdate.dtd (%chrome/browser/aboutTBUpdate.dtd)
+#endif
locale/browser/browser.dtd (%chrome/browser/browser.dtd)
locale/browser/baseMenuOverlay.dtd (%chrome/browser/baseMenuOverlay.dtd)
locale/browser/browser.properties (%chrome/browser/browser.properties)
diff --git a/browser/modules/AboutTBUpdate.jsm b/browser/modules/AboutTBUpdate.jsm
new file mode 100644
index 000000000000..996e2e8394aa
--- /dev/null
+++ b/browser/modules/AboutTBUpdate.jsm
@@ -0,0 +1,134 @@
+// Copyright (c) 2019, The Tor Project, Inc.
+// See LICENSE for licensing information.
+//
+// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
+
+"use strict";
+
+var Cc = Components.classes;
+var Ci = Components.interfaces;
+var Cu = Components.utils;
+
+this.EXPORTED_SYMBOLS = [ "AboutTBUpdate" ];
+
+Cu.import("resource://gre/modules/Services.jsm");
+Cu.import("resource://gre/modules/NetUtil.jsm");
+
+const kRequestUpdateMessageName = "AboutTBUpdate:RequestUpdate";
+const kSendUpdateMessageName = "AboutTBUpdate:Update";
+
+#expand const TOR_BROWSER_VERSION = __TOR_BROWSER_VERSION_QUOTED__;
+
+/**
+ * This code provides services to the about:tbupdate page. Whenever
+ * about:tbupdate needs to do something chrome-privileged, it sends a
+ * message that's handled here. It is modeled after Mozilla's about:home
+ * implementation.
+ */
+var AboutTBUpdate = {
+ init: function() {
+ Services.mm.addMessageListener(kRequestUpdateMessageName, this);
+ },
+
+ receiveMessage: function(aMessage) {
+ if (aMessage.name == kRequestUpdateMessageName)
+ this.sendAboutTBUpdateData(aMessage.target);
+ },
+
+ sendAboutTBUpdateData: function(aTarget) {
+ let data = this.releaseNoteInfo;
+ data.moreInfoURL = this.moreInfoURL;
+ if (aTarget && aTarget.messageManager) {
+ aTarget.messageManager.sendAsyncMessage(kSendUpdateMessageName, data);
+ } else {
+ Services.mm.broadcastAsyncMessage(kSendUpdateMessageName, data);
+ }
+ },
+
+ get moreInfoURL() {
+ try {
+ return Services.prefs.getCharPref("torbrowser.post_update.url");
+ } catch (e) {}
+
+ // Use the default URL as a fallback.
+ return Services.urlFormatter.formatURLPref("startup.homepage_override_url");
+ },
+
+ // Read the text from the beginning of the changelog file that is located
+ // at TorBrowser/Docs/ChangeLog.txt and return an object that contains
+ // the following properties:
+ // version e.g., Tor Browser 8.5
+ // releaseDate e.g., March 31 2019
+ // releaseNotes details of changes (lines 2 - end of ChangeLog.txt)
+ // We attempt to parse the first line of ChangeLog.txt to extract the
+ // version and releaseDate. If parsing fails, we return the entire first
+ // line in version and omit releaseDate.
+ //
+ // On Mac OS, when building with --enable-tor-browser-data-outside-app-dir
+ // to support Gatekeeper signing, the ChangeLog.txt file is located in
+ // TorBrowser.app/Contents/Resources/TorBrowser/Docs/.
+ get releaseNoteInfo() {
+ let info = {};
+
+ try {
+#ifdef TOR_BROWSER_DATA_OUTSIDE_APP_DIR
+ // "XREExeF".parent is the directory that contains firefox, i.e.,
+ // Browser/ or, on Mac OS, TorBrowser.app/Contents/MacOS/.
+ let f = Services.dirsvc.get("XREExeF", Ci.nsIFile).parent;
+#ifdef XP_MACOSX
+ f = f.parent;
+ f.append("Resources");
+#endif
+ f.append("TorBrowser");
+#else
+ // "DefProfRt" is .../TorBrowser/Data/Browser
+ let f = Cc["@mozilla.org/file/directory_service;1"]
+ .getService(Ci.nsIProperties).get("DefProfRt", Ci.nsIFile);
+ f = f.parent.parent; // Remove "Data/Browser"
+#endif
+ f.append("Docs");
+ f.append("ChangeLog.txt");
+
+ let fs = Cc["@mozilla.org/network/file-input-stream;1"]
+ .createInstance(Ci.nsIFileInputStream);
+ fs.init(f, -1, 0, 0);
+ let s = NetUtil.readInputStreamToString(fs, fs.available());
+ fs.close();
+
+ // Truncate at the first empty line.
+ s = s.replace(/[\r\n][\r\n][\s\S]*$/m, "");
+
+ // Split into first line (version plus releaseDate) and
+ // remainder (releaseNotes).
+ // This first match() uses multiline mode with two capture groups:
+ // first line: (.*$)
+ // remaining lines: ([\s\S]+)
+ // [\s\S] matches all characters including end of line. This trick
+ // is needed because when using JavaScript regex in multiline mode,
+ // . does not match an end of line character.
+ let matchArray = s.match(/(.*$)\s*([\s\S]+)/m);
+ if (matchArray && (matchArray.length == 3)) {
+ info.releaseNotes = matchArray[2];
+ let line1 = matchArray[1];
+ // Extract the version and releaseDate. The first line looks like:
+ // Tor Browser 8.5 -- May 1 2019
+ // The regex uses two capture groups:
+ // text that does not include a hyphen: (^[^-]*)
+ // remaining text: (.*$)
+ // In between we match optional whitespace, one or more hyphens, and
+ // optional whitespace by using: \s*-+\s*
+ matchArray = line1.match(/(^[^-]*)\s*-+\s*(.*$)/);
+ if (matchArray && (matchArray.length == 3)) {
+ info.version = matchArray[1];
+ info.releaseDate = matchArray[2];
+ } else {
+ info.version = line1; // Match failed: return entire line in version.
+ }
+ } else {
+ info.releaseNotes = s; // Only one line: use as releaseNotes.
+ }
+ } catch (e) {}
+
+ return info;
+ },
+};
diff --git a/browser/modules/moz.build b/browser/modules/moz.build
index 88f2a55d6f49..61fe5371e48f 100644
--- a/browser/modules/moz.build
+++ b/browser/modules/moz.build
@@ -160,6 +160,11 @@ EXTRA_JS_MODULES += [
'ZoomUI.jsm',
]
+if CONFIG['TOR_BROWSER_UPDATE']:
+ EXTRA_PP_JS_MODULES += [
+ 'AboutTBUpdate.jsm',
+ ]
+
if CONFIG['MOZ_ASAN_REPORTER']:
EXTRA_JS_MODULES += [
'AsanReporter.jsm',
1
0
commit 66f8a03d67680bc34486340607796cb346ebcb7e
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Feb 5 10:40:16 2021 +0000
Fold in stable Changelogs
---
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 29 ++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 92a0d80..f1bb8c4 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -18,6 +18,15 @@ Tor Browser 10.5a9 -- February 5 2021
* Bug 40214: Update AMO Collection URL [tor-browser-build]
* Bug 40217: Update components for switch to mozilla86-based Fenix [tor-browser-build]
+Tor Browser 10.0.10 -- February 3 2021
+ * All Platforms
+ * Update NoScript to 11.2
+ * Update HTTPS Everywhere to 2021.1.27
+ * Bug 40224: Backport Tor patch for v3 onion services [tor-browser-build]
+ * Android
+ * Pick up fix for Mozilla's bug 1688783
+ * Pick up fix for Mozilla's bug 1688017
+
Tor Browser 10.5a8 -- January 26 2021
* All Platforms
* Update NoScript to 11.1.9
@@ -41,6 +50,26 @@ Tor Browser 10.5a8 -- January 26 2021
* Linux
* Bug 40112: Strip libstdc++ we ship [tor-browser-build]
+Tor Browser 10.0.9 -- January 26 2021
+ * All Platforms
+ * Update NoScript to 11.1.9
+ * Windows + OS X + Linux
+ * Update Firefox to 78.7.0esr
+ * Bug 40249: Remove EOY 2020 Campaign [tor-browser]
+ * Android
+ * Update Fenix to 85.1.0
+ * Bug 40137: Remove EOY 2020 Campaign [fenix]
+ * Bug 40165: Update zstd to 1.4.8 [tor-browser-build]
+ * Bug 40308: Disable network state partitioning until audit [tor-browser]
+ * Build System
+ * All Platforms
+ * Update Go to 1.14.14
+ * Android
+ * Bug 40190: Update toolchain for Fenix 85 [tor-browser-build]
+ * Bug 40191: Update Fenix and dependencies to 85.0.0-beta1 [tor-browser-build]
+ * Bug 40193: Build all mobile Rust targets in a single step [tor-browser-build]
+ * Bug 40208: Mitigate uniffi non-deterministic code generation [tor-browser-build]
+
Tor Browser 10.5a7 -- January 19 2021
* All Platforms
* Update NoScript to 11.1.8
1
0
04 Feb '21
commit 3ff156822f70af92761e508e7f86d752512974f5
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Thu Feb 4 18:57:03 2021 +0000
Release preparations for 10.5a9
Versions bump and Changelog update
---
projects/android-components/config | 4 +-
.../gradle-dependencies-list.txt | 8 +-
projects/fenix/config | 4 +-
projects/fenix/gradle-dependencies-list.txt | 352 ++++++++++-----------
projects/geckoview/config | 2 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 20 ++
rbm.conf | 2 +-
7 files changed, 206 insertions(+), 186 deletions(-)
diff --git a/projects/android-components/config b/projects/android-components/config
index 5e770c5..df3d636 100644
--- a/projects/android-components/config
+++ b/projects/android-components/config
@@ -8,12 +8,12 @@ gpg_keyring: torbutton.gpg
variant: '[% IF c("var/release") %]Release[% ELSE %]Beta[% END %]'
var:
- android_components_version: 72.0.1
+ android_components_version: 72.0.5
torbrowser_branch: 10.5
container:
use_container: 1
# This should be updated when the list of gradle dependencies is changed.
- gradle_dependencies_version: 17
+ gradle_dependencies_version: 18
# Switch to make it easier to grab all dependencies during a dry-run.
# Note: Use the commit before support for new GeckoView interfaces gets added.
fetch_gradle_dependencies: 0
diff --git a/projects/android-components/gradle-dependencies-list.txt b/projects/android-components/gradle-dependencies-list.txt
index a23995b..4e7b6a9 100644
--- a/projects/android-components/gradle-dependencies-list.txt
+++ b/projects/android-components/gradle-dependencies-list.txt
@@ -440,12 +440,12 @@ ea6cb3d94121d03fefd5329072c7b01d891b8bb25c2c303b28dfd6728eeaa72f | https://maven
ca3c96c281e314f07170bbfa766693ef0d2e4d865433a9622254088ee7e68363 | https://maven.mozilla.org/maven2/org/mozilla/components/support-ktx/63.0.0/…
93fd44998bfeeab9d7137cb34a50d510876ec8362e988b8a4ddf4e1629a69e71 | https://maven.mozilla.org/maven2/org/mozilla/components/support-utils/63.0.…
b3836516ae7c9f1ca38ce636e24e3d10b2b421d94e344f14033daa5f20df3168 | https://maven.mozilla.org/maven2/org/mozilla/components/support-utils/63.0.…
-6ca800559b22d4bd0833444d3e666390a103307375d000565ea89d571ca1fe81 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta/86.0.…
-12028814b487c385870e3eb1b40d3cb3027ebbe50af7c3ef182880d6ba79aae9 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta/86.0.…
+8c0fe200be53cfd668ffbf10efa897e68480caaab5c0cfe3f72753dbc8e8d69f | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta/86.0.…
+d8993f6b94fc6e91c7d91bfd201ab5a1d17b7c7288b3eb28fd4d63f9a7064324 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta/86.0.…
5fe022d90f552aae72e0f7f908ade55798ea5a44bdb6c9458dd7706ba60d4eb6 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-nightly/87…
a530ccd2c9adfc3b98e3246c33997831ccbe0d66752e968fb90cfa933006cc99 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-nightly/87…
-7ac371cfa60025020c391b59890db48c9db52fb67c1b2fd1eda70a2d20b72cb6 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview/85.0.20210…
-e514f95723d5f97c1e92e425923d13add24fdb85c2f761b20ae42d23e0457c0d | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview/85.0.20210…
+4251784fdd7b1f8c7a675fcf668b2fd23d0b44c26a425fe7752dbce3b2f19cb0 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview/85.0.20210…
+ab81e6a37144452a63880bb34b6140a1e3075cfe50e3a7275c0c6316844b8b75 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview/85.0.20210…
97a9d151ad636acc68eeda046866f0ac24e6f7bf2a81a6b938a3386cc73be529 | https://maven.mozilla.org/maven2/org/mozilla/telemetry/glean-forUnitTests/3…
817736c79269dc217946522fdb8f6ed57547bdd8fbf187687b53ffbe5d813bc3 | https://maven.mozilla.org/maven2/org/mozilla/telemetry/glean-forUnitTests/3…
ccd3a75eb0e0f8ce5882d9d3a3154e3d3c40ce9c44f6c506ad4e28df84bab751 | https://maven.mozilla.org/maven2/org/mozilla/telemetry/glean-gradle-plugin/…
diff --git a/projects/fenix/config b/projects/fenix/config
index 0cf9267..9cab5dc 100644
--- a/projects/fenix/config
+++ b/projects/fenix/config
@@ -8,13 +8,13 @@ gpg_keyring: torbutton.gpg
variant: Beta
var:
- fenix_version: 86.0.0b1
+ fenix_version: 86.0.0b2
torbrowser_branch: 10.5
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
container:
use_container: 1
# This should be updated when the list of gradle dependencies is changed.
- gradle_dependencies_version: 19
+ gradle_dependencies_version: 20
# Switch to make it easier to grab all dependencies during a dry-run.
# Note: Use the commit that integrates Tor.
fetch_gradle_dependencies: 0
diff --git a/projects/fenix/gradle-dependencies-list.txt b/projects/fenix/gradle-dependencies-list.txt
index 5a334b3..21890f5 100644
--- a/projects/fenix/gradle-dependencies-list.txt
+++ b/projects/fenix/gradle-dependencies-list.txt
@@ -922,182 +922,182 @@ fd98ace3131929977df6caa61b419956cd704fe7fb46dc20e1d348e710755690 | https://maven
0b41c8ffaa03c0f84bc4ffebcd765c6373162191fa14e480fd1de19e1d9ed2b2 | https://maven.mozilla.org/maven2/org/mozilla/appservices/syncmanager/67.2.0…
9ff49670a110fd56586229d42673902049a92650257fad81146a25daa5a4e58f | https://maven.mozilla.org/maven2/org/mozilla/appservices/tabs/67.2.0/tabs-6…
8729ddf632ec417808e0e0b49868cb46bc968fb44c97f5e0b7397ccd4728c8e3 | https://maven.mozilla.org/maven2/org/mozilla/appservices/tabs/67.2.0/tabs-6…
-707eb615751466dc1ee135a52c2009352fdd3a5e879b6064c24c094953907fab | https://maven.mozilla.org/maven2/org/mozilla/components/browser-awesomebar/…
-26fe99915f9db9b66a321051451b835f08313a632b7c351ede17e9f73761a670 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-awesomebar/…
-a33eab48fd4179e2c74e4efdc40ba7e0123eaa46f64edd110bcf497501ac6281 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-domains/72.…
-599a4b9bdabfdcfdb13b0fd56091469c2629e54fcc2615eb19f7c5266a9caa2c | https://maven.mozilla.org/maven2/org/mozilla/components/browser-domains/72.…
-4b9325626526a8774d9313fc9e5dfe145505e5a7bb7ad4a43f67c24bc5127c5b | https://maven.mozilla.org/maven2/org/mozilla/components/browser-engine-geck…
-58e1948a344749e8e9ef83097d35775eef0b379a95b8b8af2a62458570e35325 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-engine-geck…
-47bbdc0db9e0d032022d8575debd9411e991ca89e00b8062e0d1b85a3d1a55b1 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-engine-geck…
-1b25649ca27bd92b581682d6f98b6abb66d0bfa4483390c66b5720f7f3e780c4 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-engine-geck…
-8ee1b23eb8bb5a464deca2e3e0b90dd7619751a0889c63714702b6dea2fa7c2c | https://maven.mozilla.org/maven2/org/mozilla/components/browser-errorpages/…
-e5676a2ec9e56dad1dc23e5f9ed25eb757b4c580a132e84118f6ba7c7b62d2c5 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-errorpages/…
-421fde3c9641e50bc932e20d382d19bc99ad67996e30223439522e323274618c | https://maven.mozilla.org/maven2/org/mozilla/components/browser-icons/72.0.…
-104f8429ad278a62b76a5748b0a1a33b66c2f9a36cfe714f4b51e73c1fce07a4 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-icons/72.0.…
-72b47d9ae38027c9686bcc4aeec69c4c290c5dda71f5b18230ea328ff1aa24e7 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-menu/72.0.1…
-d18f914b6dd7b33af4cde0711f8e1947d46f2f96c8e0b5e94cbca36337eb2756 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-menu/72.0.1…
-807e0a73ee535859a8957eda4ee52f858a6d973c3d8c5f3e8ddaabfacc849305 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-menu2/72.0.…
-10cfc7830f0522619a9eee3551e0aedd152358e5dbb538e910ca4d46b1b68ac3 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-menu2/72.0.…
-f0eb789cb5daef255d9ee4ff7ea3afeeb3d3f6046eb7b03871da41e52b8ba1c1 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-search/72.0…
-8b60ce05c42fb38f98b010824dc5146bb397a0dfdbb6a43a767cb357e4984f86 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-search/72.0…
-07cca82ca086d49a7d26ac44d08eaff857357b357e9600b312c598e2259c8627 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-session-sto…
-467d2be40b3dd02055b822f10bd3e4e6866646ab560d79c28720c71d66c6b9ca | https://maven.mozilla.org/maven2/org/mozilla/components/browser-session-sto…
-9c293d868f3ad6b5b1bdeea71745be48c4da9ebe33ba70dc36b413c741446787 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-session/72.…
-5cb1694ff03cbc4ef81267f1ac6baf7d1b8d78a62e9455dce9134e7f79bbde40 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-session/72.…
-d55f14316f736b6860512d81f32a2148d9394b1d56f5be8f8098d43dc385bf07 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-state/72.0.…
-2efeb5a653c2012b7b6c56a153be721c8a4530de09ef2834e721f31f2c96b5da | https://maven.mozilla.org/maven2/org/mozilla/components/browser-state/72.0.…
-f3620e6dafd8244db545af087d50ed93533cdbdb956e2436c841f78b631e1d0f | https://maven.mozilla.org/maven2/org/mozilla/components/browser-storage-syn…
-70f5a5ede04dc8a602b153b1492e20b6fecfcbf0afb0c12f16831a5e902715c4 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-storage-syn…
-d75a22b6e81f1f90471251a695ef64d4a75532040065d8923ddb0928ae61fbf2 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-tabstray/72…
-c4260cf9ba9a6946edb73f4462193185703dccd70b4984cfb89df96fdf1ba162 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-tabstray/72…
-fe8e7843478a9699ebe8d21ca9486d826aa4c85dc3178ff1114be22f9b0ff50c | https://maven.mozilla.org/maven2/org/mozilla/components/browser-thumbnails/…
-99e4b9be8cf3acd6da058b8246ddb1c55ca033f3d47b52974c6f8dc7a7d6c3bb | https://maven.mozilla.org/maven2/org/mozilla/components/browser-thumbnails/…
-27ad00d7ca8b1fd07b32f3dc28feb39885c982e34f998000934478d0732b8d20 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-toolbar/72.…
-1f3ea3fd2fc0db948260589251d5b54499c70ffedc032a41a2fd3d451218265c | https://maven.mozilla.org/maven2/org/mozilla/components/browser-toolbar/72.…
-a333cc604fe5934656fed5f842fb359f0fdde47c33351c03ef0de3dc742754aa | https://maven.mozilla.org/maven2/org/mozilla/components/concept-awesomebar/…
-88f2322764929aa7b2903f427728907f87913c5a3d685edaae2eede554b8cfda | https://maven.mozilla.org/maven2/org/mozilla/components/concept-awesomebar/…
-1384140f0da5782fa9822c40320737247dd22e0c64058e976846982716330583 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-base/72.0.1…
-7f3854b0e2ff2e69d12a403448cf312936a47a0d7500c91276183397980b40e7 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-base/72.0.1…
-f37e94bb0b6e1dc275fb0d50c72870e39db756e4f8fde3b8e443df97d20191f8 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-engine/72.0…
-5d94446e0765aa5621a777a6ea3258080d9e5f31f0ea610260394d4783f919c3 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-engine/72.0…
-2c67f877477525cbafc6773f8b93d03ff91d51310769f094521d3e62aff774f6 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-fetch/72.0.…
-d123e3446f12d6ed2afb80c6983d779bdc6f0a11590c60d9a6138a519ad6a2b8 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-fetch/72.0.…
-df27163b42a29ec9e7678cf31c3d3ec76881cab74cff7b50bdce412c3fd63c1a | https://maven.mozilla.org/maven2/org/mozilla/components/concept-menu/72.0.1…
-08adae12391ede66274e13628b45cbdb9dd61535bf2108e68e60b531ab849562 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-menu/72.0.1…
-75be14a169c7ef2bac1830cc7efca7ec45f34edf54c87d7738804030926bd1fd | https://maven.mozilla.org/maven2/org/mozilla/components/concept-push/72.0.1…
-ba0428bffb1563dcb8e84e4172b727f2e3f45737eda131214c1a2fda2624e92b | https://maven.mozilla.org/maven2/org/mozilla/components/concept-push/72.0.1…
-63c1a7ccf904423703ef3007cd79c0abddbe8d9f43c675685149392de48a4eeb | https://maven.mozilla.org/maven2/org/mozilla/components/concept-storage/72.…
-00ac375e647a36ad586023bfb3cf2baa27d0e03eda97ccb1bd43880ddf2c1007 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-storage/72.…
-900d502cfbdb96b3c9e35472bd2fbcc5c78396eae66ddca040d3c789bbfac61c | https://maven.mozilla.org/maven2/org/mozilla/components/concept-sync/72.0.1…
-6b2b41a95e05c8121d2af1f53329cb47d67ccf99c6d04fe942f62a606ff5182e | https://maven.mozilla.org/maven2/org/mozilla/components/concept-sync/72.0.1…
-00de4cfb49bcd14819487375f615055b8993bd73fbbcf6e76c0317b5e066e1a9 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-tabstray/72…
-e300ef6b9ac7867f9109a9ab3d1e0dac5f5adc74176ad5c612451778d1a4de64 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-tabstray/72…
-3a5fd8665a36910a96dc2964fa9e241ceda29073139865c493124f12da631257 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-toolbar/72.…
-4285aa14d4b04ff1fdcecac3d900ccfd435ea7ad2ee599316fa57ab1f5ef626f | https://maven.mozilla.org/maven2/org/mozilla/components/concept-toolbar/72.…
-cf22dafd69d182e403c420f8b2e0ff15650531958d4d9bec9eb1773a898adbf5 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-accounts-pu…
-66d2e749978b1fc5c872b357c7e8491df3d1c75983e620eda522c3ef59639a5e | https://maven.mozilla.org/maven2/org/mozilla/components/feature-accounts-pu…
-4601b349d413fc9cc409d8b37d3dc6dd3134733b3ba021731c17494abde612ad | https://maven.mozilla.org/maven2/org/mozilla/components/feature-accounts/72…
-58f5cb4c9ba1e62852cbf10ac281deee1eb5bace66c23e0e9905b7d5bfcc21a1 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-accounts/72…
-7c5e19441d7af3d9e0ac277f528aa607bd134ea7cb15939f8b4b4dcb0b5d6e28 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-addons/72.0…
-d3119dc706bd511b9c78c15bbc87489e6649c2e4e724f7152e2f564e337d4191 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-addons/72.0…
-f668f699acb95a2c916a93fd9f64232a7eb64d4f40b9c83a819850bcb1f188b7 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-app-links/7…
-749f03901ae1c79654eabd0c6f5b3b4d063b346cc9f54b6f0dc746f91d0e3ef2 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-app-links/7…
-4a010fe579f7d81d8cd4b9fec36b3b651ff0a8df009c72af8e3c15bfd0c0f6c9 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-awesomebar/…
-716f4fade805f4aaa4de9dfd4f655fe29af9e92c2b2ee8ef702ea41e0497777c | https://maven.mozilla.org/maven2/org/mozilla/components/feature-awesomebar/…
-9ce1db08d3a68571358833af99038ec7981de7e0d5921aee56cb34a40dba3a61 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-contextmenu…
-3b3cebc44ba58680a51ef8df3a6396172cb87c413e6901f548363f4c5905f325 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-contextmenu…
-0782cc4b473dd6dfdaee2166ceb76ae0bccee802116bfdaaa09b7f995a804b9b | https://maven.mozilla.org/maven2/org/mozilla/components/feature-customtabs/…
-746ed4c272a217e0fa57dd5c488b662c3b77d44c0ff737f35586abe6a104de64 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-customtabs/…
-dbfd013db1b6a18bf2a0974e3fe18d084bfe0aa569f381bc60e67b05086015dc | https://maven.mozilla.org/maven2/org/mozilla/components/feature-downloads/7…
-965327c314c3d219e611b44b0a7624ca0f39e6f2c7d46c221a5b064f73dea772 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-downloads/7…
-8ea11512c113a2640173d46c19636bffde9fc7d336d72b7101e34d7fae1451bf | https://maven.mozilla.org/maven2/org/mozilla/components/feature-findinpage/…
-41b902c776ebefeaaeb1dda2ad01bfecb16b2700301f2d46dd715337b6492d06 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-findinpage/…
-d00b5dc50a6d1057e68bf3a3160a884c63405f8a71cc6d0c130c5f4445e4d2f0 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-intent/72.0…
-8b4e93c8ed76ec5e87d1db87e32b96f20db1c3a87335b8575a477bf8dc0665fe | https://maven.mozilla.org/maven2/org/mozilla/components/feature-intent/72.0…
-48516fec9ac2cd8daf126fdae2cbf169e67cbf76e9b3f3d9ac676dbdb99fabf6 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-logins/72.0…
-6f04daa045897b9c341fab05e1781171e7f8a82b7478a4a2cc29a9835995fb5e | https://maven.mozilla.org/maven2/org/mozilla/components/feature-logins/72.0…
-c4b0d3c10f9c482f2df539734ffc026fc0a0fa510aa1f180ec284cdd128807e4 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-media/72.0.…
-ea4796c4772d3c522cee1828ec1a71582ff6eacc0e8eb1660550900e807285c1 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-media/72.0.…
-a3e04cc2d816a6cc811f4742664971116420504bd622207cf510a15f833f807b | https://maven.mozilla.org/maven2/org/mozilla/components/feature-privatemode…
-5d9c94fa7ae83c60afa7ab26aaf4dbc7b427a46a71dd08d61ad7848d0a579ff5 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-privatemode…
-394a813d7a809927036028a4d48afd5bb14ccc20efd96e152e1ceb8647ff8502 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-prompts/72.…
-41e086ee9c1dd70401805bb9224727e77de04338c00c45b6ffd9e388d60e4137 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-prompts/72.…
-cb0f953fdc4bc4c12db326b637611a35e45522435832fcb149034db20a494449 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-push/72.0.1…
-cb18a4d4067ec892ce3af4320f9ec8b6b8aed63befd5beee291ee7c352e37fc7 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-push/72.0.1…
-129d41e2e7ad9a59d9e1ac9a86eda0d415f0bd43cfbd68e3203544a5957b8919 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-pwa/72.0.1/…
-7df696932dc9d5ed4f7b2a88abc2e21ad7ef8ea631da9e05cfd296a5ed7fadbc | https://maven.mozilla.org/maven2/org/mozilla/components/feature-pwa/72.0.1/…
-9dbd38fe5c60466ac1d0d911eb69689165cd27d4e5a74a63d5831562b5d45140 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-qr/72.0.1/f…
-c1f1af9b78ed772167e400dd3a04b6d5cf281402fb8721aa129572af3548ad76 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-qr/72.0.1/f…
-65d3b493a76f21648f219d11116c27671f2e2b78bc513e2cde30bacef5c1e98d | https://maven.mozilla.org/maven2/org/mozilla/components/feature-readerview/…
-f03ecae7b7d23a4c627927deb70328c75041813f50b2e271c8de5f1eb723f5e1 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-readerview/…
-3b72bf4c8c50784d39e997ab0622ebcb4c9e25e8f371d95a120a3cfa437e495a | https://maven.mozilla.org/maven2/org/mozilla/components/feature-recentlyclo…
-e219271d9c498ee5ce1b9960c71f7573ec1b1aecc4ea1c870ea649f6f11e0294 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-recentlyclo…
-90bdb1bda5fce4b8946affd99d0193578183143afd2d6f184eaef51485f0308c | https://maven.mozilla.org/maven2/org/mozilla/components/feature-search/72.0…
-3c4bca9fea18ef15e10ca971951a82c803e3905287d962ff90ea7caa309f0013 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-search/72.0…
-e916752eebd104569639e87cff8159df345ed8ebf4ecae391ef9b0dadf7c0300 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-session/72.…
-93370a455e923de80570057afaf40b130e2eb2b9a312ded8fc9f86d8e05c05ad | https://maven.mozilla.org/maven2/org/mozilla/components/feature-session/72.…
-e00d47d0c3730a5958e36cdd263ddc91dc744958cb2346bc19b5452d6f0799c1 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-share/72.0.…
-a731da97a8cb3cf0b771b16edaaae8475e788ef1839b6ec2659c4ffa5bfb6b0c | https://maven.mozilla.org/maven2/org/mozilla/components/feature-share/72.0.…
-c4389c74dc01872836ddccd1e1ae4b532df60aaf62e08ece1d698a8b0186ab67 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-sitepermiss…
-a42e0350f5ef058fd21fe86e3c9fe6c773c5048ac7565838df9c7c0f53fffb11 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-sitepermiss…
-ff7b95cced4e44633cf22d007f9ff40cbda272b7963f62dfeb08682d822198ec | https://maven.mozilla.org/maven2/org/mozilla/components/feature-syncedtabs/…
-2c0847cfbd1e56415c1bdd4e6c6adf12ad13c5f9aa5435a67891e3fa8fe08e25 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-syncedtabs/…
-b33db8f3e1ce1b5856bda8844b529d617101df81329b66e8fbfa5cb078b783f9 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-tab-collect…
-310736ed3df1f34f483ed7dbdfe8ebf38f4128ffb822303955cc38e9588aef9e | https://maven.mozilla.org/maven2/org/mozilla/components/feature-tab-collect…
-3524b6d1680c0218563f2738767d580062a7b74792fdddfa442b6b1619524dab | https://maven.mozilla.org/maven2/org/mozilla/components/feature-tabs/72.0.1…
-c154e09d91cba8b3db20dc0172f9ac8b4b8587f1fe8dd56fe7b614a336de22cc | https://maven.mozilla.org/maven2/org/mozilla/components/feature-tabs/72.0.1…
-e4fd8116ba7112468bc43ad895cee9c50d29a149a95e1fd0d8f87962076b6ef7 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-toolbar/72.…
-79e4d963dba76be697e01127ace6efc9a6fea44d0adbb2fce24ebbd43a0a247a | https://maven.mozilla.org/maven2/org/mozilla/components/feature-toolbar/72.…
-6f0b1315aa46725006f85f68bc664e505e603d99917b06e89012f7567993b8ac | https://maven.mozilla.org/maven2/org/mozilla/components/feature-top-sites/7…
-db3026ba20b9fcdc2823bd2b40d5eb86602b0dd3aca0cf98c483bf22369358d0 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-top-sites/7…
-11f1eabc582d8b2a824a45241816f9e82be13ea473363e7f1dff00b697bd6ef9 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webcompat-r…
-0a459768125e5a401ec606ea3fb273305d2b7c7de1affe6bd19b380f081da656 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webcompat-r…
-1dba077ef2c14496114bdc05c01f632a05a6d6f1bc5d851c18c8032737d90696 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webcompat/7…
-b31d4758ec9dd8f4091b4cdcccf70240a87393886a6d0f89d4c9758ef79b40ca | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webcompat/7…
-33fd07f7f285d67a88684cee8167049a426f68a8eca466f9ae84304730361642 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webnotifica…
-5d217fcc144abf67424252cc45edf1e21f506f0e8ffe05df64dba827855b1cf8 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webnotifica…
-0b4253ab0ae9e021830214d14272fe5feb1295be5b3d845ac0ae77abae439aa1 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-crash/72.0.1/li…
-5aaa4a590c55258ab8365ac1092b0d6e2dd5d6852195f10cd16f7c47888e37f1 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-crash/72.0.1/li…
-8ddd5a225161264c7d736a42f116f543ed9f672c8574f568ae2fecfb4c08f93b | https://maven.mozilla.org/maven2/org/mozilla/components/lib-dataprotect/72.…
-dace51ae229c3c03ecdd6f26f3d8ad6db6a77bee4a11420d289fdfe10952ee04 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-dataprotect/72.…
-eda0fcb43894fbdc9a24d4f5b979c902eaaae70aea62b1554f45aa9600b1a7b8 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-publicsuffixlis…
-b58499b3fb1947692e4d4d29717963dd798849f02410b58210893947021db6e6 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-publicsuffixlis…
-63a56b896edab40120aa64fe37ad51a008d94de16479d168ceff29dffdd8d5ce | https://maven.mozilla.org/maven2/org/mozilla/components/lib-push-firebase/7…
-0722d14c6633bf705e3b6de5b7c92de0f77be314da58fb4ebf263b6ed7c458b5 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-push-firebase/7…
-4a6856c18b4c6d6b6de158bd2094f2ba4d84978ead7a98d5ba83c36057b6d4e7 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-state/72.0.1/li…
-d3451b235c19b0053dc71e8b516cf3fa1f035e4dbab7bfbd909d17b8ff9e0659 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-state/72.0.1/li…
-8db1f518ab4716885dd27e366400e124d153ea38831f8709632c4d8c43c9789d | https://maven.mozilla.org/maven2/org/mozilla/components/service-digitalasse…
-c75bc4d7866e8258c020b4189d84100095ab41a63b94d967e7c8afc860606af4 | https://maven.mozilla.org/maven2/org/mozilla/components/service-digitalasse…
-750e3daa0a68c257472e7e3cb6c3f4f9f400555e32bdd31727d238d8fe9505b7 | https://maven.mozilla.org/maven2/org/mozilla/components/service-firefox-acc…
-e659ba9c2386f3de9bd96a043f2a8cce3e89c48583dee15e3a72085589af923d | https://maven.mozilla.org/maven2/org/mozilla/components/service-firefox-acc…
-16d0389b23a563a0f03230afb4438d69072e904557635bee1cb642beceae2607 | https://maven.mozilla.org/maven2/org/mozilla/components/service-glean/72.0.…
-1adc3cf6b69a901923a0233e349fe1146ce5a4064b8255755b13f56ab391db43 | https://maven.mozilla.org/maven2/org/mozilla/components/service-glean/72.0.…
-313c55e6d5d22e30812c87ead998c38fd8139f5f5ef50132527410c50611bca7 | https://maven.mozilla.org/maven2/org/mozilla/components/service-location/72…
-ba6a538646a476c6bc26da89d3f273a1562de06b808834b46b5a3976f4232251 | https://maven.mozilla.org/maven2/org/mozilla/components/service-location/72…
-6dfef14f659e10261b6ac082ba60b74f66864df9759055c8d35835fa12da6786 | https://maven.mozilla.org/maven2/org/mozilla/components/service-nimbus/72.0…
-d5fe6458ff9f8d6b898ae178e31a1a9547656d9b63b1acbcf3310dc80f3e8bd8 | https://maven.mozilla.org/maven2/org/mozilla/components/service-nimbus/72.0…
-d338c9bb41e2007cbe2fe9970c9326db9f35f8ad6260696c1b79285c5d5b980b | https://maven.mozilla.org/maven2/org/mozilla/components/service-sync-logins…
-ec62b383ffa88c46af42fc63dadd220f226e6f9728d597d3a23d63e3611d24d9 | https://maven.mozilla.org/maven2/org/mozilla/components/service-sync-logins…
-7059fa83e9ab0d3d8d578a35e6573e666ae2d003cedb32e58f87796e121841af | https://maven.mozilla.org/maven2/org/mozilla/components/support-base/72.0.1…
-9ea0a7fe66ffdb0ab26003b612811c23ed46d774810f1c6f30277b9eaad29599 | https://maven.mozilla.org/maven2/org/mozilla/components/support-base/72.0.1…
-4399954ec888c5316cc41e7011d19ae663f6ecebb5f38f31d0b94918d40314d5 | https://maven.mozilla.org/maven2/org/mozilla/components/support-images/72.0…
-bbe2875022375e21fd2bc3e6812af8cd63bf9751c1ebde680249c305b93242ee | https://maven.mozilla.org/maven2/org/mozilla/components/support-images/72.0…
-755cd9e2c9d550b7d13e32b2d0fc3838021967405cf6b7bf30c58577fec5827a | https://maven.mozilla.org/maven2/org/mozilla/components/support-ktx/72.0.1/…
-623da48f2e4cbad7161851813f392f8bf5371f9f4ae3ee7d4536d91ddde70c60 | https://maven.mozilla.org/maven2/org/mozilla/components/support-ktx/72.0.1/…
-0c071b715ecd3debb7a93289de8626e4815bd06167ddbdc58cf454c9c4e1c780 | https://maven.mozilla.org/maven2/org/mozilla/components/support-locale/72.0…
-f9e80748bc674b31fcf0065fe2e56bc0b18284a21e19ebd662fbc5401ed91f62 | https://maven.mozilla.org/maven2/org/mozilla/components/support-locale/72.0…
-98ac937bc1923bce2c0a9cbb65ae0bc47e2caf4d675dad34dcdd0ea4cbac6ed0 | https://maven.mozilla.org/maven2/org/mozilla/components/support-migration/7…
-a87b0defe96f1726c566febf7243495e175265d7173eedb2f5d935643d994cdb | https://maven.mozilla.org/maven2/org/mozilla/components/support-migration/7…
-7d36f11412ef9b7360e0752309b7541e3c85f17b49e32a94a8398e7dab53331c | https://maven.mozilla.org/maven2/org/mozilla/components/support-rusthttp/72…
-d7aeaa68bcd0be531147547d2bc121d1d303dc6d1a08e8322c7a76c5271be561 | https://maven.mozilla.org/maven2/org/mozilla/components/support-rusthttp/72…
-72a085b1abb58af1bc6e47e690634c8d2648f021dfa9c8ce5ae752cbe0670066 | https://maven.mozilla.org/maven2/org/mozilla/components/support-rustlog/72.…
-cc2edfcf37281442bdee8221c41f255a3aa58e30ae211fda59becda97c1cb4dd | https://maven.mozilla.org/maven2/org/mozilla/components/support-rustlog/72.…
-20498d158e06bf13012376fe08d3162f722c67ef6005599d97448abc2bcc66a0 | https://maven.mozilla.org/maven2/org/mozilla/components/support-sync-teleme…
-aaca9a1a3ab05d502d6c86f5c4ebc718f4762536ccfec847cee45496f6e48d5c | https://maven.mozilla.org/maven2/org/mozilla/components/support-sync-teleme…
-935d569da3ce6839b7457c87a539f71a105d2c4b8eae8caa97f166601402931f | https://maven.mozilla.org/maven2/org/mozilla/components/support-test-libsta…
-f97f98f6baf5efa203b9937af0f3a68ec91fcce434028c092f4975403a6e4451 | https://maven.mozilla.org/maven2/org/mozilla/components/support-test-libsta…
-eb8e8abdd2a1108b338b1a4136d80f4eb02379985946d3d0ffe954c4dad094f7 | https://maven.mozilla.org/maven2/org/mozilla/components/support-test/72.0.1…
-5b3ba40e210dcd9c1191d1526dc0b39e8ba1f0fc50a8fceb45064415043f92c0 | https://maven.mozilla.org/maven2/org/mozilla/components/support-test/72.0.1…
-f7bf27270904abd8639b543151b6eaf268b821b8e6235c8decf8031e02ec8648 | https://maven.mozilla.org/maven2/org/mozilla/components/support-utils/72.0.…
-a982fe4e17f65437b83c0fb6761d62e1ac0f8ce47dfad0eb3dc26a755e808b4c | https://maven.mozilla.org/maven2/org/mozilla/components/support-utils/72.0.…
-4b6e3912804fa12d26972c20f161dff350ad238574dea7c9cf9503996d7b13e6 | https://maven.mozilla.org/maven2/org/mozilla/components/support-webextensio…
-811312155411acccb4d10f159cf0b0906c74f90c4fdc697ec29594db72440c28 | https://maven.mozilla.org/maven2/org/mozilla/components/support-webextensio…
-42956cea135c67cb2e5e0485146f0f6d53c83d91f9edd999d8c851556c054447 | https://maven.mozilla.org/maven2/org/mozilla/components/tooling-glean-gradl…
-1e7bfdc556053760638f4ece37390c432fc040e78cf2c9d2b0ba6a12630089fc | https://maven.mozilla.org/maven2/org/mozilla/components/tooling-glean-gradl…
-09f80a0b9aafdd9d46f53d139c8056880d17e2578d3f9cf797d632a5aba40fba | https://maven.mozilla.org/maven2/org/mozilla/components/ui-autocomplete/72.…
-ecb9eb77915798c562b2bf8e174493379fc6a138680379e5f4532ea494db0d8e | https://maven.mozilla.org/maven2/org/mozilla/components/ui-autocomplete/72.…
-7ec7264a35b13382f84d701fab89daace99c6c8157c6fdc6d15da2361fb4f16b | https://maven.mozilla.org/maven2/org/mozilla/components/ui-colors/72.0.1/ui…
-5a0fcad5051301f99816c2dbd72f11d6b2de769e3765da7e5921018714cb3cb1 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-colors/72.0.1/ui…
-71307c399eb59749c6c25d2a0eb93c61513bc79b6c2c5a3e4dfb70e5077185a2 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-icons/72.0.1/ui-…
-5982e0514be1442e3a9c59357737f996d43c2ebb459e21c934308fd77deab52b | https://maven.mozilla.org/maven2/org/mozilla/components/ui-icons/72.0.1/ui-…
-ef0ea652e32aac9d8a52884e5aba0c30bd4236eb042190813cfd5ec4f3216927 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-tabcounter/72.0.…
-6c0754c4cded024e0f8c863bc9c957f6a252d01a6551866b3e662ac5fe234382 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-tabcounter/72.0.…
-b27707dbb4f038517c89ce84541251f527a954ead43f6f7c67dd516a1640dd76 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-widgets/72.0.1/u…
-4248c9d81fcf41b29830f0a348db8c12cacf8697cfd6624a7fe1086366fb45c2 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-widgets/72.0.1/u…
-6ca800559b22d4bd0833444d3e666390a103307375d000565ea89d571ca1fe81 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta/86.0.…
-12028814b487c385870e3eb1b40d3cb3027ebbe50af7c3ef182880d6ba79aae9 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta/86.0.…
-7ac371cfa60025020c391b59890db48c9db52fb67c1b2fd1eda70a2d20b72cb6 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview/85.0.20210…
-e514f95723d5f97c1e92e425923d13add24fdb85c2f761b20ae42d23e0457c0d | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview/85.0.20210…
+707eb615751466dc1ee135a52c2009352fdd3a5e879b6064c24c094953907fab | https://maven.mozilla.org/maven2/org/mozilla/components/browser-awesomebar/…
+ccd95d3031cf0aa450e5c932915250c71e9ebaf90a6615b3ff2ac2e2bcc8bdc7 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-awesomebar/…
+a33eab48fd4179e2c74e4efdc40ba7e0123eaa46f64edd110bcf497501ac6281 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-domains/72.…
+7904ef2d3ec4b32b11e1457e3cc5ee3247d1d1969140574e61b0cc07cc9affcf | https://maven.mozilla.org/maven2/org/mozilla/components/browser-domains/72.…
+76c335ef74415219fe3a28b97b1f439c6171fd8d65988cf407b57fe6cae0a5cd | https://maven.mozilla.org/maven2/org/mozilla/components/browser-engine-geck…
+2891b3ea2219af4bb6b1c2d60320ab002d2da1dce9e64eb496384cfcabb653c7 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-engine-geck…
+261896df31c26873d3011c200750c1b5bdbf4a55dbb518ebab1cf9ab336cbb97 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-engine-geck…
+c1e3586a84507770a2549bcf29589b98fba4946a149c142e4163268a543a2582 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-engine-geck…
+8ee1b23eb8bb5a464deca2e3e0b90dd7619751a0889c63714702b6dea2fa7c2c | https://maven.mozilla.org/maven2/org/mozilla/components/browser-errorpages/…
+63e48f4208447a3112906eb8c02dfacd0cf3de32cd4c587938787e61716adb03 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-errorpages/…
+8467f50e6494029503e6a65bed02048825aee1c96da86f42e8f7327f7ddb9c01 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-icons/72.0.…
+81149e35b601f68bd704af6e830f0e8e19e2248fb0dbf0604c72a94528078fc1 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-icons/72.0.…
+72b47d9ae38027c9686bcc4aeec69c4c290c5dda71f5b18230ea328ff1aa24e7 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-menu/72.0.5…
+983a843ed6cbfd999baf26eeb04d84bb8679b36d891e67d55b07719cba3fdc17 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-menu/72.0.5…
+807e0a73ee535859a8957eda4ee52f858a6d973c3d8c5f3e8ddaabfacc849305 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-menu2/72.0.…
+478f9a1e56202f1c8bc483e8000f5646140b2e3996ee0a1af8918298d395973b | https://maven.mozilla.org/maven2/org/mozilla/components/browser-menu2/72.0.…
+f0eb789cb5daef255d9ee4ff7ea3afeeb3d3f6046eb7b03871da41e52b8ba1c1 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-search/72.0…
+51ff03796509a2efd194a5b67fa38021e773a759fd66381bc1d5db523a09c7db | https://maven.mozilla.org/maven2/org/mozilla/components/browser-search/72.0…
+07cca82ca086d49a7d26ac44d08eaff857357b357e9600b312c598e2259c8627 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-session-sto…
+fa3265e3a5635e78e51c5edad0ae62edfe8d186865e34d47eb11173224c45319 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-session-sto…
+9c293d868f3ad6b5b1bdeea71745be48c4da9ebe33ba70dc36b413c741446787 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-session/72.…
+f4746f2e47c6e7b562462deb5ffbf38775e9c362945e374e1afba161aaf1f3d7 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-session/72.…
+d55f14316f736b6860512d81f32a2148d9394b1d56f5be8f8098d43dc385bf07 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-state/72.0.…
+a020ab27b399ba90b84908f7db049e78ee4aa8760688b0d4878197ba71cf05be | https://maven.mozilla.org/maven2/org/mozilla/components/browser-state/72.0.…
+f3620e6dafd8244db545af087d50ed93533cdbdb956e2436c841f78b631e1d0f | https://maven.mozilla.org/maven2/org/mozilla/components/browser-storage-syn…
+8db6b872db891f99933596f8966c089dba21722f5e67d055beafe51d1c443dec | https://maven.mozilla.org/maven2/org/mozilla/components/browser-storage-syn…
+d75a22b6e81f1f90471251a695ef64d4a75532040065d8923ddb0928ae61fbf2 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-tabstray/72…
+b5983daee96f4ea5bfa4ff13462c00a40231f39641f45a542d283605ed1606e8 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-tabstray/72…
+fe8e7843478a9699ebe8d21ca9486d826aa4c85dc3178ff1114be22f9b0ff50c | https://maven.mozilla.org/maven2/org/mozilla/components/browser-thumbnails/…
+7810035330e6a50683362a0eeddd1cd9540ed13267ef9ce28e3787c7e88e3358 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-thumbnails/…
+27ad00d7ca8b1fd07b32f3dc28feb39885c982e34f998000934478d0732b8d20 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-toolbar/72.…
+0358373cc8aaa42974ad61830e812070abfd16200cf920021c832dea3e60fe66 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-toolbar/72.…
+a333cc604fe5934656fed5f842fb359f0fdde47c33351c03ef0de3dc742754aa | https://maven.mozilla.org/maven2/org/mozilla/components/concept-awesomebar/…
+b523d19025cc5b41f78ed2c70389ed4d77de078f8c9c52c87a02d560d1b32342 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-awesomebar/…
+669854064c0f68e7f8e1aa56177e3ddecfca37f7dd774940a34f88ca9822eb27 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-base/72.0.5…
+117ce29e8031ee4e53d5da764113b9d61cd257cbd0620f4a6d8fd369c0736e61 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-base/72.0.5…
+48ccc3cf289c825eca902277a633597ea19568d991863d682a528bafc2b5af42 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-engine/72.0…
+8bb6d0f30165b1ca7bc1c244cce13a257dc72db9069839c7ed9d2bad89bd1717 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-engine/72.0…
+5032bc284eb098c97ce1176913a8895d07ee50aceb2551176071d516ae89251f | https://maven.mozilla.org/maven2/org/mozilla/components/concept-fetch/72.0.…
+19dbd8a86bf2167c5ee6ee7e1aca02be42a7fd244ab46bbd60bd427ca8132846 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-fetch/72.0.…
+df27163b42a29ec9e7678cf31c3d3ec76881cab74cff7b50bdce412c3fd63c1a | https://maven.mozilla.org/maven2/org/mozilla/components/concept-menu/72.0.5…
+9a10e27f0fa7371ab36911a23b087ad406b68d1e271a1cfbf73fe5af1e70e207 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-menu/72.0.5…
+75be14a169c7ef2bac1830cc7efca7ec45f34edf54c87d7738804030926bd1fd | https://maven.mozilla.org/maven2/org/mozilla/components/concept-push/72.0.5…
+552fe32473dcf6068a6b307238efc9b552f78927fb42c626486fd3932dca49ce | https://maven.mozilla.org/maven2/org/mozilla/components/concept-push/72.0.5…
+63c1a7ccf904423703ef3007cd79c0abddbe8d9f43c675685149392de48a4eeb | https://maven.mozilla.org/maven2/org/mozilla/components/concept-storage/72.…
+7fa573c5b9fffd5f81b07a067f09472f21b6ab877762f832c0b4e73a8c81bade | https://maven.mozilla.org/maven2/org/mozilla/components/concept-storage/72.…
+900d502cfbdb96b3c9e35472bd2fbcc5c78396eae66ddca040d3c789bbfac61c | https://maven.mozilla.org/maven2/org/mozilla/components/concept-sync/72.0.5…
+2d29070c2e106f01d47130f4278a2044a6271651cc2a309f517b37f0703a4fbd | https://maven.mozilla.org/maven2/org/mozilla/components/concept-sync/72.0.5…
+00de4cfb49bcd14819487375f615055b8993bd73fbbcf6e76c0317b5e066e1a9 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-tabstray/72…
+3189c52dd2f0758bd549e953dab9f9f131c63a45004467228100777947faed4f | https://maven.mozilla.org/maven2/org/mozilla/components/concept-tabstray/72…
+3a5fd8665a36910a96dc2964fa9e241ceda29073139865c493124f12da631257 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-toolbar/72.…
+d2d3c09be18f469de61e3f7457b3e2afa5a7db3cb923771e6499141a6589d95e | https://maven.mozilla.org/maven2/org/mozilla/components/concept-toolbar/72.…
+cf22dafd69d182e403c420f8b2e0ff15650531958d4d9bec9eb1773a898adbf5 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-accounts-pu…
+3fe557a6a191e1c1ae165e24cb9b0ed18744f24dd69385101330366f5491c813 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-accounts-pu…
+4f834add639a40a0bdd325db87911ab45cb6261f9d6f4f08517e1e9e0c309134 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-accounts/72…
+242f92a0c1ba73951a6ad8792c6a7a740dbb858977a5020b431c16b6ced186a8 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-accounts/72…
+7c5e19441d7af3d9e0ac277f528aa607bd134ea7cb15939f8b4b4dcb0b5d6e28 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-addons/72.0…
+26cb02e5baa82fc077940ccb3731090c11749faf43e3e88ba2262424f7d7093f | https://maven.mozilla.org/maven2/org/mozilla/components/feature-addons/72.0…
+f668f699acb95a2c916a93fd9f64232a7eb64d4f40b9c83a819850bcb1f188b7 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-app-links/7…
+639e8f809358a3ba3e46b2ca45cc98305e063aa974f4122f47ec168ab04d26c7 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-app-links/7…
+4a010fe579f7d81d8cd4b9fec36b3b651ff0a8df009c72af8e3c15bfd0c0f6c9 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-awesomebar/…
+93439edb1b9343cf5521c2274a3266e3e3b93dba12d0dcbc67ddf0b14252fc64 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-awesomebar/…
+9ce1db08d3a68571358833af99038ec7981de7e0d5921aee56cb34a40dba3a61 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-contextmenu…
+3c509b71789dfaa428e102cbf4bd4a5affab2efcf969cd2e8ad77dd6917ce011 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-contextmenu…
+0782cc4b473dd6dfdaee2166ceb76ae0bccee802116bfdaaa09b7f995a804b9b | https://maven.mozilla.org/maven2/org/mozilla/components/feature-customtabs/…
+e8a8971ac17f58992c5e90e4ef84f44d5b7113c30ec77474f135cf23067271fc | https://maven.mozilla.org/maven2/org/mozilla/components/feature-customtabs/…
+dbfd013db1b6a18bf2a0974e3fe18d084bfe0aa569f381bc60e67b05086015dc | https://maven.mozilla.org/maven2/org/mozilla/components/feature-downloads/7…
+e46e4a686907fb88d10afdaf028edd45a02911b6663a075b41fdf22bf6130231 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-downloads/7…
+8ea11512c113a2640173d46c19636bffde9fc7d336d72b7101e34d7fae1451bf | https://maven.mozilla.org/maven2/org/mozilla/components/feature-findinpage/…
+4417fc06f31f88c3a79c23585f7fdcf3381b573cfb919921d669a7e1e12549d7 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-findinpage/…
+d00b5dc50a6d1057e68bf3a3160a884c63405f8a71cc6d0c130c5f4445e4d2f0 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-intent/72.0…
+3cf44331e2cbbf07904db37f3ea6e69ea3170df4c813d4ed775918c47292998e | https://maven.mozilla.org/maven2/org/mozilla/components/feature-intent/72.0…
+48516fec9ac2cd8daf126fdae2cbf169e67cbf76e9b3f3d9ac676dbdb99fabf6 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-logins/72.0…
+baade39ff53bbc14c297c3790aabac2f39ecc83b64a6c1f69a7c1f8502b30e13 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-logins/72.0…
+00da182b420ca58ba821ce856a813560ec945827aa48e35c050cfeab814e3749 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-media/72.0.…
+a074d79b44f6b2b3c9bf17724a43ca83745b256e79b3caa43b6ee99bd45a2517 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-media/72.0.…
+a3e04cc2d816a6cc811f4742664971116420504bd622207cf510a15f833f807b | https://maven.mozilla.org/maven2/org/mozilla/components/feature-privatemode…
+9e6f64e560453584cad9bf19184631bd52db54d9fc21847a3f193db26cdcd56f | https://maven.mozilla.org/maven2/org/mozilla/components/feature-privatemode…
+394a813d7a809927036028a4d48afd5bb14ccc20efd96e152e1ceb8647ff8502 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-prompts/72.…
+d6797cb42c9acbcfcea66266a4b949c606da32760d2bd42685da48ac92fa61d5 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-prompts/72.…
+cb0f953fdc4bc4c12db326b637611a35e45522435832fcb149034db20a494449 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-push/72.0.5…
+48aea8c5a1ec252d6daf5fcb56a279f7d5edce56562b3b91d00801ab0ac2a26b | https://maven.mozilla.org/maven2/org/mozilla/components/feature-push/72.0.5…
+129d41e2e7ad9a59d9e1ac9a86eda0d415f0bd43cfbd68e3203544a5957b8919 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-pwa/72.0.5/…
+b5873679a09f65016736491b1248ba2045c7c1345e71b5cdf091469f862bf6b7 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-pwa/72.0.5/…
+9dbd38fe5c60466ac1d0d911eb69689165cd27d4e5a74a63d5831562b5d45140 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-qr/72.0.5/f…
+80ecd2be1b4dc6bb9f46f02ee8ab5831a3c62a562087fab8540346610e9bb155 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-qr/72.0.5/f…
+638be2cbd30fc433c63dbf529c3765b7745b72dcafedf9694c6c515dd19adf4c | https://maven.mozilla.org/maven2/org/mozilla/components/feature-readerview/…
+79852385cf4348cc810069281b5d9d21e99cf8922b6813de7c5e7d1c6ef3f686 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-readerview/…
+3b72bf4c8c50784d39e997ab0622ebcb4c9e25e8f371d95a120a3cfa437e495a | https://maven.mozilla.org/maven2/org/mozilla/components/feature-recentlyclo…
+b06a4bd628199d0706f38b871779d9bb853259b239dcab11003cf65bd5773b72 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-recentlyclo…
+90bdb1bda5fce4b8946affd99d0193578183143afd2d6f184eaef51485f0308c | https://maven.mozilla.org/maven2/org/mozilla/components/feature-search/72.0…
+032ef88a545a4cdb66cc7be4ae36382775e5dd962c8d6bbe378965a2834e7e7e | https://maven.mozilla.org/maven2/org/mozilla/components/feature-search/72.0…
+e916752eebd104569639e87cff8159df345ed8ebf4ecae391ef9b0dadf7c0300 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-session/72.…
+d60f8cb02185bad2c51007978b9d08e4943d08d3f000e14dcc4bc9e995a0db49 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-session/72.…
+e00d47d0c3730a5958e36cdd263ddc91dc744958cb2346bc19b5452d6f0799c1 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-share/72.0.…
+889e94bdd227849f7987959848e49c84ab2cc77f0bbf02726db765a48d8d6a1e | https://maven.mozilla.org/maven2/org/mozilla/components/feature-share/72.0.…
+c4389c74dc01872836ddccd1e1ae4b532df60aaf62e08ece1d698a8b0186ab67 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-sitepermiss…
+7f5d44990e7cfd64ec4b67efa6a68f11805209dea128436d27a7fbf0a77708e2 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-sitepermiss…
+ff7b95cced4e44633cf22d007f9ff40cbda272b7963f62dfeb08682d822198ec | https://maven.mozilla.org/maven2/org/mozilla/components/feature-syncedtabs/…
+18d6243f410fa4426036490b6875d38efaede6107139761929b67569444fc8d0 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-syncedtabs/…
+b33db8f3e1ce1b5856bda8844b529d617101df81329b66e8fbfa5cb078b783f9 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-tab-collect…
+37544576f651c9a7a76e0d2a60213440476d8400bf8d172a5fe08c0aeb9a2dd4 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-tab-collect…
+3524b6d1680c0218563f2738767d580062a7b74792fdddfa442b6b1619524dab | https://maven.mozilla.org/maven2/org/mozilla/components/feature-tabs/72.0.5…
+37ef5c78fad1778b9a96a2f3f0a65cd4fa89209ecfd976b91e938479559e211c | https://maven.mozilla.org/maven2/org/mozilla/components/feature-tabs/72.0.5…
+e4fd8116ba7112468bc43ad895cee9c50d29a149a95e1fd0d8f87962076b6ef7 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-toolbar/72.…
+3e1f6aec7a364d89b3bea3f11db98bf4dfeada5d46e78e684e06f208df48d70d | https://maven.mozilla.org/maven2/org/mozilla/components/feature-toolbar/72.…
+6f0b1315aa46725006f85f68bc664e505e603d99917b06e89012f7567993b8ac | https://maven.mozilla.org/maven2/org/mozilla/components/feature-top-sites/7…
+a8c7107e913417a78e58dc2fce03bc6497bc8923b5fb16589f647782bb00c862 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-top-sites/7…
+11f1eabc582d8b2a824a45241816f9e82be13ea473363e7f1dff00b697bd6ef9 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webcompat-r…
+09e48e7f32d8e40a3a2ceb1dabd2c6d36d9784490000945e7b8167e77a6c1e33 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webcompat-r…
+1dba077ef2c14496114bdc05c01f632a05a6d6f1bc5d851c18c8032737d90696 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webcompat/7…
+b3a7db07fce29fee0a0dc7663016b1c68904f715345ada72f0dcbf4b2105d645 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webcompat/7…
+33fd07f7f285d67a88684cee8167049a426f68a8eca466f9ae84304730361642 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webnotifica…
+fea3957b40281f176bd1c401f6fd11ffad2fa3c2b09cffb9fe7688c89e014124 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webnotifica…
+bbe8b26216904bb2006eab8cb018303791f9751e8e2d4c1f2634888a38f5100b | https://maven.mozilla.org/maven2/org/mozilla/components/lib-crash/72.0.5/li…
+a2624323db68369c935d83f74c5d01676c3876bd10a883a49eb5e3459985d9e6 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-crash/72.0.5/li…
+8ddd5a225161264c7d736a42f116f543ed9f672c8574f568ae2fecfb4c08f93b | https://maven.mozilla.org/maven2/org/mozilla/components/lib-dataprotect/72.…
+4fcf487ba804673b5329409226d48901a9ad7edaecd719fa09243c6315bb29ce | https://maven.mozilla.org/maven2/org/mozilla/components/lib-dataprotect/72.…
+eda0fcb43894fbdc9a24d4f5b979c902eaaae70aea62b1554f45aa9600b1a7b8 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-publicsuffixlis…
+bf2f639cecf4102843460ca05660ee122171f82083659ec0499a73c072240be5 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-publicsuffixlis…
+63a56b896edab40120aa64fe37ad51a008d94de16479d168ceff29dffdd8d5ce | https://maven.mozilla.org/maven2/org/mozilla/components/lib-push-firebase/7…
+e6fed2c06bb49e133c90866a8d19174da1390a610054785b716daf5321760dc5 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-push-firebase/7…
+4a6856c18b4c6d6b6de158bd2094f2ba4d84978ead7a98d5ba83c36057b6d4e7 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-state/72.0.5/li…
+c109da70e3b09634096925b4a1d6205fe5a3311d5ee4e02cbfb51280eaa89956 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-state/72.0.5/li…
+8db1f518ab4716885dd27e366400e124d153ea38831f8709632c4d8c43c9789d | https://maven.mozilla.org/maven2/org/mozilla/components/service-digitalasse…
+1750ffa066e75f74c4b2d6f95326e62ff1294b6ffc3c999d7afbf4c6f1ea6bed | https://maven.mozilla.org/maven2/org/mozilla/components/service-digitalasse…
+750e3daa0a68c257472e7e3cb6c3f4f9f400555e32bdd31727d238d8fe9505b7 | https://maven.mozilla.org/maven2/org/mozilla/components/service-firefox-acc…
+186364883710fa2b2cc5e1de1a0e73d8365ce6319678e680400de430e89804ba | https://maven.mozilla.org/maven2/org/mozilla/components/service-firefox-acc…
+16d0389b23a563a0f03230afb4438d69072e904557635bee1cb642beceae2607 | https://maven.mozilla.org/maven2/org/mozilla/components/service-glean/72.0.…
+78857476c82faeabb87c625c10ba92769d53de04616b46aa3ac96c2c84af417e | https://maven.mozilla.org/maven2/org/mozilla/components/service-glean/72.0.…
+b3b01aefb960083a633457f78cb15db1e2c53f1213efb41c8908f69fbbddd20b | https://maven.mozilla.org/maven2/org/mozilla/components/service-location/72…
+9ba925af793e427fc715c3cb43bf75991bcb952c411aa5acdf676d838ebe077c | https://maven.mozilla.org/maven2/org/mozilla/components/service-location/72…
+6dfef14f659e10261b6ac082ba60b74f66864df9759055c8d35835fa12da6786 | https://maven.mozilla.org/maven2/org/mozilla/components/service-nimbus/72.0…
+2757d533de5fcfe3fd497c842357b82c8d9afe89701c7d90ebafc7203fc9b40c | https://maven.mozilla.org/maven2/org/mozilla/components/service-nimbus/72.0…
+d338c9bb41e2007cbe2fe9970c9326db9f35f8ad6260696c1b79285c5d5b980b | https://maven.mozilla.org/maven2/org/mozilla/components/service-sync-logins…
+11d65d2728f6932e4a9eba79e30228c5e326e26d01526b2ffd986b3b3943ac26 | https://maven.mozilla.org/maven2/org/mozilla/components/service-sync-logins…
+c5539d32747e194412392708dc329ace3582f3a05bfe733dd6483d695886586a | https://maven.mozilla.org/maven2/org/mozilla/components/support-base/72.0.5…
+15574bc9ea549ee8fd988b5e8fd26671c36c3347a75acb151bcfbc69f284fe7e | https://maven.mozilla.org/maven2/org/mozilla/components/support-base/72.0.5…
+4399954ec888c5316cc41e7011d19ae663f6ecebb5f38f31d0b94918d40314d5 | https://maven.mozilla.org/maven2/org/mozilla/components/support-images/72.0…
+64a557a962c22e40c773f9b61cf4622e5c544e8cc5c51906b366529b6098012c | https://maven.mozilla.org/maven2/org/mozilla/components/support-images/72.0…
+755cd9e2c9d550b7d13e32b2d0fc3838021967405cf6b7bf30c58577fec5827a | https://maven.mozilla.org/maven2/org/mozilla/components/support-ktx/72.0.5/…
+dcac66ae6f327e0ff3a535c5bd029fae9c5277be6ef4aa0349c68438ca21987f | https://maven.mozilla.org/maven2/org/mozilla/components/support-ktx/72.0.5/…
+0c071b715ecd3debb7a93289de8626e4815bd06167ddbdc58cf454c9c4e1c780 | https://maven.mozilla.org/maven2/org/mozilla/components/support-locale/72.0…
+0d8315dba084231e35e18c1cfc025deea6fa4eaee4b64d77b3a5668c8d69e433 | https://maven.mozilla.org/maven2/org/mozilla/components/support-locale/72.0…
+98ac937bc1923bce2c0a9cbb65ae0bc47e2caf4d675dad34dcdd0ea4cbac6ed0 | https://maven.mozilla.org/maven2/org/mozilla/components/support-migration/7…
+9d5f76bb542793e0b07a757c58f0d1a21abb77a0476e820d1cc9a3830fd1202c | https://maven.mozilla.org/maven2/org/mozilla/components/support-migration/7…
+7d36f11412ef9b7360e0752309b7541e3c85f17b49e32a94a8398e7dab53331c | https://maven.mozilla.org/maven2/org/mozilla/components/support-rusthttp/72…
+18357f26fe2d24b37df93d7d114dc53e36f6c2265bb9366e976359a9e987238c | https://maven.mozilla.org/maven2/org/mozilla/components/support-rusthttp/72…
+72a085b1abb58af1bc6e47e690634c8d2648f021dfa9c8ce5ae752cbe0670066 | https://maven.mozilla.org/maven2/org/mozilla/components/support-rustlog/72.…
+5e823d83b186416c24efe1131cf90fb934f46b271a6deec0f288247508df32d2 | https://maven.mozilla.org/maven2/org/mozilla/components/support-rustlog/72.…
+20498d158e06bf13012376fe08d3162f722c67ef6005599d97448abc2bcc66a0 | https://maven.mozilla.org/maven2/org/mozilla/components/support-sync-teleme…
+5e9e4a2223929aa6009b26487cf84cef6090479787fdc66897baa40e9e74e15d | https://maven.mozilla.org/maven2/org/mozilla/components/support-sync-teleme…
+935d569da3ce6839b7457c87a539f71a105d2c4b8eae8caa97f166601402931f | https://maven.mozilla.org/maven2/org/mozilla/components/support-test-libsta…
+3a3a5f3588cdd6e852c4ba4e67e4dc19cb21971cda60bf03effab563d8c2a8b6 | https://maven.mozilla.org/maven2/org/mozilla/components/support-test-libsta…
+eb8e8abdd2a1108b338b1a4136d80f4eb02379985946d3d0ffe954c4dad094f7 | https://maven.mozilla.org/maven2/org/mozilla/components/support-test/72.0.5…
+e8f8137548145600f7595d9a0207cc01637d1470d2d1044e711b4fccd69c8dd8 | https://maven.mozilla.org/maven2/org/mozilla/components/support-test/72.0.5…
+f7bf27270904abd8639b543151b6eaf268b821b8e6235c8decf8031e02ec8648 | https://maven.mozilla.org/maven2/org/mozilla/components/support-utils/72.0.…
+c83379b00bd0b7cbe8e28aea8d08178df32610c4338fa8d7de03142831ff6d16 | https://maven.mozilla.org/maven2/org/mozilla/components/support-utils/72.0.…
+4b6e3912804fa12d26972c20f161dff350ad238574dea7c9cf9503996d7b13e6 | https://maven.mozilla.org/maven2/org/mozilla/components/support-webextensio…
+da89a91025b054d2b380d76ab28e5c8307b9da5954b9a0a74d6c3f148af451bc | https://maven.mozilla.org/maven2/org/mozilla/components/support-webextensio…
+75b9aa5aac3fb8079f35382339f251faaeae0046699b6acf6841c645c2e7ca37 | https://maven.mozilla.org/maven2/org/mozilla/components/tooling-glean-gradl…
+0f3b5c76276dc5109bd7b88ec95ddee5d702340debafa457153d112166205b9f | https://maven.mozilla.org/maven2/org/mozilla/components/tooling-glean-gradl…
+09f80a0b9aafdd9d46f53d139c8056880d17e2578d3f9cf797d632a5aba40fba | https://maven.mozilla.org/maven2/org/mozilla/components/ui-autocomplete/72.…
+0db1b5c7ba7c100d5a12305c572c8d348fb8dbb4500540e13aa8fefa9deb1169 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-autocomplete/72.…
+7ec7264a35b13382f84d701fab89daace99c6c8157c6fdc6d15da2361fb4f16b | https://maven.mozilla.org/maven2/org/mozilla/components/ui-colors/72.0.5/ui…
+b53d560612c2808a1623fa60092c020988dad9826467dcdd0bce18a6dfb561a5 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-colors/72.0.5/ui…
+71307c399eb59749c6c25d2a0eb93c61513bc79b6c2c5a3e4dfb70e5077185a2 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-icons/72.0.5/ui-…
+a4245435703548a7b723f23a5a762cc3000f4c6390cf2b2f75e3e9cb8d164eea | https://maven.mozilla.org/maven2/org/mozilla/components/ui-icons/72.0.5/ui-…
+ef0ea652e32aac9d8a52884e5aba0c30bd4236eb042190813cfd5ec4f3216927 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-tabcounter/72.0.…
+d6b138a48d0d48e068272dd2497d0c73e28bf327b560f5b2c2e7e542eca01d09 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-tabcounter/72.0.…
+b27707dbb4f038517c89ce84541251f527a954ead43f6f7c67dd516a1640dd76 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-widgets/72.0.5/u…
+65c3698561f38c9ce8d23f486a8e3981cbf29b3f1271e34a6018cab08b93982a | https://maven.mozilla.org/maven2/org/mozilla/components/ui-widgets/72.0.5/u…
+8c0fe200be53cfd668ffbf10efa897e68480caaab5c0cfe3f72753dbc8e8d69f | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta/86.0.…
+d8993f6b94fc6e91c7d91bfd201ab5a1d17b7c7288b3eb28fd4d63f9a7064324 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta/86.0.…
+4251784fdd7b1f8c7a675fcf668b2fd23d0b44c26a425fe7752dbce3b2f19cb0 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview/85.0.20210…
+ab81e6a37144452a63880bb34b6140a1e3075cfe50e3a7275c0c6316844b8b75 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview/85.0.20210…
97a9d151ad636acc68eeda046866f0ac24e6f7bf2a81a6b938a3386cc73be529 | https://maven.mozilla.org/maven2/org/mozilla/telemetry/glean-forUnitTests/3…
817736c79269dc217946522fdb8f6ed57547bdd8fbf187687b53ffbe5d813bc3 | https://maven.mozilla.org/maven2/org/mozilla/telemetry/glean-forUnitTests/3…
ccd3a75eb0e0f8ce5882d9d3a3154e3d3c40ce9c44f6c506ad4e28df84bab751 | https://maven.mozilla.org/maven2/org/mozilla/telemetry/glean-gradle-plugin/…
diff --git a/projects/geckoview/config b/projects/geckoview/config
index 3a0b39a..f7e766d 100644
--- a/projects/geckoview/config
+++ b/projects/geckoview/config
@@ -8,7 +8,7 @@ git_submodule: 1
gpg_keyring: torbutton.gpg
var:
- geckoview_version: 86.0b1
+ geckoview_version: 86.0b5
torbrowser_branch: 10.5
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
deps:
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 0c5b334..92a0d80 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,23 @@
+Tor Browser 10.5a9 -- February 5 2021
+ * Android
+ * Update Fenix to 86.0.0-beta.2
+ * Update HTTPS Everywhere to 2021.1.27
+ * Update NoScript to 11.2
+ * Bug 40041: Rebase android-components patches for Fenix 86 beta 2 builds [android-components]
+ * Bug 40109: Reduce requested permissions [fenix]
+ * Bug 40141: Hide EME site permission [fenix]
+ * Bug 40143: Use deterministic date in Test apk [fenix]
+ * Bug 40146: Rebase Fenix patches to Fenix 86 beta 2 [fenix]
+ * Bug 40188: Build and ship snowflake only if it is enabled [tor-browser-build}
+ * Bug 40212: Bump version of snowflake and webrtc [tor-browser-build]
+ * Bug 40308: Disable network partitioning until we evaluate dFPI [tor-browser]
+ * Bug 40309: Avoid using regional OS locales [tor-browser]
+ * Bug 40320: Rebase tor-browser patches to 86.0b5 [tor-browser]
+ * Build System
+ * Android
+ * Bug 40214: Update AMO Collection URL [tor-browser-build]
+ * Bug 40217: Update components for switch to mozilla86-based Fenix [tor-browser-build]
+
Tor Browser 10.5a8 -- January 26 2021
* All Platforms
* Update NoScript to 11.1.9
diff --git a/rbm.conf b/rbm.conf
index bbb8e9e..a027f7c 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -24,7 +24,7 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '10.5a8'
+ torbrowser_version: '10.5a9'
torbrowser_build: 'build1'
torbrowser_incremental_from:
- 10.5a7
1
0
[Git][tpo/applications/fenix] Pushed new tag tor-browser-86.0.0b2-10.5-1-build1
by Matthew Finkel 04 Feb '21
by Matthew Finkel 04 Feb '21
04 Feb '21
Matthew Finkel pushed new tag tor-browser-86.0.0b2-10.5-1-build1 at The Tor Project / Applications / fenix
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/fenix/-/tree/tor-browser-86.…
You're receiving this email because of your account on gitlab.torproject.org.
1
0