tbb-commits
Threads by month
- ----- 2025 -----
- 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
- 18610 discussions

[tor-browser/tor-browser-85.0-10.0-1] Backed out 1 changesets (bug 1674832) for causing frame drops on android (bug 1688783). a=backout
by sysrqb@torproject.org 02 Feb '21
by sysrqb@torproject.org 02 Feb '21
02 Feb '21
commit 9fe53c542e758145dd34e9e037368fcfad3fd3ba
Author: Julien Cristau <jcristau(a)mozilla.com>
Date: Wed Jan 27 19:22:22 2021 +0100
Backed out 1 changesets (bug 1674832) for causing frame drops on android (bug 1688783). a=backout
Backed out changeset 969761f1aa55 (bug 1674832)
---
media/libcubeb/aaudio_by_default.patch | 31 -------------------------------
media/libcubeb/src/cubeb.c | 3 ---
media/libcubeb/update.sh | 2 --
3 files changed, 36 deletions(-)
diff --git a/media/libcubeb/aaudio_by_default.patch b/media/libcubeb/aaudio_by_default.patch
deleted file mode 100644
index b1593268ad54..000000000000
--- a/media/libcubeb/aaudio_by_default.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/media/libcubeb/src/cubeb.c b/media/libcubeb/src/cubeb.c
---- a/media/libcubeb/src/cubeb.c
-+++ b/media/libcubeb/src/cubeb.c
-@@ -227,24 +227,22 @@ cubeb_init(cubeb ** context, char const
- wasapi_init,
- #endif
- #if defined(USE_WINMM)
- winmm_init,
- #endif
- #if defined(USE_SUN)
- sun_init,
- #endif
-+#if defined(USE_AAUDIO)
-+ aaudio_init,
-+#endif
- #if defined(USE_OPENSL)
- opensl_init,
- #endif
-- // TODO: should probably be preferred over OpenSLES when available.
-- // Initialization will fail on old android devices.
--#if defined(USE_AAUDIO)
-- aaudio_init,
--#endif
- #if defined(USE_AUDIOTRACK)
- audiotrack_init,
- #endif
- #if defined(USE_KAI)
- kai_init,
- #endif
- };
- int i;
diff --git a/media/libcubeb/src/cubeb.c b/media/libcubeb/src/cubeb.c
index 538e1d06d4a3..25389d1fa42a 100644
--- a/media/libcubeb/src/cubeb.c
+++ b/media/libcubeb/src/cubeb.c
@@ -232,9 +232,6 @@ cubeb_init(cubeb ** context, char const * context_name, char const * backend_nam
#if defined(USE_SUN)
sun_init,
#endif
-#if defined(USE_AAUDIO)
- aaudio_init,
-#endif
#if defined(USE_OPENSL)
opensl_init,
#endif
diff --git a/media/libcubeb/update.sh b/media/libcubeb/update.sh
index cd5adfc99247..db775c9d1551 100755
--- a/media/libcubeb/update.sh
+++ b/media/libcubeb/update.sh
@@ -86,5 +86,3 @@ if [ -n "$rev" ]; then
else
echo "Remember to update moz.yaml with the version details."
fi
-
-patch -p3 < ./aaudio_by_default.patch
1
0

[tor-browser-build/maint-10.0-android] Bump HTTPS Everywhere version to 2021.1.27
by sysrqb@torproject.org 02 Feb '21
by sysrqb@torproject.org 02 Feb '21
02 Feb '21
commit 22f3db1208fabacd42edd6f6494fea97dc6684e6
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Feb 2 08:19:59 2021 +0000
Bump HTTPS Everywhere version to 2021.1.27
---
projects/https-everywhere/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index 255d36f..5ef51dd 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2020.11.17
+version: 2021.1.27
git_url: https://git.torproject.org/https-everywhere.git
git_hash: '[% c("version") %]'
git_submodule: 1
1
0

[tor-browser-build/maint-10.0-android] Bug 40224: Backport Tor patch for v3 onion services
by sysrqb@torproject.org 02 Feb '21
by sysrqb@torproject.org 02 Feb '21
02 Feb '21
commit 17aa2f20efafb67b707e3827c422182c131816fe
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Mon Feb 1 21:31:46 2021 +0000
Bug 40224: Backport Tor patch for v3 onion services
---
...1-hs-v3-Require-reasonably-live-consensus.patch | 672 +++++++++++++++++++++
...tests-Fix-unit-tests-after-merge-of-40237.patch | 97 +++
.../0003-Pick-up-merge-conflict-resolutions.patch | 82 +++
projects/tor/build | 4 +
projects/tor/config | 3 +
5 files changed, 858 insertions(+)
diff --git a/projects/tor/0001-hs-v3-Require-reasonably-live-consensus.patch b/projects/tor/0001-hs-v3-Require-reasonably-live-consensus.patch
new file mode 100644
index 0000000..9a4ec5c
--- /dev/null
+++ b/projects/tor/0001-hs-v3-Require-reasonably-live-consensus.patch
@@ -0,0 +1,672 @@
+From a363b64e82bc1dac2409a65dee0606c4b66f71fc Mon Sep 17 00:00:00 2001
+From: David Goulet <dgoulet(a)torproject.org>
+Date: Mon, 11 Jan 2021 16:01:22 -0500
+Subject: [PATCH 1/3] hs-v3: Require reasonably live consensus
+
+Some days before this commit, the network experienced a DDoS on the directory
+authorities that prevented them to generate a consensus for more than 5 hours
+straight.
+
+That in turn entirely disabled onion service v3, client and service side, due
+to the subsystem requiring a live consensus to function properly.
+
+We know require a reasonably live consensus which means that the HSv3
+subsystem will to its job for using the best consensus tor can find. If the
+entire network is using an old consensus, than this should be alright.
+
+If the service happens to use a live consensus while a client is not, it
+should still work because the client will use the current SRV it sees which
+might be the previous SRV for the service for which it still publish
+descriptors for.
+
+If the service is using an old one and somehow can't get a new one while
+clients are on a new one, then reachability issues might arise. However, this
+is a situation we already have at the moment since the service will simply not
+work if it doesn't have a live consensus while a client has one.
+
+Fixes #40237
+
+Signed-off-by: David Goulet <dgoulet(a)torproject.org>
+
+diff --git a/changes/ticket40237 b/changes/ticket40237
+new file mode 100644
+index 0000000000..fc32f59cd4
+--- /dev/null
++++ b/changes/ticket40237
+@@ -0,0 +1,5 @@
++ o Major bugfixes (onion service v3):
++ - Stop requiring a live consensus for v3 clients and services to work. The
++ use of a reasonably live consensus will allow v3 to work properly in most
++ cases if the network failed to generate a consensus for more than 2 hours
++ in a row. Fixes bug 40237; bugfix on 0.3.5.1-alpha.
+diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c
+index e4e17f6b76..b4dbedbfe4 100644
+--- a/src/core/mainloop/mainloop.c
++++ b/src/core/mainloop/mainloop.c
+@@ -2154,7 +2154,8 @@ hs_service_callback(time_t now, const or_options_t *options)
+ /* We need to at least be able to build circuits and that we actually have
+ * a working network. */
+ if (!have_completed_a_circuit() || net_is_disabled() ||
+- networkstatus_get_live_consensus(now) == NULL) {
++ !networkstatus_get_reasonably_live_consensus(now,
++ usable_consensus_flavor())) {
+ goto end;
+ }
+
+diff --git a/src/feature/hs/hs_cache.c b/src/feature/hs/hs_cache.c
+index 44cd2505fd..ef5e88e947 100644
+--- a/src/feature/hs/hs_cache.c
++++ b/src/feature/hs/hs_cache.c
+@@ -17,6 +17,7 @@
+ #include "feature/hs/hs_common.h"
+ #include "feature/hs/hs_client.h"
+ #include "feature/hs/hs_descriptor.h"
++#include "feature/nodelist/microdesc.h"
+ #include "feature/nodelist/networkstatus.h"
+ #include "feature/rend/rendcache.h"
+
+@@ -739,7 +740,9 @@ cached_client_descriptor_has_expired(time_t now,
+ /* We use the current consensus time to see if we should expire this
+ * descriptor since we use consensus time for all other parts of the protocol
+ * as well (e.g. to build the blinded key and compute time periods). */
+- const networkstatus_t *ns = networkstatus_get_live_consensus(now);
++ const networkstatus_t *ns =
++ networkstatus_get_reasonably_live_consensus(now,
++ usable_consensus_flavor());
+ /* If we don't have a recent consensus, consider this entry expired since we
+ * will want to fetch a new HS desc when we get a live consensus. */
+ if (!ns) {
+diff --git a/src/feature/hs/hs_client.c b/src/feature/hs/hs_client.c
+index fc1fd76efc..0f6109195b 100644
+--- a/src/feature/hs/hs_client.c
++++ b/src/feature/hs/hs_client.c
+@@ -29,6 +29,7 @@
+ #include "feature/hs/hs_descriptor.h"
+ #include "feature/hs/hs_ident.h"
+ #include "feature/nodelist/describe.h"
++#include "feature/nodelist/microdesc.h"
+ #include "feature/nodelist/networkstatus.h"
+ #include "feature/nodelist/nodelist.h"
+ #include "feature/nodelist/routerset.h"
+@@ -1302,9 +1303,10 @@ can_client_refetch_desc(const ed25519_public_key_t *identity_pk,
+ goto cannot;
+ }
+
+- /* Without a live consensus we can't do any client actions. It is needed to
+- * compute the hashring for a service. */
+- if (!networkstatus_get_live_consensus(approx_time())) {
++ /* Without a usable consensus we can't do any client actions. It is needed
++ * to compute the hashring for a service. */
++ if (!networkstatus_get_reasonably_live_consensus(approx_time(),
++ usable_consensus_flavor())) {
+ log_info(LD_REND, "Can't fetch descriptor for service %s because we "
+ "are missing a live consensus. Stalling connection.",
+ safe_str_client(ed25519_fmt(identity_pk)));
+diff --git a/src/feature/hs/hs_common.c b/src/feature/hs/hs_common.c
+index 4639cdb68a..86d3fcab7d 100644
+--- a/src/feature/hs/hs_common.c
++++ b/src/feature/hs/hs_common.c
+@@ -27,6 +27,7 @@
+ #include "feature/hs/hs_service.h"
+ #include "feature/hs_common/shared_random_client.h"
+ #include "feature/nodelist/describe.h"
++#include "feature/nodelist/microdesc.h"
+ #include "feature/nodelist/networkstatus.h"
+ #include "feature/nodelist/nodelist.h"
+ #include "feature/nodelist/routerset.h"
+@@ -276,7 +277,9 @@ hs_get_time_period_num(time_t now)
+ if (now != 0) {
+ current_time = now;
+ } else {
+- networkstatus_t *ns = networkstatus_get_live_consensus(approx_time());
++ networkstatus_t *ns =
++ networkstatus_get_reasonably_live_consensus(approx_time(),
++ usable_consensus_flavor());
+ current_time = ns ? ns->valid_after : approx_time();
+ }
+
+@@ -1107,7 +1110,8 @@ hs_in_period_between_tp_and_srv,(const networkstatus_t *consensus, time_t now))
+ time_t srv_start_time, tp_start_time;
+
+ if (!consensus) {
+- consensus = networkstatus_get_live_consensus(now);
++ consensus = networkstatus_get_reasonably_live_consensus(now,
++ usable_consensus_flavor());
+ if (!consensus) {
+ return 0;
+ }
+@@ -1352,7 +1356,9 @@ hs_get_responsible_hsdirs(const ed25519_public_key_t *blinded_pk,
+ sorted_nodes = smartlist_new();
+
+ /* Make sure we actually have a live consensus */
+- networkstatus_t *c = networkstatus_get_live_consensus(approx_time());
++ networkstatus_t *c =
++ networkstatus_get_reasonably_live_consensus(approx_time(),
++ usable_consensus_flavor());
+ if (!c || smartlist_len(c->routerstatus_list) == 0) {
+ log_warn(LD_REND, "No live consensus so we can't get the responsible "
+ "hidden service directories.");
+diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
+index a42879a48f..2f3f45f252 100644
+--- a/src/feature/hs/hs_service.c
++++ b/src/feature/hs/hs_service.c
+@@ -23,6 +23,7 @@
+ #include "feature/hs_common/shared_random_client.h"
+ #include "feature/keymgt/loadkey.h"
+ #include "feature/nodelist/describe.h"
++#include "feature/nodelist/microdesc.h"
+ #include "feature/nodelist/networkstatus.h"
+ #include "feature/nodelist/nickname.h"
+ #include "feature/nodelist/node_select.h"
+@@ -2504,7 +2505,8 @@ should_rotate_descriptors(hs_service_t *service, time_t now)
+
+ tor_assert(service);
+
+- ns = networkstatus_get_live_consensus(now);
++ ns = networkstatus_get_reasonably_live_consensus(now,
++ usable_consensus_flavor());
+ if (ns == NULL) {
+ goto no_rotation;
+ }
+@@ -3188,10 +3190,8 @@ should_service_upload_descriptor(const hs_service_t *service,
+ }
+
+ /* Don't upload desc if we don't have a live consensus */
+- if (!networkstatus_get_live_consensus(now)) {
+- msg = tor_strdup("No live consensus");
+- log_cant_upload_desc(service, desc, msg,
+- LOG_DESC_UPLOAD_REASON_NO_LIVE_CONSENSUS);
++ if (!networkstatus_get_reasonably_live_consensus(now,
++ usable_consensus_flavor())) {
+ goto cannot;
+ }
+
+diff --git a/src/feature/hs_common/shared_random_client.c b/src/feature/hs_common/shared_random_client.c
+index c2ea5afe32..4e8a2942fc 100644
+--- a/src/feature/hs_common/shared_random_client.c
++++ b/src/feature/hs_common/shared_random_client.c
+@@ -13,6 +13,7 @@
+ #include "app/config/config.h"
+ #include "feature/dirauth/authmode.h"
+ #include "feature/dirauth/voting_schedule.h"
++#include "feature/nodelist/microdesc.h"
+ #include "feature/nodelist/networkstatus.h"
+ #include "lib/encoding/binascii.h"
+
+@@ -55,7 +56,9 @@ int
+ get_voting_interval(void)
+ {
+ int interval;
+- networkstatus_t *consensus = networkstatus_get_live_consensus(time(NULL));
++ networkstatus_t *consensus =
++ networkstatus_get_reasonably_live_consensus(time(NULL),
++ usable_consensus_flavor());
+
+ if (consensus) {
+ /* Ideally we have a live consensus and we can just use that. */
+@@ -147,7 +150,8 @@ sr_get_current(const networkstatus_t *ns)
+ if (ns) {
+ consensus = ns;
+ } else {
+- consensus = networkstatus_get_live_consensus(approx_time());
++ consensus = networkstatus_get_reasonably_live_consensus(approx_time(),
++ usable_consensus_flavor());
+ }
+ /* Ideally we would never be asked for an SRV without a live consensus. Make
+ * sure this assumption is correct. */
+@@ -170,7 +174,8 @@ sr_get_previous(const networkstatus_t *ns)
+ if (ns) {
+ consensus = ns;
+ } else {
+- consensus = networkstatus_get_live_consensus(approx_time());
++ consensus = networkstatus_get_reasonably_live_consensus(approx_time(),
++ usable_consensus_flavor());
+ }
+ /* Ideally we would never be asked for an SRV without a live consensus. Make
+ * sure this assumption is correct. */
+@@ -242,13 +247,14 @@ sr_state_get_start_time_of_current_protocol_run(void)
+ int voting_interval = get_voting_interval();
+ time_t beginning_of_curr_round;
+
+- /* This function is not used for voting purposes, so if we have a live
+- consensus, use its valid-after as the beginning of the current round.
+- If we have no consensus but we're an authority, use our own
+- schedule. Otherwise, try using our view of the voting interval
+- to figure out when the current round _should_ be starting.
+- */
+- networkstatus_t *ns = networkstatus_get_live_consensus(approx_time());
++ /* This function is not used for voting purposes, so if we have a reasonably
++ * live consensus, use its valid-after as the beginning of the current
++ * round. If we have no consensus but we're an authority, use our own
++ * schedule. Otherwise, try using our view of the voting interval to figure
++ * out when the current round _should_ be starting. */
++ networkstatus_t *ns =
++ networkstatus_get_reasonably_live_consensus(approx_time(),
++ usable_consensus_flavor());
+ if (ns) {
+ beginning_of_curr_round = ns->valid_after;
+ } else if (authdir_mode(get_options()) || ASSUME_AUTHORITY_SCHEDULING) {
+diff --git a/src/feature/nodelist/nodelist.c b/src/feature/nodelist/nodelist.c
+index 7454f342f9..6ee1d11cae 100644
+--- a/src/feature/nodelist/nodelist.c
++++ b/src/feature/nodelist/nodelist.c
+@@ -362,7 +362,7 @@ node_set_hsdir_index(node_t *node, const networkstatus_t *ns)
+ tor_assert(node);
+ tor_assert(ns);
+
+- if (!networkstatus_is_live(ns, now)) {
++ if (!networkstatus_consensus_reasonably_live(ns, now)) {
+ static struct ratelim_t live_consensus_ratelim = RATELIM_INIT(30 * 60);
+ log_fn_ratelim(&live_consensus_ratelim, LOG_INFO, LD_GENERAL,
+ "Not setting hsdir index with a non-live consensus.");
+diff --git a/src/test/test_hs_cache.c b/src/test/test_hs_cache.c
+index f25bba3584..379f23ec72 100644
+--- a/src/test/test_hs_cache.c
++++ b/src/test/test_hs_cache.c
+@@ -462,9 +462,10 @@ test_hsdir_revision_counter_check(void *arg)
+ static networkstatus_t mock_ns;
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus(time_t now)
++mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+ return &mock_ns;
+ }
+
+@@ -485,8 +486,8 @@ test_client_cache(void *arg)
+ /* Initialize HSDir cache subsystem */
+ init_test();
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* Set consensus time */
+ parse_rfc1123_time("Sat, 26 Oct 1985 13:00:00 UTC",
+diff --git a/src/test/test_hs_client.c b/src/test/test_hs_client.c
+index ae5cc5ed84..fd84293dc2 100644
+--- a/src/test/test_hs_client.c
++++ b/src/test/test_hs_client.c
+@@ -66,16 +66,18 @@ static networkstatus_t mock_ns;
+
+ /* Always return NULL. */
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus_false(time_t now)
++mock_networkstatus_get_reasonably_live_consensus_false(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+ return NULL;
+ }
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus(time_t now)
++mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+ return &mock_ns;
+ }
+
+@@ -379,8 +381,8 @@ test_client_pick_intro(void *arg)
+ ed25519_keypair_t service_kp;
+ hs_descriptor_t *desc = NULL;
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ (void) arg;
+
+@@ -632,15 +634,15 @@ test_descriptor_fetch(void *arg)
+ get_options_mutable()->FetchHidServDescriptors = 1;
+
+ /* 2. We don't have a live consensus. */
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus_false);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus_false);
+ ret = hs_client_refetch_hsdesc(&service_pk);
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ tt_int_op(ret, OP_EQ, HS_CLIENT_FETCH_MISSING_INFO);
+
+ /* From now on, return a live consensus. */
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* 3. Not enough dir information. */
+ MOCK(router_have_minimum_dir_info,
+@@ -682,7 +684,7 @@ test_descriptor_fetch(void *arg)
+
+ done:
+ connection_free_minimal(ENTRY_TO_CONN(ec));
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ UNMOCK(router_have_minimum_dir_info);
+ hs_free_all();
+ }
+@@ -880,8 +882,8 @@ test_desc_has_arrived_cleanup(void *arg)
+
+ hs_init();
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+ MOCK(connection_mark_unattached_ap_,
+ mock_connection_mark_unattached_ap_);
+ MOCK(router_have_minimum_dir_info,
+@@ -953,7 +955,7 @@ test_desc_has_arrived_cleanup(void *arg)
+ tor_free(desc_str);
+ hs_free_all();
+
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ UNMOCK(connection_mark_unattached_ap_);
+ UNMOCK(router_have_minimum_dir_info);
+ }
+@@ -974,8 +976,8 @@ test_close_intro_circuits_new_desc(void *arg)
+
+ /* This is needed because of the client cache expiration timestamp is based
+ * on having a consensus. See cached_client_descriptor_has_expired(). */
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* Set consensus time */
+ parse_rfc1123_time("Sat, 26 Oct 1985 13:00:00 UTC",
+@@ -1101,7 +1103,7 @@ test_close_intro_circuits_new_desc(void *arg)
+ hs_descriptor_free(desc1);
+ hs_descriptor_free(desc2);
+ hs_free_all();
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ static void
+diff --git a/src/test/test_hs_common.c b/src/test/test_hs_common.c
+index 9202074e25..e3d130fb32 100644
+--- a/src/test/test_hs_common.c
++++ b/src/test/test_hs_common.c
+@@ -360,9 +360,10 @@ mock_networkstatus_get_latest_consensus(void)
+ }
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus(time_t now)
++mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+
+ tt_assert(mock_ns);
+
+@@ -382,6 +383,8 @@ test_responsible_hsdirs(void *arg)
+
+ MOCK(networkstatus_get_latest_consensus,
+ mock_networkstatus_get_latest_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ ns = networkstatus_get_latest_consensus();
+
+@@ -418,6 +421,8 @@ test_responsible_hsdirs(void *arg)
+ smartlist_clear(ns->routerstatus_list);
+ networkstatus_vote_free(mock_ns);
+ cleanup_nodelist();
++
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ static void
+@@ -467,6 +472,8 @@ test_desc_reupload_logic(void *arg)
+
+ hs_init();
+
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+ MOCK(router_have_minimum_dir_info,
+ mock_router_have_minimum_dir_info);
+ MOCK(get_or_state,
+@@ -911,9 +918,11 @@ static smartlist_t *service_responsible_hsdirs = NULL;
+ static smartlist_t *client_responsible_hsdirs = NULL;
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus_service(time_t now)
++mock_networkstatus_get_reasonably_live_consensus_service(time_t now,
++ int flavor)
+ {
+ (void) now;
++ (void) flavor;
+
+ if (mock_service_ns) {
+ return mock_service_ns;
+@@ -929,13 +938,14 @@ mock_networkstatus_get_live_consensus_service(time_t now)
+ static networkstatus_t *
+ mock_networkstatus_get_latest_consensus_service(void)
+ {
+- return mock_networkstatus_get_live_consensus_service(0);
++ return mock_networkstatus_get_reasonably_live_consensus_service(0, 0);
+ }
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus_client(time_t now)
++mock_networkstatus_get_reasonably_live_consensus_client(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+
+ if (mock_client_ns) {
+ return mock_client_ns;
+@@ -951,7 +961,7 @@ mock_networkstatus_get_live_consensus_client(time_t now)
+ static networkstatus_t *
+ mock_networkstatus_get_latest_consensus_client(void)
+ {
+- return mock_networkstatus_get_live_consensus_client(0);
++ return mock_networkstatus_get_reasonably_live_consensus_client(0, 0);
+ }
+
+ /* Mock function because we are not trying to test the close circuit that does
+@@ -1411,8 +1421,8 @@ run_reachability_scenario(const reachability_cfg_t *cfg, int num_scenario)
+ * === Client setup ===
+ */
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus_client);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus_client);
+ MOCK(networkstatus_get_latest_consensus,
+ mock_networkstatus_get_latest_consensus_client);
+
+@@ -1436,14 +1446,14 @@ run_reachability_scenario(const reachability_cfg_t *cfg, int num_scenario)
+ tt_int_op(smartlist_len(client_responsible_hsdirs), OP_EQ, 6);
+
+ UNMOCK(networkstatus_get_latest_consensus);
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+
+ /*
+ * === Service setup ===
+ */
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus_service);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus_service);
+ MOCK(networkstatus_get_latest_consensus,
+ mock_networkstatus_get_latest_consensus_service);
+
+@@ -1470,7 +1480,7 @@ run_reachability_scenario(const reachability_cfg_t *cfg, int num_scenario)
+ tt_int_op(smartlist_len(service_responsible_hsdirs), OP_EQ, 8);
+
+ UNMOCK(networkstatus_get_latest_consensus);
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+
+ /* Some testing of the values we just got from the client and service. */
+ tt_mem_op(&client_blinded_pk, OP_EQ, &service_blinded_pk,
+@@ -1721,8 +1731,8 @@ test_client_service_hsdir_set_sync(void *arg)
+
+ MOCK(networkstatus_get_latest_consensus,
+ mock_networkstatus_get_latest_consensus);
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+ MOCK(get_or_state,
+ get_or_state_replacement);
+ MOCK(hs_desc_encode_descriptor,
+diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c
+index 80383baff8..630cfef1fe 100644
+--- a/src/test/test_hs_service.c
++++ b/src/test/test_hs_service.c
+@@ -83,9 +83,10 @@
+ static networkstatus_t mock_ns;
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus(time_t now)
++mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+ return &mock_ns;
+ }
+
+@@ -1375,8 +1376,8 @@ test_rotate_descriptors(void *arg)
+ hs_init();
+ MOCK(get_or_state, get_or_state_replacement);
+ MOCK(circuit_mark_for_close_, mock_circuit_mark_for_close);
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* Descriptor rotation happens with a consensus with a new SRV. */
+
+@@ -1464,7 +1465,7 @@ test_rotate_descriptors(void *arg)
+ hs_free_all();
+ UNMOCK(get_or_state);
+ UNMOCK(circuit_mark_for_close_);
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ /** Test building descriptors: picking intro points, setting up their link
+@@ -1484,8 +1485,8 @@ test_build_update_descriptors(void *arg)
+
+ MOCK(get_or_state,
+ get_or_state_replacement);
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ dummy_state = or_state_new();
+
+@@ -1715,8 +1716,8 @@ test_build_descriptors(void *arg)
+
+ MOCK(get_or_state,
+ get_or_state_replacement);
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ dummy_state = or_state_new();
+
+@@ -1816,8 +1817,8 @@ test_upload_descriptors(void *arg)
+ hs_init();
+ MOCK(get_or_state,
+ get_or_state_replacement);
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ dummy_state = or_state_new();
+
+diff --git a/src/test/test_shared_random.c b/src/test/test_shared_random.c
+index 148eb5cf90..9e49e835c9 100644
+--- a/src/test/test_shared_random.c
++++ b/src/test/test_shared_random.c
+@@ -167,6 +167,15 @@ mock_networkstatus_get_live_consensus(time_t now)
+ return &mock_consensus;
+ }
+
++/* Mock function to immediately return our local 'mock_consensus'. */
++static networkstatus_t *
++mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
++{
++ (void) now;
++ (void) flavor;
++ return &mock_consensus;
++}
++
+ static void
+ test_get_state_valid_until_time(void *arg)
+ {
+@@ -179,6 +188,8 @@ test_get_state_valid_until_time(void *arg)
+
+ MOCK(networkstatus_get_live_consensus,
+ mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ retval = parse_rfc1123_time("Mon, 20 Apr 2015 01:00:00 UTC",
+ &mock_consensus.fresh_until);
+@@ -235,7 +246,7 @@ test_get_state_valid_until_time(void *arg)
+ }
+
+ done:
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ /** Test the function that calculates the start time of the current SRV
+@@ -251,6 +262,8 @@ test_get_start_time_of_current_run(void *arg)
+
+ MOCK(networkstatus_get_live_consensus,
+ mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ retval = parse_rfc1123_time("Mon, 20 Apr 2015 01:00:00 UTC",
+ &mock_consensus.fresh_until);
+@@ -335,6 +348,7 @@ test_get_start_time_of_current_run(void *arg)
+ /* Next test is testing it without a consensus to use the testing voting
+ * interval . */
+ UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+
+ /* Now let's alter the voting schedule and check the correctness of the
+ * function. Voting interval of 10 seconds, means that an SRV protocol run
+@@ -366,8 +380,8 @@ test_get_start_time_functions(void *arg)
+ (void) arg;
+ int retval;
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ retval = parse_rfc1123_time("Mon, 20 Apr 2015 01:00:00 UTC",
+ &mock_consensus.fresh_until);
+@@ -388,7 +402,7 @@ test_get_start_time_functions(void *arg)
+ start_time_of_protocol_run);
+
+ done:
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ static void
+--
+2.25.1
+
diff --git a/projects/tor/0002-tests-Fix-unit-tests-after-merge-of-40237.patch b/projects/tor/0002-tests-Fix-unit-tests-after-merge-of-40237.patch
new file mode 100644
index 0000000..32e6812
--- /dev/null
+++ b/projects/tor/0002-tests-Fix-unit-tests-after-merge-of-40237.patch
@@ -0,0 +1,97 @@
+From 10acc0ce99283ed0aa5c6c5d203f1b0514e60f4a Mon Sep 17 00:00:00 2001
+From: David Goulet <dgoulet(a)torproject.org>
+Date: Tue, 12 Jan 2021 10:50:01 -0500
+Subject: [PATCH 2/3] tests: Fix unit tests after merge of #40237
+
+
+diff --git a/src/test/test_hs_cache.c b/src/test/test_hs_cache.c
+index 379f23ec72..df96b2c791 100644
+--- a/src/test/test_hs_cache.c
++++ b/src/test/test_hs_cache.c
+@@ -590,8 +590,8 @@ test_client_cache_decrypt(void *arg)
+ /* Initialize HSDir cache subsystem */
+ hs_init();
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* Set consensus time */
+ parse_rfc1123_time("Sat, 26 Oct 1985 13:00:00 UTC",
+@@ -646,7 +646,7 @@ test_client_cache_decrypt(void *arg)
+
+ hs_free_all();
+
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ static void
+@@ -660,8 +660,8 @@ test_client_cache_remove(void *arg)
+
+ hs_init();
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* Set consensus time. Lookup will not return the entry if it has expired
+ * and it is checked against the consensus valid_after time. */
+@@ -699,7 +699,7 @@ test_client_cache_remove(void *arg)
+ hs_descriptor_free(desc1);
+ hs_free_all();
+
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ struct testcase_t hs_cache[] = {
+diff --git a/src/test/test_hs_client.c b/src/test/test_hs_client.c
+index fd84293dc2..0cd7d81eea 100644
+--- a/src/test/test_hs_client.c
++++ b/src/test/test_hs_client.c
+@@ -1122,8 +1122,8 @@ test_close_intro_circuits_cache_clean(void *arg)
+
+ /* This is needed because of the client cache expiration timestamp is based
+ * on having a consensus. See cached_client_descriptor_has_expired(). */
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* Set consensus time */
+ parse_rfc1123_time("Sat, 26 Oct 1985 13:00:00 UTC",
+@@ -1188,7 +1188,7 @@ test_close_intro_circuits_cache_clean(void *arg)
+ hs_descriptor_free(desc1);
+ hs_free_all();
+ rend_cache_free_all();
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ static void
+@@ -1209,8 +1209,8 @@ test_socks_hs_errors(void *arg)
+
+ (void) arg;
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+ MOCK(connection_mark_unattached_ap_,
+ mock_connection_mark_unattached_ap_no_close);
+ MOCK(read_file_to_str, mock_read_file_to_str);
+@@ -1358,7 +1358,7 @@ test_socks_hs_errors(void *arg)
+
+ hs_free_all();
+
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ UNMOCK(connection_mark_unattached_ap_);
+ UNMOCK(read_file_to_str);
+ UNMOCK(tor_listdir);
+--
+2.25.1
+
diff --git a/projects/tor/0003-Pick-up-merge-conflict-resolutions.patch b/projects/tor/0003-Pick-up-merge-conflict-resolutions.patch
new file mode 100644
index 0000000..dcc8b52
--- /dev/null
+++ b/projects/tor/0003-Pick-up-merge-conflict-resolutions.patch
@@ -0,0 +1,82 @@
+From 2deca96cb8836a95095354cc717e1738f10b8ce1 Mon Sep 17 00:00:00 2001
+From: Matthew Finkel <sysrqb(a)torproject.org>
+Date: Mon, 1 Feb 2021 21:03:54 +0000
+Subject: [PATCH 3/3] Pick up merge conflict resolutions
+
+
+diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
+index 2f3f45f252..c29f39c6b4 100644
+--- a/src/feature/hs/hs_service.c
++++ b/src/feature/hs/hs_service.c
+@@ -3192,6 +3192,9 @@ should_service_upload_descriptor(const hs_service_t *service,
+ /* Don't upload desc if we don't have a live consensus */
+ if (!networkstatus_get_reasonably_live_consensus(now,
+ usable_consensus_flavor())) {
++ msg = tor_strdup("No reasonably live consensus");
++ log_cant_upload_desc(service, desc, msg,
++ LOG_DESC_UPLOAD_REASON_NO_LIVE_CONSENSUS);
+ goto cannot;
+ }
+
+diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c
+index 630cfef1fe..8b94bb6cf1 100644
+--- a/src/test/test_hs_service.c
++++ b/src/test/test_hs_service.c
+@@ -91,9 +91,10 @@ mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
+ }
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus_null(time_t now)
++mock_networkstatus_get_reasonably_live_consensus_null(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+ return NULL;
+ }
+
+@@ -2554,8 +2555,8 @@ test_cannot_upload_descriptors(void *arg)
+ hs_init();
+ MOCK(get_or_state,
+ get_or_state_replacement);
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ dummy_state = or_state_new();
+
+@@ -2631,17 +2632,17 @@ test_cannot_upload_descriptors(void *arg)
+
+ /* 4. Testing missing live consensus. */
+ {
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus_null);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus_null);
+ setup_full_capture_of_logs(LOG_INFO);
+ run_upload_descriptor_event(now);
+ expect_log_msg_containing(
+ "Service [scrubbed] can't upload its current descriptor: "
+- "No live consensus");
++ "No reasonably live consensus");
+ teardown_capture_of_logs();
+ /* Reset. */
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+ }
+
+ /* 5. Test missing minimum directory information. */
+@@ -2680,7 +2681,7 @@ test_cannot_upload_descriptors(void *arg)
+ done:
+ hs_free_all();
+ UNMOCK(count_desc_circuit_established);
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ UNMOCK(get_or_state);
+ }
+
+--
+2.25.1
+
diff --git a/projects/tor/build b/projects/tor/build
index c7e9190..219301a 100644
--- a/projects/tor/build
+++ b/projects/tor/build
@@ -93,6 +93,10 @@ openssldir=/var/tmp/dist/openssl/openssl
[% END %]
cd /var/tmp/build/[% project %]-[% c('version') %]
+# Patch Tor 0.4.4.6 with the fix for tpo/core/tor#40237
+patch -p1 < $rootdir/0001-hs-v3-Require-reasonably-live-consensus.patch
+patch -p1 < $rootdir/0002-tests-Fix-unit-tests-after-merge-of-40237.patch
+patch -p1 < $rootdir/0003-Pick-up-merge-conflict-resolutions.patch
# add git hash to micro-revision.i for #24995
echo '"[% c("abbrev", { abbrev_length => 16 }) %]"' > micro-revision.i
./autogen.sh
diff --git a/projects/tor/config b/projects/tor/config
index 3050d7d..1a53d39 100644
--- a/projects/tor/config
+++ b/projects/tor/config
@@ -68,3 +68,6 @@ input_files:
- name: zstd
project: zstd
enable: '[% c("var/android") %]'
+ - filename: '0001-hs-v3-Require-reasonably-live-consensus.patch'
+ - filename: '0002-tests-Fix-unit-tests-after-merge-of-40237.patch'
+ - filename: '0003-Pick-up-merge-conflict-resolutions.patch'
1
0

[tor-browser-build/maint-10.0-android] Bump NoScript version to 11.2
by sysrqb@torproject.org 02 Feb '21
by sysrqb@torproject.org 02 Feb '21
02 Feb '21
commit 0a5c07b8141b99307267c9434bda0f0e9736905c
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Feb 2 08:21:42 2021 +0000
Bump NoScript version to 11.2
---
projects/tor-browser/config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 4111d63..b5b4470 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -78,9 +78,9 @@ input_files:
enable: '[% c("var/snowflake") && ! c("var/android") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
+ - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
name: noscript
- sha256sum: 5f68a63637e286433089aeb3b6a0aa930317dd988184876b5d6dcff2ca07bb34
+ sha256sum: 4258bcd0bcdfc8ecb231d250e3adf1c477a1a672ede74a5cd10ba05a5381babb
- filename: 'RelativeLink/start-tor-browser.desktop'
enable: '[% c("var/linux") %]'
- filename: 'RelativeLink/execdesktop'
1
0

[tor-browser-build/maint-10.0-android] Release preparation for 10.0.10
by sysrqb@torproject.org 02 Feb '21
by sysrqb@torproject.org 02 Feb '21
02 Feb '21
commit d122c0e1324c2d18f41384c816ebcb94fdff9560
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue Feb 2 23:18:10 2021 +0000
Release preparation for 10.0.10
Versions bump and Changelog update
---
projects/geckoview/config | 2 +-
.../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 7 +
projects/tor-browser/allowed_addons.json | 244 ++++++++++-----------
rbm.conf | 4 +-
4 files changed, 129 insertions(+), 128 deletions(-)
diff --git a/projects/geckoview/config b/projects/geckoview/config
index 475385b..45fadb4 100644
--- a/projects/geckoview/config
+++ b/projects/geckoview/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
filename: 'geckoview-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-git_hash: 'tor-browser-[% c("var/geckoview_version") %]-[% c("var/torbrowser_branch") %]-1-build2'
+git_hash: 'tor-browser-[% c("var/geckoview_version") %]-[% c("var/torbrowser_branch") %]-1-build3'
tag_gpg_id: 1
git_url: https://git.torproject.org/tor-browser.git
git_submodule: 1
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 935c1a6..c9e8c52 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,10 @@
+Tor Browser 10.0.10 -- February 3 2021
+ * Android
+ * Update NoScript to 11.2
+ * Update HTTPS Everywhere to 2021.1.27
+ * Pick up fix for Mozilla's bug 1688783
+ * Bug 40224: Backport Tor patch for v3 onion services [tor-browser-build]
+
Tor Browser 10.0.9 -- January 26 2021
* Android
* Update Fenix to 85.1.0
diff --git a/projects/tor-browser/allowed_addons.json b/projects/tor-browser/allowed_addons.json
index e9e5d9d..e02c552 100644
--- a/projects/tor-browser/allowed_addons.json
+++ b/projects/tor-browser/allowed_addons.json
@@ -17,7 +17,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/13/13299/13299734.png?mo…"
}
],
- "average_daily_users": 566381,
+ "average_daily_users": 579224,
"categories": {
"android": [
"experimental",
@@ -237,10 +237,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.5614,
- "bayesian_average": 4.5597207572687815,
- "count": 3258,
- "text_count": 1077
+ "average": 4.5587,
+ "bayesian_average": 4.557036138092991,
+ "count": 3295,
+ "text_count": 1090
},
"ratings_url": "https://addons.mozilla.org/en-US/android/addon/darkreader/reviews/",
"requires_payment": false,
@@ -336,7 +336,7 @@
],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/android/addon/darkreader/",
- "weekly_downloads": 25282
+ "weekly_downloads": 26977
},
"notes": null
},
@@ -352,7 +352,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/5/5474/5474073.png?modif…"
}
],
- "average_daily_users": 739840,
+ "average_daily_users": 745104,
"categories": {
"firefox": [
"privacy-security"
@@ -361,7 +361,7 @@
"contributions_url": "https://www.paypal.me/SupportEFF?utm_content=product-page-contribute&utm_me…",
"created": "2010-09-16T15:09:10Z",
"current_version": {
- "id": 5135114,
+ "id": 5172099,
"compatibility": {
"firefox": {
"min": "42.0",
@@ -372,19 +372,19 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/https-everywhere/versions…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/https-everywhere/versions…",
"files": [
{
- "id": 3679479,
- "created": "2020-11-16T23:33:04Z",
- "hash": "sha256:a6ebcb0a05607e54e7a9fc0b5b3832eda6f13f8dce2ee802164a455919e385c9",
+ "id": 3716461,
+ "created": "2021-01-28T01:33:53Z",
+ "hash": "sha256:da049748bba7282c0f8c0ab85ac8f494e795e79d6bdc6f9f726d687aa8cc2a1f",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 1745655,
+ "size": 1748610,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3679479/https_everywhere-…",
+ "url": "https://addons.mozilla.org/android/downloads/file/3716461/https_everywhere-…",
"permissions": [
"webNavigation",
"webRequest",
@@ -405,13 +405,13 @@
"name": {
"en-US": "Multiple"
},
- "url": "https://addons.mozilla.org/en-US/android/addon/https-everywhere/license/202…"
+ "url": "https://addons.mozilla.org/en-US/android/addon/https-everywhere/license/202…"
},
"release_notes": {
- "en-US": "* Copy URL ability in EASE interstitial\n* Dependapot NPM updates\n* CRX distribution scripts for transparency for Edge and Opera\n* Port inclusion on allowlist for EASE\n* UI change to reflect a global setting"
+ "en-US": "2021.1.27\n* EASE Mode UI Changes\n* NPM Dependency updates\n* Geckodriver pull update\n* Chromedriver pull update\n* Integrate CSS Grid for Options Page and EASE UI\n* Put Options in new tab"
},
"reviewed": null,
- "version": "2020.11.17"
+ "version": "2021.1.27"
},
"default_locale": "en-US",
"description": {
@@ -447,7 +447,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2020-11-17T09:09:47Z",
+ "last_updated": "2021-01-28T11:24:44Z",
"name": {
"de": "HTTPS Everywhere",
"en-US": "HTTPS Everywhere",
@@ -482,9 +482,9 @@
"category": "recommended"
},
"ratings": {
- "average": 4.6133,
- "bayesian_average": 4.610763496975475,
- "count": 2185,
+ "average": 4.6136,
+ "bayesian_average": 4.611070111786746,
+ "count": 2197,
"text_count": 554
},
"ratings_url": "https://addons.mozilla.org/en-US/android/addon/https-everywhere/reviews/",
@@ -518,7 +518,7 @@
],
"type": "extension",
"url": "https://www.eff.org/https-everywhere",
- "weekly_downloads": 17897
+ "weekly_downloads": 18282
},
"notes": null
},
@@ -534,7 +534,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/6/6937/6937656.png?modif…"
}
],
- "average_daily_users": 202121,
+ "average_daily_users": 204835,
"categories": {
"android": [
"security-privacy"
@@ -747,10 +747,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.8002,
- "bayesian_average": 4.7954104566041265,
- "count": 1211,
- "text_count": 306
+ "average": 4.801,
+ "bayesian_average": 4.796215721212788,
+ "count": 1216,
+ "text_count": 307
},
"ratings_url": "https://addons.mozilla.org/en-US/android/addon/decentraleyes/reviews/",
"requires_payment": false,
@@ -845,7 +845,7 @@
],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/android/addon/decentraleyes/",
- "weekly_downloads": 6066
+ "weekly_downloads": 6241
},
"notes": null
},
@@ -861,7 +861,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/5/5474/5474073.png?modif…"
}
],
- "average_daily_users": 976267,
+ "average_daily_users": 990736,
"categories": {
"android": [
"security-privacy"
@@ -873,7 +873,7 @@
"contributions_url": "https://www.paypal.me/SupportEFF?utm_content=product-page-contribute&utm_me…",
"created": "2014-05-01T18:23:16Z",
"current_version": {
- "id": 5147400,
+ "id": 5175365,
"compatibility": {
"firefox": {
"min": "52.0",
@@ -884,19 +884,19 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/privacy-badger17/versions…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/privacy-badger17/versions…",
"files": [
{
- "id": 3691765,
- "created": "2020-12-09T22:01:55Z",
- "hash": "sha256:635ded379b5c3259d7bf0997689215bcb0f1bbb77f9289f33b0c01b0cddc7ff0",
+ "id": 3719726,
+ "created": "2021-02-02T19:07:00Z",
+ "hash": "sha256:a9ab465df193e474416844d968ed36991e855b2bd9d965624045cd73373651a6",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 1277059,
+ "size": 1237132,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3691765/privacy_badger-20…",
+ "url": "https://addons.mozilla.org/android/downloads/file/3719726/privacy_badger-20…",
"permissions": [
"tabs",
"http://*/*",
@@ -1332,10 +1332,10 @@
"url": "http://www.gnu.org/licenses/gpl-3.0.html"
},
"release_notes": {
- "en-US": "<ul><li>Added a direct link to widget content to replacements for widgets like YouTube, Vimeo, SoundCloud and Spotify. You can click this link to watch a video (for example) without sharing the page you are on with the video provider. You can also right-click the link to copy the link URL.</li><li>Fixed \"fbclid\" tracking parameter removal on Facebook</li><li>Enabled Google Search link unwrapping on Firefox for Android</li><li>Fixed various site breakages</li><li>Improved translations (Dutch, Esperanto, French, German, Hebrew, Polish, Russian, Swedish, Turkish, Ukrainian)</li></ul>"
+ "en-US": "<ul><li>Added a dark theme. To see it, enable dark mode in operating system or device preferences.</li><li>Added a section to the Widget Replacement tab on the options page to manage the list of widgets that were set to be always allowed on certain sites</li><li>Disabled network prefetching/preloading to improve privacy</li><li>Added replacements for Dailymotion and <a href=\"https://outgoing.prod.mozaws.net/v1/f586f988c08c7656e54a255a11f28fbc10a9ad0…" rel=\"nofollow\">OK.ru</a> video player widgets</li><li>Fixed various site breakages</li><li>Improved translations (Simplified Chinese, Czech, French, Hebrew)</li></ul>"
},
"reviewed": null,
- "version": "2020.12.10"
+ "version": "2021.2.2"
},
"default_locale": "en-US",
"description": {
@@ -1359,7 +1359,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2020-12-14T10:25:28Z",
+ "last_updated": "2021-02-02T19:18:34Z",
"name": {
"en-US": "Privacy Badger"
},
@@ -1405,10 +1405,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7834,
- "bayesian_average": 4.780097856300104,
- "count": 1750,
- "text_count": 413
+ "average": 4.7854,
+ "bayesian_average": 4.7821169191877395,
+ "count": 1766,
+ "text_count": 412
},
"ratings_url": "https://addons.mozilla.org/en-US/android/addon/privacy-badger17/reviews/",
"requires_payment": false,
@@ -1427,7 +1427,7 @@
"tags": [],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/android/addon/privacy-badger17/",
- "weekly_downloads": 38261
+ "weekly_downloads": 39948
},
"notes": null
},
@@ -1443,7 +1443,7 @@
"picture_url": null
}
],
- "average_daily_users": 4971335,
+ "average_daily_users": 4986212,
"categories": {
"android": [
"security-privacy"
@@ -1455,30 +1455,30 @@
"contributions_url": "",
"created": "2015-04-25T07:26:22Z",
"current_version": {
- "id": 5156717,
+ "id": 5174693,
"compatibility": {
"firefox": {
- "min": "55.0",
+ "min": "57.0",
"max": "*"
},
"android": {
- "min": "55.0",
+ "min": "57.0",
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/51…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/51…",
"files": [
{
- "id": 3701081,
- "created": "2020-12-29T13:58:02Z",
- "hash": "sha256:5b94fd7f749319a6ff6d83dd20b05b29e733446465aff2ab7669499a3e8fb9cc",
+ "id": 3719054,
+ "created": "2021-02-01T14:04:16Z",
+ "hash": "sha256:5c3a5ef6f5b5475895053238026360020d6793b05541d20032ea9dd1c9cae451",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 2748800,
+ "size": 2742973,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3701081/ublock_origin-1.3…",
+ "url": "https://addons.mozilla.org/android/downloads/file/3719054/ublock_origin-1.3…",
"permissions": [
"dns",
"menus",
@@ -1534,10 +1534,10 @@
"url": "http://www.gnu.org/licenses/gpl-3.0.html"
},
"release_notes": {
- "en-US": "<a href=\"https://outgoing.prod.mozaws.net/v1/9fa7d3c9ad42a6b694799cc29274f9b7089f1e6…" rel=\"nofollow\">Complete release notes</a>.\n\n<b>Closed as fixed:</b>\n\n<ul><li><a href=\"https://outgoing.prod.mozaws.net/v1/396d45d7f82e1bf630b3f16ab1f6be4d60ae2d0…" rel=\"nofollow\">Problems with asterisk in the destination of hostname-based rules</a></li></ul>\n<a href=\"https://outgoing.prod.mozaws.net/v1/345396c53b050d1081014dc73d56f95d30eb255…" rel=\"nofollow\">Commits history since 1.32.2</a>."
+ "en-US": "<a href=\"https://outgoing.prod.mozaws.net/v1/a24fd1d9a1598d49cdc2cdc6d3ecd4359712543…" rel=\"nofollow\">Complete release notes</a>.\n\n<b>Closed as fixed:</b>\n\n<ul><li><a href=\"https://outgoing.prod.mozaws.net/v1/0e94bcfacc284b39a3164377711e52b9ded21cd…" rel=\"nofollow\">After downgrading to 1.32.4, uBO is broken</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/88ab9531e629dc0a259dbe61b357b13316fa1a9…" rel=\"nofollow\">Whitelisting a site on Chromium Edge still blocks resources fetched by service worker</a></li></ul>\n<a href=\"https://outgoing.prod.mozaws.net/v1/35c6fcff904629a7392564335b09eb1fe5f661f…" rel=\"nofollow
\">Commits history since 1.33.0</a>."
},
"reviewed": null,
- "version": "1.32.4"
+ "version": "1.33.2"
},
"default_locale": "en-US",
"description": {
@@ -1627,7 +1627,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-01-22T14:50:11Z",
+ "last_updated": "2021-02-02T00:55:07Z",
"name": {
"ar": "uBlock Origin",
"bg": "uBlock Origin",
@@ -1772,10 +1772,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7336,
- "bayesian_average": 4.733167443332824,
- "count": 13208,
- "text_count": 4402
+ "average": 4.7334,
+ "bayesian_average": 4.7329687919776795,
+ "count": 13286,
+ "text_count": 4421
},
"ratings_url": "https://addons.mozilla.org/en-US/android/addon/ublock-origin/reviews/",
"requires_payment": false,
@@ -1829,7 +1829,7 @@
"tags": [],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/android/addon/ublock-origin/",
- "weekly_downloads": 118274
+ "weekly_downloads": 125282
},
"notes": null
},
@@ -1845,7 +1845,7 @@
"picture_url": null
}
],
- "average_daily_users": 55478,
+ "average_daily_users": 59113,
"categories": {
"android": [
"photos-media"
@@ -1958,10 +1958,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.5087,
- "bayesian_average": 4.503205611529312,
- "count": 979,
- "text_count": 369
+ "average": 4.5107,
+ "bayesian_average": 4.505196681975634,
+ "count": 983,
+ "text_count": 372
},
"ratings_url": "https://addons.mozilla.org/en-US/android/addon/video-background-play-fix/re…",
"requires_payment": false,
@@ -1986,7 +1986,7 @@
],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/android/addon/video-background-play-fix/",
- "weekly_downloads": 59
+ "weekly_downloads": 33
},
"notes": null
},
@@ -2002,7 +2002,7 @@
"picture_url": null
}
],
- "average_daily_users": 95688,
+ "average_daily_users": 95760,
"categories": {
"android": [
"experimental",
@@ -2141,10 +2141,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4829,
- "bayesian_average": 4.46463504208983,
- "count": 292,
- "text_count": 82
+ "average": 4.4864,
+ "bayesian_average": 4.468197845946811,
+ "count": 294,
+ "text_count": 83
},
"ratings_url": "https://addons.mozilla.org/en-US/android/addon/privacy-possum/reviews/",
"requires_payment": false,
@@ -2169,7 +2169,7 @@
],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/android/addon/privacy-possum/",
- "weekly_downloads": 1591
+ "weekly_downloads": 1592
},
"notes": null
},
@@ -2185,7 +2185,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/12/12929/12929064.png?mo…"
}
],
- "average_daily_users": 161350,
+ "average_daily_users": 167020,
"categories": {
"android": [
"photos-media",
@@ -2407,10 +2407,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.6609,
- "bayesian_average": 4.653940298348592,
- "count": 805,
- "text_count": 168
+ "average": 4.6605,
+ "bayesian_average": 4.653615440940694,
+ "count": 816,
+ "text_count": 169
},
"ratings_url": "https://addons.mozilla.org/en-US/android/addon/search_by_image/reviews/",
"requires_payment": false,
@@ -2445,7 +2445,7 @@
],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/android/addon/search_by_image/",
- "weekly_downloads": 8564
+ "weekly_downloads": 8653
},
"notes": null
},
@@ -2468,7 +2468,7 @@
"picture_url": null
}
],
- "average_daily_users": 32912,
+ "average_daily_users": 35527,
"categories": {
"android": [
"other"
@@ -2750,10 +2750,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4419,
- "bayesian_average": 4.436303974414219,
- "count": 946,
- "text_count": 254
+ "average": 4.4383,
+ "bayesian_average": 4.432747479528366,
+ "count": 956,
+ "text_count": 257
},
"ratings_url": "https://addons.mozilla.org/en-US/android/addon/google-search-fixer/reviews/",
"requires_payment": false,
@@ -2772,7 +2772,7 @@
"tags": [],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/android/addon/google-search-fixer/",
- "weekly_downloads": 53
+ "weekly_downloads": 59
},
"notes": null
},
@@ -2788,7 +2788,7 @@
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/0/0/143.png?modified=150…"
}
],
- "average_daily_users": 410215,
+ "average_daily_users": 408590,
"categories": {
"android": [
"performance",
@@ -2802,7 +2802,7 @@
"contributions_url": "https://www.paypal.me/NoScript?utm_content=product-page-contribute&utm_medi…",
"created": "2005-05-13T10:51:32Z",
"current_version": {
- "id": 5166141,
+ "id": 5171142,
"compatibility": {
"firefox": {
"min": "59.0",
@@ -2813,19 +2813,19 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/noscript/versions/5166141",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/noscript/versions/5171142",
"files": [
{
- "id": 3710503,
- "created": "2021-01-17T22:30:16Z",
- "hash": "sha256:5f68a63637e286433089aeb3b6a0aa930317dd988184876b5d6dcff2ca07bb34",
+ "id": 3715504,
+ "created": "2021-01-26T20:49:20Z",
+ "hash": "sha256:4258bcd0bcdfc8ecb231d250e3adf1c477a1a672ede74a5cd10ba05a5381babb",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 600156,
+ "size": 601909,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3710503/noscript_security…",
+ "url": "https://addons.mozilla.org/android/downloads/file/3715504/noscript_security…",
"permissions": [
"contextMenus",
"storage",
@@ -2872,10 +2872,10 @@
"url": "http://www.gnu.org/licenses/gpl-2.0.html"
},
"release_notes": {
- "en-US": "v 11.1.9\n============================================================\nx Return null when webgl is not allowed (thanks Matthew \n Finkel for patch)\nx [XSS] Fixed memoization bug resulting in performance \n degradation on some payloads\nx [XSS] Include call stack in debugging log output\nx [XSS] Skip naps when InjectionChecker runs in its own \n worker\nx Shortcut for easier XSS filter testing\nx More lenient filter to add a new entry to per-site \n permissions\nx [L10n] Updated de\nx Replace script-embedded bitmap with css-embedded SVG as \n the placeholder logo\nx Updated TLDs\nx Remove source map reference causing console noise\nx Fix per-site permissions UI glitches when base domain is \n added to existing subdomain (thanks barbaz for reporting)"
+ "en-US": "v 11.2\n============================================================\nx [XSS] New UI to reveal and selectively remove permanent\n user choices\nx [L10n] Updated de\nx Webgl hook refactored on nscl/content/patchWindow.js and\n made Chromium-compatibile\nx Updated TLDs"
},
"reviewed": null,
- "version": "11.1.9"
+ "version": "11.2"
},
"default_locale": "en-US",
"description": {
@@ -2925,7 +2925,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-01-19T08:35:13Z",
+ "last_updated": "2021-01-27T09:23:29Z",
"name": {
"de": "NoScript",
"el": "NoScript",
@@ -3013,10 +3013,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.5416,
- "bayesian_average": 4.540012526012674,
- "count": 3429,
- "text_count": 2367
+ "average": 4.54,
+ "bayesian_average": 4.5384115519938115,
+ "count": 3435,
+ "text_count": 2370
},
"ratings_url": "https://addons.mozilla.org/en-US/android/addon/noscript/reviews/",
"requires_payment": false,
@@ -3072,7 +3072,7 @@
],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/android/addon/noscript/",
- "weekly_downloads": 11292
+ "weekly_downloads": 10802
},
"notes": null
},
@@ -3088,7 +3088,7 @@
"picture_url": null
}
],
- "average_daily_users": 127688,
+ "average_daily_users": 128738,
"categories": {
"android": [
"performance",
@@ -3102,7 +3102,7 @@
"contributions_url": "",
"created": "2011-07-15T10:42:41Z",
"current_version": {
- "id": 5091396,
+ "id": 5174694,
"compatibility": {
"firefox": {
"min": "42.0",
@@ -3113,31 +3113,27 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/youtube-high-definition/v…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/youtube-high-definition/v…",
"files": [
{
- "id": 3635763,
- "created": "2020-09-01T18:13:07Z",
- "hash": "sha256:11cf896eb3b50b13e6bd71aee12a08a76b09dbf9af61ce919172ff12bfc6356d",
+ "id": 3719055,
+ "created": "2021-02-01T14:06:14Z",
+ "hash": "sha256:4ec1f8d3a2081b783d166f32b078d561f1a79942c450381a8d8305085cd24394",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 234528,
+ "size": 234119,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3635763/youtube_high_defi…",
+ "url": "https://addons.mozilla.org/android/downloads/file/3719055/youtube_high_defi…",
"permissions": [
"tabs",
"storage",
- "management",
- "downloads",
"cookies",
- "contextMenus",
"webRequest",
"webRequestBlocking",
"<all_urls>",
- "*://*.youtube.com/*",
- "*://*.barisderin.com/*"
+ "*://*.youtube.com/*"
],
"optional_permissions": []
}
@@ -3172,11 +3168,9 @@
},
"url": "http://www.gnu.org/licenses/lgpl-3.0.html"
},
- "release_notes": {
- "en-US": "Minor bug fixes"
- },
+ "release_notes": null,
"reviewed": null,
- "version": "80.0.0"
+ "version": "85.0.0"
},
"default_locale": "en-US",
"description": {
@@ -3198,7 +3192,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2020-09-02T11:04:33Z",
+ "last_updated": "2021-02-02T09:14:00Z",
"name": {
"en-US": "YouTube High Definition",
"zh-TW": "YouTube High Definition"
@@ -3227,10 +3221,10 @@
"category": "recommended"
},
"ratings": {
- "average": 4.1071,
- "bayesian_average": 4.102893844607107,
- "count": 1148,
- "text_count": 550
+ "average": 4.1125,
+ "bayesian_average": 4.108301527957989,
+ "count": 1156,
+ "text_count": 551
},
"ratings_url": "https://addons.mozilla.org/en-US/android/addon/youtube-high-definition/revi…",
"requires_payment": false,
@@ -3268,7 +3262,7 @@
],
"type": "extension",
"url": "https://addons.mozilla.org/en-US/android/addon/youtube-high-definition/",
- "weekly_downloads": 1836
+ "weekly_downloads": 2048
},
"notes": null
}
diff --git a/rbm.conf b/rbm.conf
index 8fc7ebd..7b65c5f 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -24,8 +24,8 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '10.0.9'
- torbrowser_build: 'build3'
+ torbrowser_version: '10.0.10'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- 10.5a1
project_name: tor-browser
1
0

[tor-browser-build/master] Bug 40217: Update components for switch to mozilla86-based Fenix
by sysrqb@torproject.org 02 Feb '21
by sysrqb@torproject.org 02 Feb '21
02 Feb '21
commit a0d503a2a88d1bd49a099272938b085cd1397ef8
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Jan 26 09:26:50 2021 +0000
Bug 40217: Update components for switch to mozilla86-based Fenix
This is the GeckoView part.
---
projects/cbindgen/config | 6 +++---
projects/geckoview/config | 4 ++--
projects/geckoview/gradle-dependencies-list.txt | 4 ++--
projects/llvm-project/config | 4 ++--
projects/node/config | 4 ++--
projects/rust/config | 4 ++--
6 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/projects/cbindgen/config b/projects/cbindgen/config
index f1e3123..a4e9cb7 100644
--- a/projects/cbindgen/config
+++ b/projects/cbindgen/config
@@ -14,9 +14,9 @@ var:
targets:
android:
var:
- cbindgen_version: 0.15.0
- cbindgen_hash: 83b3be9f884697a51f8717af8b5498866a81e62e
- cbindgen_vendor_hash: e5b843e9f51d93bc7dafdc11492fe4f5645b7a2c2aba02c473c0a81da28b961c
+ cbindgen_version: 0.16.0
+ cbindgen_hash: a00b4215a907601680f6e9acaf93df1cbafa8ded
+ cbindgen_vendor_hash: f470dcf6a60374f07786491fb2971e8b96f9b7ff18956eb24c4e2577e55440d6
input_files:
- project: container-image
diff --git a/projects/geckoview/config b/projects/geckoview/config
index df34bfd..3a0b39a 100644
--- a/projects/geckoview/config
+++ b/projects/geckoview/config
@@ -8,7 +8,7 @@ git_submodule: 1
gpg_keyring: torbutton.gpg
var:
- geckoview_version: 85.0
+ geckoview_version: 86.0b1
torbrowser_branch: 10.5
copyright_year: '[% exec("git show -s --format=%ci").remove("-.*") %]'
deps:
@@ -25,7 +25,7 @@ var:
container:
use_container: 1
# this should be updated when the list of gradle dependencies is changed
- gradle_dependencies_version: 5
+ gradle_dependencies_version: 6
steps:
merge_aars:
diff --git a/projects/geckoview/gradle-dependencies-list.txt b/projects/geckoview/gradle-dependencies-list.txt
index d9d886a..f429a3a 100644
--- a/projects/geckoview/gradle-dependencies-list.txt
+++ b/projects/geckoview/gradle-dependencies-list.txt
@@ -493,5 +493,5 @@ feb4ebb1ddb76dc18ee9e6028205ac226a70d40247fcccaca092303c68f8b59d | https://maven
fdd93302c2eb94bbe6007caa28d072246d2875cda5cb774bb6299416b94d74a6 | https://maven.google.com/com/google/android/gms/play-services-tasks/17.0.0/…
7680e381a3c03798d999b2e441caadd8a56a0a808e108024a67af9fe26c11adc | https://maven.google.com/com/google/android/material/material/1.0.0/materia…
c9fff541d51c11195de305c50bbfe4d1dfc97841983d95f6d7101112603515ab | https://maven.google.com/com/google/android/material/material/1.0.0/materia…
-33850fe43f064f95068ca0d81cb99fdb6d67af5e07f0626e433b51b9c2683aee | https://plugins.gradle.org/m2/org/mozilla/apilint/apilint/0.4.0/apilint-0.4…
-cf8acbecac4506eff7c2aead2f5f7c4aeb3120a57d6236f55e0e2f750fab1b55 | https://plugins.gradle.org/m2/org/mozilla/apilint/apilint/0.4.0/apilint-0.4…
+45ba0016b1cde3b68856888930dcb859d4f603d98051097caf98c04b795006f3 | https://plugins.gradle.org/m2/org/mozilla/apilint/apilint/0.4.1/apilint-0.4…
+78837a67f91cef63c005c8c6074cec05d458bd1b7fdcb930b57a0d461571c7b7 | https://plugins.gradle.org/m2/org/mozilla/apilint/apilint/0.4.1/apilint-0.4…
diff --git a/projects/llvm-project/config b/projects/llvm-project/config
index cf81743..822f08d 100644
--- a/projects/llvm-project/config
+++ b/projects/llvm-project/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 11.0.0
-git_hash: 176249bd6732a8044d457092ed932768724a6f06
+version: 11.0.1
+git_hash: 43ff75f2c3feef64f9d73328230d34dac8832a9
git_url: https://github.com/llvm/llvm-project
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
diff --git a/projects/node/config b/projects/node/config
index 55f8965..87de822 100644
--- a/projects/node/config
+++ b/projects/node/config
@@ -10,8 +10,8 @@ var:
targets:
android:
var:
- node_version: 10.22.1
- node_hash: f47f4725dcae137b26f8e2a7d0ab2c2c7f1f47e4f96834e6a9242f157132255f
+ node_version: 10.23.1
+ node_hash: 88aa16f5af79615b183ca55ed81393763169e75d1fb96013cf1831895c6cedfa
input_files:
- project: container-image
diff --git a/projects/rust/config b/projects/rust/config
index 22ffd35..ba820b9 100644
--- a/projects/rust/config
+++ b/projects/rust/config
@@ -11,8 +11,8 @@ var:
targets:
android:
var:
- current_version: 1.48.0
- previous_version: 1.47.0
+ current_version: 1.49.0
+ previous_version: 1.48.0
arch_deps:
- libssl-dev
- pkg-config
1
0

[tor-browser-build/master] Bug 40217: Update components for switch to mozilla86-based Fenix
by sysrqb@torproject.org 02 Feb '21
by sysrqb@torproject.org 02 Feb '21
02 Feb '21
commit 78719e3844cc55faed091670e16a9d5705c57866
Author: Georg Koppen <gk(a)torproject.org>
Date: Sat Jan 30 10:42:57 2021 +0000
Bug 40217: Update components for switch to mozilla86-based Fenix
This is the android-components part.
We need to add kotlinx-coroutines-core-1.4.2.jar manually, similar to
the 1.3.9 version (see: e06e6c1fb637eb3bad86ced029af4184f3bd750d).
---
projects/android-components/build | 5 +
projects/android-components/config | 4 +-
.../gradle-dependencies-list.txt | 130 +++++++++++----------
3 files changed, 76 insertions(+), 63 deletions(-)
diff --git a/projects/android-components/build b/projects/android-components/build
index 187750f..6c62a6c 100644
--- a/projects/android-components/build
+++ b/projects/android-components/build
@@ -26,6 +26,11 @@ EOF
cp -r $gradle_repo/dl/android/maven2/* $gradle_repo
cp -r $gradle_repo/maven2/* $gradle_repo
cp -r $gradle_repo/m2/* $gradle_repo
+ # Put the Kotlin/Native compiler at the right place, see:
+ # tor-browser-build#40217.
+ kotlin_dir=/home/rbm/.konan
+ mkdir $kotlin_dir
+ find $gradle_repo -type f -name kotlin-native-prebuilt-linux*tar.gz -exec tar -C $kotlin_dir -xaf {} \;
tar -C $distdir -xf [% c('input_files_by_name/application-services') %]
# XXX: We could be smarter and just copy over the projects that are needed
# according to the Gradle dependencies list.
diff --git a/projects/android-components/config b/projects/android-components/config
index c0e78a1..5e770c5 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: 70.0.16
+ android_components_version: 72.0.1
torbrowser_branch: 10.5
container:
use_container: 1
# This should be updated when the list of gradle dependencies is changed.
- gradle_dependencies_version: 16
+ gradle_dependencies_version: 17
# 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 3840e3c..a23995b 100644
--- a/projects/android-components/gradle-dependencies-list.txt
+++ b/projects/android-components/gradle-dependencies-list.txt
@@ -12,8 +12,12 @@ a179c12db43d9c0300c9db63f4811db496504be5401b951d422b78490ad1e5b4 | https://dl.go
c89d23f9804282a47992ff5ca647b784921c16caa669a7e9af34c15f81aa7442 | https://dl.google.com/dl/android/maven2/androidx/annotation/annotation/1.0.…
d38d63edb30f1467818d50aaf05f8a692dea8b31392a049bfa991b159ad5b692 | https://dl.google.com/dl/android/maven2/androidx/annotation/annotation/1.1.…
2e9372ba7780ef44952adbf86b66e1f08682c1e5277c926185f6564a13799efe | https://dl.google.com/dl/android/maven2/androidx/annotation/annotation/1.1.…
+19944d32b46551a17c347e21894b95837fbd7baaafc9e2082794344f222f7361 | https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat-resour…
+046011e16cb01b6f14842565661551110ef1b6427483f5d9068493f4c49690f2 | https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat-resour…
c470297c03ff3de1c3d15dacf0be0cae63abc10b52f021dd07ae28daa3100fe5 | https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat-resour…
149dd8cec3664bef8ffde86c396ba1e2ab156ea68793d29800d008bacbc9c0f8 | https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat-resour…
+8d7299bca44cb3bdf17f5595766acbf459fc81fee223e8686cc6acd3a42ab5c0 | https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.1.0/…
+340d617121f8ef8e02a6680c8f357aa3e542276d0c8a1cdcb6fd98984b2cb7b9 | https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.1.0/…
3d2131a55a61a777322e2126e0018011efa6339e53b44153eb651b16020cca70 | https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.2.0/…
8eb3cbe823b609853b481646e3d2c1aa39dbde53dd269712fd844ffdef2ebb42 | https://dl.google.com/dl/android/maven2/androidx/appcompat/appcompat/1.2.0/…
4b6f1d459ddd146b4e85ed6d46e86eb8c2639c5de47904e6db4d698721334220 | https://dl.google.com/dl/android/maven2/androidx/arch/core/core-common/2.0.…
@@ -50,6 +54,7 @@ ba6a806bc1a6faf0cbae08397b3f781feca293ff2b5f3aa600b3d2db142e5ab4 | https://dl.go
384d529ad668ada4808de29b29a6348f0007c2841ad79cae9a5a089bd68810f5 | https://dl.google.com/dl/android/maven2/androidx/core/core/1.0.0/core-1.0.0…
76c7cfbe596fe3c09a6983bf1c89e889299c08ac9a3b52ce5182a088d056647e | https://dl.google.com/dl/android/maven2/androidx/core/core/1.1.0/core-1.1.0…
dae46132cdcd46b798425f7cb78fd65890869b6d26101ccdcd43461a4f51754c | https://dl.google.com/dl/android/maven2/androidx/core/core/1.1.0/core-1.1.0…
+524b8b88ceb6a74a7e44e6b567a135660f211799904cb218bfee5be1166820b2 | https://dl.google.com/dl/android/maven2/androidx/core/core/1.2.0/core-1.2.0…
3d1f4e37b77dd92353879a040ab4ce2f706798bcbdf066147491c3642b3f79a6 | https://dl.google.com/dl/android/maven2/androidx/core/core/1.2.0/core-1.2.0…
1c6b6626f15185d8f4bc7caac759412a1ab6e851ecf7526387d9b9fadcabdb63 | https://dl.google.com/dl/android/maven2/androidx/core/core/1.3.0/core-1.3.0…
3ea5d60db139d9fbc5c5f7ac06d779fb75dafe71b0931bc9db863231294bc2d5 | https://dl.google.com/dl/android/maven2/androidx/core/core/1.3.0/core-1.3.0…
@@ -315,8 +320,6 @@ ffe9295d9eb2ec2d784bb4c3634f6a10175224d2111332fa2735320b52a24b66 | https://dl.go
42cbea3182b8419a56d1dfe6c74073ad7eb604ca635fd6a82cab8895c21ad91e | https://dl.google.com/dl/android/maven2/com/google/android/gms/play-service…
85ca0babd7fa3aa3454203105a32836615ac44c59c59e2452bb548c873c4ca44 | https://dl.google.com/dl/android/maven2/com/google/android/gms/play-service…
feb4ebb1ddb76dc18ee9e6028205ac226a70d40247fcccaca092303c68f8b59d | https://dl.google.com/dl/android/maven2/com/google/android/gms/play-service…
-65f0cdc6f2d835e979913600b3fe13a66334ee0730bb78f22d930a8dcdd94715 | https://dl.google.com/dl/android/maven2/com/google/android/gms/play-service…
-7eea522d952b9c733c37f0e806ead84af3e3e6f463dc07ec6cd2379d93f6f0eb | https://dl.google.com/dl/android/maven2/com/google/android/gms/play-service…
e8ae5b40512b71e2258bfacd8cd3da398733aa4cde3b32d056093f832b83a6fe | https://dl.google.com/dl/android/maven2/com/google/android/gms/play-service…
16f62288613923857f616976985fdfdc212bacc898b2b947715ebffd8fdea19b | https://dl.google.com/dl/android/maven2/com/google/android/gms/play-service…
2e6d1738b73647f3fe7a038b9780b97717b3746eae258009197e36e7bf3112a5 | https://dl.google.com/dl/android/maven2/com/google/android/gms/play-service…
@@ -343,6 +346,7 @@ efe2431a01a188d3037d02a08e60900ec7406de626e4bd5b4995f28d409c0ebd | https://dl.go
24bd1b4a8f81aea76ae30054df6343b5c0abc27024a5f6fb9c6ee7d4ffb86533 | https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-measur…
d7a2ff3a2fdbd0801f832df3de81dab06d9db7e4a57dfa6d768e7c6e5fa22280 | https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-messag…
79b705ecf5140d3a2601b44ef058b4588878432eb6fb2f9d65da0551cb0a8e20 | https://dl.google.com/dl/android/maven2/com/google/firebase/firebase-messag…
+ae54afed3e3f65a2e3170b203679e86c78979c0c53dd0d7d7a38cf4fa8d46ca7 | https://download.jetbrains.com/kotlin/native/builds/releases/1.4.21/linux/k…
07c3d82ca7eaf4722f00b2da807dc7860f6169ae60cfedcf5d40218f90880a46 | https://jcenter.bintray.com/com/squareup/okhttp3/okhttp/3.12.1/okhttp-3.12.…
940676b124a8eea8ad7576f9be072c82d7dc7fe350ad895a36081f0c93ae99a6 | https://jcenter.bintray.com/com/squareup/okhttp3/okhttp/3.12.1/okhttp-3.12.…
f57c6f089beeedb5b73cdaca7167998ce74505ae9a3d9aeacd72e0ebb0fbf4bc | https://jcenter.bintray.com/com/squareup/okhttp3/parent/3.12.1/parent-3.12.…
@@ -436,10 +440,10 @@ 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.…
-00d82f17fa8f96206281b150429d2d2efb361b7e16df06f9f93ba3d73c6077a0 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta/85.0.…
-12043feefa0e0af50d0459835121a2647f63bd8a6766ebda170821dcac99d0e6 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta/85.0.…
-0bfaeb53dcf5df0a6b816a1950d8b1bd615317a472103b27b61a6a411d853055 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-nightly/86…
-fd7c6e0136dfbe5357da4bdc749a55d8bb36abd5a9ffeb1fe4497784f373c242 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-nightly/86…
+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.…
+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…
97a9d151ad636acc68eeda046866f0ac24e6f7bf2a81a6b938a3386cc73be529 | https://maven.mozilla.org/maven2/org/mozilla/telemetry/glean-forUnitTests/3…
@@ -509,8 +513,11 @@ feab9191311c3d7aeef2b66d6064afc80d3d1d52d980fb07ae43c78c987ba93a | https://repo.
766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7 | https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/…
19889dbdf1b254b2601a5ee645b8147a974644882297684c798afe5d63d78dfe | https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/…
0f1d8369b1e9f1bc4b467c8dcfdd8b59733aad5b5c8419c3a59b2f9abaf04cd2 | https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.8.0…
+3736463859ec19267295e894940ae82a8f684413031122fe35ce7cff7e30a774 | https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.8.6…
c6221763bd79c4f1c3dc7f750b5f29a0bb38b367b81314c4f71896e340c40825 | https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.0/gson-2…
a5331a0ecb548f9942ab5b93c7ac43c38a21e897763dde1bcdbf0774f416ca6f | https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.0/gson-2…
+c8fb4839054d280b3033f800d1f5a97de2f028eb8ba2eb458ad287e536f3f25f | https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.6/gson-2…
+2174415a647332d30fda04bd1cfc708a3ecc84eaf7517f596188d8244e103911 | https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.6/gson-2…
3aa576b5671d0e26d83d7fdb7186810b5672f00bf8e72184260bcc7c2d7dc07a | https://repo.maven.apache.org/maven2/com/google/crypto/tink/tink/1.3.0-rc2/…
5b9a11c11183d011de9a9a5490962d78a4d4bfe7579b0c5be4afb18a222e3f41 | https://repo.maven.apache.org/maven2/com/google/crypto/tink/tink/1.3.0-rc2/…
550a6e46a6dfcdf1d764887b6090cea94f783327e50e5c73754f18facfc70b64 | https://repo.maven.apache.org/maven2/com/google/dagger/dagger/2.24/dagger-2…
@@ -816,70 +823,71 @@ fde386a7905173a1b103de6ab820727584b50d0e32282e2797787c20a64ffa93 | https://repo.
47b23a79fe336b741b82434c6e049d68165256e405e75c10921fd72fa8a65d8d | https://repo.maven.apache.org/maven2/org/jdom/jdom2/2.0.6/jdom2-2.0.6.pom
303c422700f79d5d13d528b978c6abd9cd136d78d9f7f6f2556e85a81892f9f1 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-ex…
648025c01c56b234a7458cb6048ae8fcfa941f9ea8ebf059090733237b9df9b6 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-ex…
-4c801ff4f5151778762ce2d57080f0cb10a4a94cb76ad24593cca35bff36da48 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-ex…
f120750af0c9e0c6024c3c76469fd4638ef898fc5bc2d4c49f2fe17568f47b9e | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-ex…
-55b9627bceee132f70f8124b279f618ececf8d5cb8ac97c9d30f43cc5b9b3871 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-ex…
-2ae0864b6a2db8f6fea11f56dc1f3d4fdc2d1e328a876b5679e8eace58b38577 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-ex…
-0ba48754df3bcc16fafb3e22c40a251d01115359809cf14cf5f98aef15d902e1 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-annotation…
-ecf643b89d16fe2d6ad4a7f12755cdf10076545869229dbce43fa1f2445c21fc | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-annotation…
-23c6aa7925e529f0a982539138c69183c038822be149605e5c704f259c1837aa | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-build-comm…
-08c7d6fdbe362cf36e9ccc5980675265fbea29721c485f197efac630eec413b6 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-build-comm…
-c0d023cff6ee64d360a5b6d7da17aa068b63a4a721f6323a855249d6737978e6 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-compiler-e…
-10b4c56cf26d87089777abaaa798b96924ebd42b2f59f806bb7a677f06d92fce | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-compiler-e…
-48380e9de166d82197c8f72e42df19d9981f031ffdbcf1cd246ef6d6deff794d | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-compiler-r…
-6ac9055b2aeda94eb81993cddcf4fd57c5ab53bab3925ec4c4059426317ae5eb | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-compiler-r…
-cc42296727533ff7f5ed103f48142d07f396b1ea81f795defde54eeb1a923a37 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-daemon-cli…
-753b98532fe9569a024e466c4537df66ee2ecb4128ba1aed6635a03793bbe750 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-daemon-cli…
-b0ba729c8bd039e1973bab95a88577fbc407baefaef016acecf73c06a504a05e | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-daemon-emb…
-4ce8827541cdb85bfce5bd493b307da13da3c6c5e470f9f2a07f3e578d54b7c5 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-daemon-emb…
-83e2d1333ac57832e10eac230f36800fa7fda46a05b7ff76f694714674260cb9 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plu…
-226514a326c8224f2ce948b106d8a133e17ab8e114db25a5f3e413c5b70f9ae5 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plu…
-0f5dff8b67b0ea18f41e4c0547de55b83fc12d777cd0806b80c7c415fc65a78f | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plu…
-f16817733e7ea24ec8559e5ac5d3c2d2d4fcd9a4073be3052147d7c5689b1778 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plu…
-46e4691796cd1410872325bed8919a0cd12e619fd16243f8f439ea2114acec8f | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plu…
-eef93e0497a587b82d335a299f8a0616be8c19ba82a36f795647409182eb25b5 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plu…
-3ab3413ec945f801448360ad97bc6e14fec6d606889ede3c707cc277b4467f45 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.…
-eef345ac9f76f39a8f0364bfbb335619eb506c4e54e1997be1c58dc624b425d9 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.…
-142c51b9bed14244abdd6ea4551e645be57c3a03a70b9933822e870c05fa8fac | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-script-run…
-41357fe0c2608446c7a8f1ceb0259042aa0b94d7d92404d5904024dfb88c075a | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-script-run…
-bda57f354344be674e0a241b4c87248857acb411b9dc8ab65068141016466085 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
-428551f2529aae79a6dfc3babae871f628d30f5daee8254a339af01dd71ac1cd | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
-9741d42f28e4f1d621e421ac2b0a4fb2e5f05b1fd4bfd326545b42de57fda4c1 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
-3e231d28644bff51f7a2e8cb1b6ef01e943cf9efb29720faa14166f7b448de7a | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
-7e369d1ba702082d9daa54674004aef7cb2adf5d2872e758a87674f4c3144836 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
-4728fe40c3b32661ca66cde848e7bf78be95fd18aa07e8e36421257152d157f7 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
-6cc266acac8dc49f5956f3f553c8de5fce0d1757c65a86b83c4ef0625a82ab69 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
-04b8a39c6860998bd6446bf69c425e42af8f155a639915353c257233fecc2ff8 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
+baec7911227eec34845439c38876a2dd18eda7c15ac523655411e20e8f053138 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-ex…
+ec86adcccbb839d099b8649c5277a6fbe41d2c04b61b4b296584e7af52ae4ad1 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-ex…
+185520116f93f72b033b9c17280f5282c0df424240ad1aee3a5206505f5d6c28 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-ex…
+c152d433cb80e15b9666f030fc851250024d6dd82916f1d1686b7e503562f4c7 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-android-ex…
+a7d247044201f11671c8d3132b5435c0317e9966cc499062b70e969db427a545 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-annotation…
+99983931bacd18d392d2d7396d972539ed79954becdc3fe0fa4924b3fad14d26 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-annotation…
+7b42e023a61436990cfa36f53cc2fd6685db5e76bb46e241428fb8da48b9d23b | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-build-comm…
+f5f0e2a2f424149de99c2dbd3d3feb81eb26663c8fc9b566dd63383e3507ac2f | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-build-comm…
+62b1dc3b2860c65d0231bc73f79299306a8a043bf3810ce98811271aa6780d02 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-compiler-e…
+d4a5e8b55dc46a02e525b8c62072877c12f1b4bc743234f0e8d796236b8bf504 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-compiler-e…
+86ec85db286befd86dcb7694de77bd36b42e4adc6d842ae74e4396a28afc576a | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-compiler-r…
+33c2aef1ffd80d944fd9efedeedb3d8b16bfbf78cc6db5c033f631b2ff56cfca | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-compiler-r…
+3522e62a91296368df4a00a0db658e81538f892961ce4056adf4c382068610f7 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-daemon-cli…
+895a4b9f993b5d5c5273196289270c8ceb842476bd3619cf31db4d6afdc4ab29 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-daemon-cli…
+5084253d5a2f6b6b04ea0fdbba27f6b19598b30b60a96362e6f8db89a8e70e68 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-daemon-emb…
+337d899037380f0403c6d3118d03db6f94ac5b81b2dfc092d9296eb04da2765f | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-daemon-emb…
+d0db9f51efa7ccb5eda0599f53eb04cbdd4084554ba5bf80f7ef34c6bd16f7e1 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plu…
+79e4e0f22ed1330cb9af97ba697139093fd99f74fc4b4e182f7d0a50db7ce487 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plu…
+0e9263f227494e68572d312e10753a9986e1d841de19c4846e0d20603cefced8 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plu…
+83fda4a1de6e0e164b87fc6eac7ab24b5427bcf43d311f1dabb8a6f557c5ea12 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plu…
+c0592d785b285ea1677066913bd7014044379a4694cd4f86faa537bf211d45d0 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plu…
+d72cb95f92dcc36cf15261ef5d5647f08fdf974839f6b75c0502f5424150a4c5 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-gradle-plu…
+7e1ae4f15a7aef746c5b89433f1c5e76b301a635854ef3c6b134b0ca31a36624 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.…
+58b1dc4a27c380f2a8008fd24d52e5597ec2668d8519d2685abcfae5ad234a70 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.…
+77e2c30368145180c79e44934bb5901940ee40b6f5f793199b7780ff09fe0ce8 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-script-run…
+f98caea7f4e70b0040a1618aee9a18e4eb92b578419169ead64a8dab11392538 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-script-run…
+5f400aaea65781039330a5e9755edd55017f36d201c6e5d28aefd6318548afab | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
+5f5a780f7369e6a8301062e809e6719a3a694dd61c8ae3e54256e311007fe51f | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
+96fbbb2d5931d69af3e0d2f2185b0c66b9519acc2e53204cf63fc865977ec698 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
+aad1e02bb96a96a5212c43603a06fe941fb66c883b9481b5ac6a5876ef462627 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
+fe2df1608a545654a24c04d994bbfde9b6f5433d4a7b56046d336789630ba388 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
+9a71c4afcea9b64cf532ca157c9b52618433e035036cc8941e526456908e1e4c | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
+68ff14ea2619ba50e425cc34845154f30f5774b18d88bf610de36367aee07da6 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
+38eab8e158766968d32851e5000623b54d975610c24bbb625eb64f7086772b77 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-…
6c91dea17d7dce5f0b550c3de3305767e5fb46247b6d1eb7eca0ca1fe18458de | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-com…
d2e537cd1f7705276242d8cc903a0286b6dc86b41b6e728e967ef719022f2e15 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-com…
-4681f2d436a68c7523595d84ed5758e1382f9da0f67c91e6a848690d711274fe | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-com…
-63480e72a7d4de742b49a6ff90e45f544ca37f3fe11af8b4839f9cd747515d00 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-com…
-f9566380c08722c780ce33ceee23e98ddf765ca98fabd3e2fabae7975c8d232b | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk…
-78f2fe1d48e99c64958930ccdc43fce5939460ecdfc65f302823a021d63c520d | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk…
-39b7a9442d7a3865e0f4a732c56c1d5da0e11ffb3bb82a461d32deb0c0ca7673 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk…
-c2f4d70082dbbfcea68fdfa74289cef32df9e4b5ddf359f006036dff1c5b06d6 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk…
+812cf197d9c4c67e1f47f95e2d72a9b600f0d1124560617bfe9850773eccbcff | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-com…
+cd840ab880f838af0eb76e25930392c6bf0aa2a2adb5e2d4b0bb9f717a295ebd | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-com…
+50de5f7dad6235064ac6c0ff577f095a91b3306c2547d8bc372291587495024a | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk…
+3b54ad496e7a7f7ad8ad6e846e5c061911242ef474e030ff602beef7565943d6 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk…
+8ec3db1516948b2d3524e3afbe75cb5ac59e02d98cb6ef586ef57ba63ca8d11f | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk…
+5bd2b4922398bd94d1d94e2dca0401089092b453e724a9e746daacacead735b7 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib-jdk…
6ea3d0921b26919b286f05cbdb906266666a36f9a7c096197114f7495708ffbc | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3…
785b5b66f1146317d5ed5b18c8e0c10f83cd5c909434c799a4da9823f028cd63 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3…
ff03e9989faa2d40fa4a9098aaad71e247f27ea4d24b0754da642eb0924bd8c5 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.3…
3db67dafc422b9015e33cfdb3a4df9e8a6912de63c4b733197c8c189cdbc6d4a | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.4…
-01ecb09782c042b931c1839acf21a188340b295d05400afd6e3415d4475b8daa | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.4…
-a4b9cfbb4bbda523af1e24d52c775fb9c0f7cb568e48b065d45aeb56e63c2762 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.4…
-254b3aee937206a583fe37e5b0a56b570b18c1ccefd7b47a4f436786d49cb452 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-util-io/1.…
-910c98c585e3a308e93a1c0a021d38dc5e1e3bce1c4cbf04000e4711371ac81a | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-util-io/1.…
-f2ce17a896296ff0ab726934716b2bd06695198e6ed78274afdb1f9e6f283833 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-util-klib/…
-db9a950ba9a190d04611e69b1732221ba7035c2796b7d8b6afa69840711cd0ee | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-util-klib/…
-3b6529d1872a2c689b2231cf3e75476badd5c5a430206c2c1967e4deb171e50d | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
-504b6599eb3a3b4d8b4db267d1628e79f3e58f17fc4f6d44c24cda530b0edf39 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
-6538f458473a42b6e2a92676f00d70d4fa0f6ae824d13c1e31c8051c196d2335 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
-64c6d2b53e52eb65e26c6b828d848d8ceab30473c3511bbd1c116cf9799bc127 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
+f78c5d8c09db985912ab83a1de3c3b53ddf208d7b151f06a72358ea3e137d01b | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.4…
+076c5a29b7a79ba2050b52e12307783d6b18d7701ce5245a3f48d005c51ae2be | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.4…
+baa182386e8dc9716665812dd87d23bc9e094be9b171616b67c74a78c9b02432 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-util-io/1.…
+1f22fd66716e91f06ed1c8ef9c8a884d12a578645a3a0e3b11ed0745d301541d | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-util-io/1.…
+06ad4eb7eda10efa9b0dd38ed1d0464c50b21678c9cb37fb6619793a1c5b10ec | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-util-klib/…
+0eafc36acad248e5d62475c38d65b1193d680ea2206a4c6a68de6fea81e972a0 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-util-klib/…
+58b3ce8be4521230361fe6679b5930e75730164be1c7b900ddca4218072fee85 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
+5cfd02a5e7dd9be15835522035d32eca33be0e63085d27f7c918fa495e34f81f | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
+4cd24a06b2a253110d8afd250e9eec6c6faafea6463d740824743d637e761f12 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
+3286bd65e41eae735600c0e9a441cb4a0988d0d76647923b9c978c90b0cb7311 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
ad426ec76f52b1dcdf200f55495aea9a2d2796811884e8c4b514645061cf59f3 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
9e82078f4dafe1cc2e28f308a317912a45c6a88fc83c51db6ba8cb0ea0829ef1 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
-6538f458473a42b6e2a92676f00d70d4fa0f6ae824d13c1e31c8051c196d2335 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
-51be6791ac5aed9718a58b297c8c9081c9b704dfd72a849c4754a40da55ee236 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
-f02d46222e4591a9e16b6bacce5dc6606c33b38912d916daa41d428ef6703020 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
-5ae9e4dd4e81c0bfc92b0d760651815792793be9ec4f8a2d308b4aea6adbb23a | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
-e61e3d3db85385c8c2439a5b87b724205cb8605b24edc89d34d8f84ed401eecd | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
-6d2be12eb2f02729639cbf07a590e1fd354ec5042e9233d29de794055c0845bf | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
+4cd24a06b2a253110d8afd250e9eec6c6faafea6463d740824743d637e761f12 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
+99319ebdd562d9519dfd15f78fe79bc09c3a28875083eea4577d9584359a2f61 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
+29038be2ba5cf1acac17fc0d9746e553cf90315b8042366169ff6d800dadf239 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
+52614d618c5cb6a8d5d437e95102d1c45565237e09083cd64031ab7b23303a32 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
+2e3091a94b8b822c9b68c4dc92ad6a6b0e39e2245b0fc75862de20f5a7a71e9a | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
+497a7639820ba0758d4e0c1d6f82fdc8a9b6f6c2a28d91fe03c6b0776db4be40 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
e49454af130e066a4e1c31255c5fd9a23f31105324f48e98406325b051638908 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-metadata…
f928d533d912546b6d97904bab53e983f8fe2cda303af9fa953c1438ccf38470 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-metadata…
518080049ba83181914419d11a25d9bc9833a2d729b6a6e7469fa52851356da8 | https://repo.maven.apache.org/maven2/org/json/json/20180813/json-20180813.j…
1
0

[tor-browser-build/master] Bug 40217: Update components for switch to mozilla86-based Fenix
by sysrqb@torproject.org 02 Feb '21
by sysrqb@torproject.org 02 Feb '21
02 Feb '21
commit 247a313dd452aac20c1f326f99ddf6c3cbea7961
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Feb 2 07:39:08 2021 +0000
Bug 40217: Update components for switch to mozilla86-based Fenix
This is the fenix part.
We need to add kotlinx-coroutines-core-1.4.2.jar manually, similar to
the 1.3.9 version (see: e06e6c1fb637eb3bad86ced029af4184f3bd750d).
---
projects/fenix/config | 4 +-
projects/fenix/gradle-dependencies-list.txt | 381 +++++++++++++++-------------
2 files changed, 205 insertions(+), 180 deletions(-)
diff --git a/projects/fenix/config b/projects/fenix/config
index f90d43c..0cf9267 100644
--- a/projects/fenix/config
+++ b/projects/fenix/config
@@ -8,13 +8,13 @@ gpg_keyring: torbutton.gpg
variant: Beta
var:
- fenix_version: 85.1.0
+ fenix_version: 86.0.0b1
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: 18
+ gradle_dependencies_version: 19
# 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 a6e60fe..5a334b3 100644
--- a/projects/fenix/gradle-dependencies-list.txt
+++ b/projects/fenix/gradle-dependencies-list.txt
@@ -706,6 +706,8 @@ affb7c85a3c87bdcf69ff1dbb84de11f63dc931293934bc08cd7ab18de083601 | https://jcent
fd55a3fd6d5d8a199462dfc414749883276be93a85a1632094a1d974013041f4 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-allopen/1.4.10/kotl…
4c801ff4f5151778762ce2d57080f0cb10a4a94cb76ad24593cca35bff36da48 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-android-extensions-…
f120750af0c9e0c6024c3c76469fd4638ef898fc5bc2d4c49f2fe17568f47b9e | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-android-extensions-…
+baec7911227eec34845439c38876a2dd18eda7c15ac523655411e20e8f053138 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-android-extensions-…
+ec86adcccbb839d099b8649c5277a6fbe41d2c04b61b4b296584e7af52ae4ad1 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-android-extensions-…
55b9627bceee132f70f8124b279f618ececf8d5cb8ac97c9d30f43cc5b9b3871 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-android-extensions/…
2ae0864b6a2db8f6fea11f56dc1f3d4fdc2d1e328a876b5679e8eace58b38577 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-android-extensions/…
0ba48754df3bcc16fafb3e22c40a251d01115359809cf14cf5f98aef15d902e1 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-annotation-processi…
@@ -742,6 +744,8 @@ a188d9367de1c4ee9479db630985c0597b20709c83161b1430d24edb27e38c40 | https://jcent
61653ccfae8caa4203e267b479821bd90faab3fef744a7ab0fdd9f61150f970c | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.3.72/kotl…
3ab3413ec945f801448360ad97bc6e14fec6d606889ede3c707cc277b4467f45 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.4.10/kotl…
eef345ac9f76f39a8f0364bfbb335619eb506c4e54e1997be1c58dc624b425d9 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.4.10/kotl…
+7e1ae4f15a7aef746c5b89433f1c5e76b301a635854ef3c6b134b0ca31a36624 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.4.21/kotl…
+58b1dc4a27c380f2a8008fd24d52e5597ec2668d8519d2685abcfae5ad234a70 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-reflect/1.4.21/kotl…
8e525c7a19a94aea294403d531fd61eed3f08b2992e313a594cb531b75ffc35d | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-sam-with-receiver/1…
4961812a7df6b98c49618bb67d497d5aeabf4e73ec3d346558f162f0c6d39d68 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-sam-with-receiver/1…
d372f2dc8051f3d1d4fae3bd50e5fa109d3ec870c4a4830112f9afc8560aacfd | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-script-runtime/1.3.…
@@ -764,45 +768,64 @@ d9a1cb78976db75b6173b51ad04efaebc2b3772636ad0b45cac4cd2d53222dc9 | https://jcent
6a1ba16592546ab118186a5634c9b24589ae2ed64f0cdd41a913ffb3c2b13db6 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-scripting-jvm/1.3.7…
6cc266acac8dc49f5956f3f553c8de5fce0d1757c65a86b83c4ef0625a82ab69 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-scripting-jvm/1.4.1…
04b8a39c6860998bd6446bf69c425e42af8f155a639915353c257233fecc2ff8 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-scripting-jvm/1.4.1…
+93f5cb50148dee7da746ed487e6278ee8d94da9a99b670f9f5248456c2f66341 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.7…
5e7d1552863e480c1628b1cc39ce230ef829f5b7230106215a05acda5172203a | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.7…
24781edf5b0934804930dcafc8911b9e710d146239a82699889132e7b37be9dc | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.3.7…
+98e59a445a3248f58811ce6782485de53fa77fc6f5adb3eb766a78b1231abd0a | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.0…
4681f2d436a68c7523595d84ed5758e1382f9da0f67c91e6a848690d711274fe | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.1…
63480e72a7d4de742b49a6ff90e45f544ca37f3fe11af8b4839f9cd747515d00 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.1…
+812cf197d9c4c67e1f47f95e2d72a9b600f0d1124560617bfe9850773eccbcff | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.2…
+cd840ab880f838af0eb76e25930392c6bf0aa2a2adb5e2d4b0bb9f717a295ebd | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-common/1.4.2…
40566c0c08d414b9413ba556ff7f8a0b04b98b9f0f424d122dd2088510efccc4 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.72/…
9d5a13d9abc33445e1366d258af0a77e42f01945acef7c0917b9d539854e2fce | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.3.72/…
f9566380c08722c780ce33ceee23e98ddf765ca98fabd3e2fabae7975c8d232b | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.4.10/…
78f2fe1d48e99c64958930ccdc43fce5939460ecdfc65f302823a021d63c520d | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.4.10/…
+50de5f7dad6235064ac6c0ff577f095a91b3306c2547d8bc372291587495024a | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.4.21/…
+3b54ad496e7a7f7ad8ad6e846e5c061911242ef474e030ff602beef7565943d6 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk7/1.4.21/…
133da70cfc07b56094282eac5c59bccd59f167ee2ead22e5282876d8bc10bf95 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.72/…
a6d50f0321bdb52838c99136930c8dcc78c3074a592d526862ec01be91fa622b | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.3.72/…
39b7a9442d7a3865e0f4a732c56c1d5da0e11ffb3bb82a461d32deb0c0ca7673 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.4.10/…
c2f4d70082dbbfcea68fdfa74289cef32df9e4b5ddf359f006036dff1c5b06d6 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.4.10/…
+8ec3db1516948b2d3524e3afbe75cb5ac59e02d98cb6ef586ef57ba63ca8d11f | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.4.21/…
+5bd2b4922398bd94d1d94e2dca0401089092b453e724a9e746daacacead735b7 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib-jdk8/1.4.21/…
+d71a01a080b544befbaef3ad549817f46e9858c4255d32a5393f30435cdbf3dc | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.40/kotli…
+704fd78960ae046428f69bcd5b951c122e4c180c9400238a866e12cb18494a61 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.50/kotli…
ff03e9989faa2d40fa4a9098aaad71e247f27ea4d24b0754da642eb0924bd8c5 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.71/kotli…
3856a7349ebacd6d1be6802b2fed9c4dc2c5a564ea92b6b945ac988243d4b16b | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.72/kotli…
4f0d574a969ea93c45628a163e1ed3ffabb4584278d72c647ec124f8c8109481 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.3.72/kotli…
+3db67dafc422b9015e33cfdb3a4df9e8a6912de63c4b733197c8c189cdbc6d4a | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.4.0/kotlin…
01ecb09782c042b931c1839acf21a188340b295d05400afd6e3415d4475b8daa | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.4.10/kotli…
a4b9cfbb4bbda523af1e24d52c775fb9c0f7cb568e48b065d45aeb56e63c2762 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.4.10/kotli…
+f78c5d8c09db985912ab83a1de3c3b53ddf208d7b151f06a72358ea3e137d01b | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.4.21/kotli…
+076c5a29b7a79ba2050b52e12307783d6b18d7701ce5245a3f48d005c51ae2be | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.4.21/kotli…
9ef3d0277fe54384104a01089c8c718a9c2a7ab2b5292ff803ecfc9d38e7d6cb | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-util-io/1.3.72/kotl…
8131897af3fb30af2464efe56161a349087bca1544cbf57495158714875163e4 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-util-io/1.3.72/kotl…
254b3aee937206a583fe37e5b0a56b570b18c1ccefd7b47a4f436786d49cb452 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-util-io/1.4.10/kotl…
910c98c585e3a308e93a1c0a021d38dc5e1e3bce1c4cbf04000e4711371ac81a | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-util-io/1.4.10/kotl…
f2ce17a896296ff0ab726934716b2bd06695198e6ed78274afdb1f9e6f283833 | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-util-klib/1.4.10/ko…
db9a950ba9a190d04611e69b1732221ba7035c2796b7d8b6afa69840711cd0ee | https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-util-klib/1.4.10/ko…
-3b6529d1872a2c689b2231cf3e75476badd5c5a430206c2c1967e4deb171e50d | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-androi…
504b6599eb3a3b4d8b4db267d1628e79f3e58f17fc4f6d44c24cda530b0edf39 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-androi…
-6538f458473a42b6e2a92676f00d70d4fa0f6ae824d13c1e31c8051c196d2335 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-j…
+58b3ce8be4521230361fe6679b5930e75730164be1c7b900ddca4218072fee85 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-androi…
+5cfd02a5e7dd9be15835522035d32eca33be0e63085d27f7c918fa495e34f81f | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-androi…
64c6d2b53e52eb65e26c6b828d848d8ceab30473c3511bbd1c116cf9799bc127 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-j…
-9bea3679d3fdb5ae8bdf200fc586d1e1cb02266ac659986125ad1a14d709a94d | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-m…
+4cd24a06b2a253110d8afd250e9eec6c6faafea6463d740824743d637e761f12 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-j…
+3286bd65e41eae735600c0e9a441cb4a0988d0d76647923b9c978c90b0cb7311 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-j…
20a08a807b5debd1ced0dfcd2f74e802c002b59666d4c2d7323f4ad4c9030d8a | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-m…
+9c615416dadd93f0e14895165af8eeee01a1aaaafe02c3eb1f2d2a770b595069 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-m…
+c972379b6eeaf36a39e51cdee6fb145b411263baa0c66167fd0073768ceaadf3 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core-m…
7177ed4629704537e0252537629886f5409526ecd041d8d8e308e20624b14394 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1…
6f7523ea8a56d7f12d11a004cfe5a4577bfba3ed6c84cc5ac48b72d54975552c | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1…
ad426ec76f52b1dcdf200f55495aea9a2d2796811884e8c4b514645061cf59f3 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1…
9e82078f4dafe1cc2e28f308a317912a45c6a88fc83c51db6ba8cb0ea0829ef1 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1…
-6538f458473a42b6e2a92676f00d70d4fa0f6ae824d13c1e31c8051c196d2335 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
51be6791ac5aed9718a58b297c8c9081c9b704dfd72a849c4754a40da55ee236 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1…
-f02d46222e4591a9e16b6bacce5dc6606c33b38912d916daa41d428ef6703020 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-debug/…
+4cd24a06b2a253110d8afd250e9eec6c6faafea6463d740824743d637e761f12 | https://repo.maven.apache.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutin…
+99319ebdd562d9519dfd15f78fe79bc09c3a28875083eea4577d9584359a2f61 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-core/1…
5ae9e4dd4e81c0bfc92b0d760651815792793be9ec4f8a2d308b4aea6adbb23a | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-debug/…
-e61e3d3db85385c8c2439a5b87b724205cb8605b24edc89d34d8f84ed401eecd | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-test/1…
+29038be2ba5cf1acac17fc0d9746e553cf90315b8042366169ff6d800dadf239 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-debug/…
+52614d618c5cb6a8d5d437e95102d1c45565237e09083cd64031ab7b23303a32 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-debug/…
6d2be12eb2f02729639cbf07a590e1fd354ec5042e9233d29de794055c0845bf | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-test/1…
+2e3091a94b8b822c9b68c4dc92ad6a6b0e39e2245b0fc75862de20f5a7a71e9a | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-test/1…
+497a7639820ba0758d4e0c1d6f82fdc8a9b6f6c2a28d91fe03c6b0776db4be40 | https://jcenter.bintray.com/org/jetbrains/kotlinx/kotlinx-coroutines-test/1…
1917871c8deb468307a584680c87a44572f5a8b0b98c6d397fc0f5f86596dbe7 | https://jcenter.bintray.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-…
5c415a9d8585200de4be1947e15291cc79f599b06249375f5c9ea22d4b2d090f | https://jcenter.bintray.com/org/jetbrains/trove4j/trove4j/20160824/trove4j-…
518080049ba83181914419d11a25d9bc9833a2d729b6a6e7469fa52851356da8 | https://jcenter.bintray.com/org/json/json/20180813/json-20180813.jar
@@ -899,178 +922,180 @@ 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…
-3569436c9ba384c03364568536a305725964fe637838e53f5ed6a99a6da3bd3f | https://maven.mozilla.org/maven2/org/mozilla/components/browser-awesomebar/…
-088e86d66a14fb097a16d28e7787e547c9822a725daaa998fc26bf4b993236eb | https://maven.mozilla.org/maven2/org/mozilla/components/browser-awesomebar/…
-96ba207d21b7f3ea35ed0d73e5a9ddc75235b7f047977fd862b653352b1f2561 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-domains/70.…
-e61d3dc57f8a12d4cb718221b7665e3077c282ec998758d0ebdd107d8dfebad1 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-domains/70.…
-d6c4566d67144b0af2adcae6d304ba2748696a15777080c89a311394b5bf4fb4 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-engine-geck…
-4bd537c5bbc5d5731e14c960d1bdddb1d05e5d6bd1424dec17b35be177d78776 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-engine-geck…
-c050fd2a751a7a015b1e0eabca4ce5c6b088fce5ce4842e873e36bd86d274613 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-engine-geck…
-fe97c38776cc0475cdca13e85439fde4e20e46f27d7a05532cd268b86e1062b9 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-engine-geck…
-7cc0e42e1a40530559f76151f5ed71a44c0c703cb8dc06e2cefa59d15929655f | https://maven.mozilla.org/maven2/org/mozilla/components/browser-errorpages/…
-3b86203af9844889904ad91b2c607459369959692b573d140ea0662018b2bc46 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-errorpages/…
-e63610f0d67335707138cb3ab06f58a1c810a019beafc0fa82b5baa1a22d8abc | https://maven.mozilla.org/maven2/org/mozilla/components/browser-icons/70.0.…
-04c1fc7d6e154f5baab7aa726fb685527faee4df15251c3d4d8c0902842cbf84 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-icons/70.0.…
-f056dc57918e74739eea08664994efa68c36ee5aaf122fc83a7ca4db9ca8701b | https://maven.mozilla.org/maven2/org/mozilla/components/browser-menu/70.0.1…
-1a8d4faa0061f306176b1e7ea3ac2e5ece5b4f141ab11bf17d0011af0792da47 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-menu/70.0.1…
-a5c63f0f55f4ebe510d46dffef3e495567bd4ee71b5344200302c0905c55636d | https://maven.mozilla.org/maven2/org/mozilla/components/browser-menu2/70.0.…
-0a0f5f62fc4bc4abe2ddb5bb6aae45cdfbac1289d000b63881cd86cd0ff9dcf4 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-menu2/70.0.…
-e08d94684d14dd3798e59f265703cfcb6de6da3dcd6d9f81292da9f6c33f5243 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-search/70.0…
-7fe1843d31fcf099fe1d0bc89205ccbad355cab51956450414c0ce7560c092a8 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-search/70.0…
-b21673f5a221058a61c4d021f40d95e7438741c79a4a9e1ce31a52933ed7a835 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-session/70.…
-2d21d4fe3bd658e2566486e7f45f0e6a56621a6cae9a83a4061873d1c377f148 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-session/70.…
-47cc792a992acd8ee025ca71212a4c2bbdad415fbf4451d87efbad6b3602211c | https://maven.mozilla.org/maven2/org/mozilla/components/browser-state/70.0.…
-ac2b5b612aa29d36b0f545805be27eece49069758f0a0e9c0f4107fefab14b28 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-state/70.0.…
-8e40abe139c33c6a076e4a816b2d3d8013b6d88548b9a32a2f01cc7b86d6e236 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-storage-syn…
-b50aa486b7b5afb66c00eb3568c7c19cbce42af4fcda8e2d4967b21724f08691 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-storage-syn…
-a1177224245621239841c962f2357664b8fbeef260fe72c820108363b04a184d | https://maven.mozilla.org/maven2/org/mozilla/components/browser-tabstray/70…
-07013b17374e02e4f7db73e2740f0abb26ed9c515679165b77658cbd98253a8b | https://maven.mozilla.org/maven2/org/mozilla/components/browser-tabstray/70…
-ec32f69d6a2cda56392a125ef387273e7857c6c49aa7831f67151c22a045bbad | https://maven.mozilla.org/maven2/org/mozilla/components/browser-thumbnails/…
-7007ae0c86c70b3e7b4d11a92652f588ead7ce7f74dfd9eef3fb538a56219e37 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-thumbnails/…
-0a3cd3866625fd2c8eec3241eb0208b587092888f79d56c0a575fdb69e1ea201 | https://maven.mozilla.org/maven2/org/mozilla/components/browser-toolbar/70.…
-270ed2d42ae92a81771b54daf59f59b547acda8f2d04c8a0f8a7e4f0cedfdb6d | https://maven.mozilla.org/maven2/org/mozilla/components/browser-toolbar/70.…
-9881d2f4d6781a56c54c4e2147d3b85bb3c12d717ee436f2b7ae0f9098b4c315 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-awesomebar/…
-be0c7512f80c734f575fd7d54cfded868a359151721c0ebb03c9e7ca76f6a6fa | https://maven.mozilla.org/maven2/org/mozilla/components/concept-awesomebar/…
-e328732f1798f9c2760df201b7aeb104683e1b68a93e9ca91f02ea36d8c0c4ee | https://maven.mozilla.org/maven2/org/mozilla/components/concept-base/70.0.1…
-b31d1304b4aa53a2b7611a61454109ef7a62828b2bf7bfb4146996408f2db2eb | https://maven.mozilla.org/maven2/org/mozilla/components/concept-base/70.0.1…
-092eb815939df2144215fc6307d6d92e88e36b933cef8d859efd250971b3a3fe | https://maven.mozilla.org/maven2/org/mozilla/components/concept-engine/70.0…
-a733076301354e827e4dfcc5129aa1eae0562c5010a50dd8effdccb6fe2e16ee | https://maven.mozilla.org/maven2/org/mozilla/components/concept-engine/70.0…
-e8cdca7ccc7bf0e49700e353d706083169f704ee045606249c5198e0307dd3a0 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-fetch/70.0.…
-b060b145fdedfe4ebc18905599bdd8cf6e1321f08eb3d9e0b2dca047ad44b744 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-fetch/70.0.…
-bba506554ab268585d61cff368090d0588ec9a5c9f352166a406794202591584 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-menu/70.0.1…
-61fae2f26f4b765121e77de94a30c150eab832f39a31b49c0a524309958e4cd4 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-menu/70.0.1…
-7c2c2ec4950c09e097ef71cc441d37f4c538ffef5e7d05fd4bdde136748545b3 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-push/70.0.1…
-cddd5b29e19868da6bf017c0d664e15cd7a14bb43060ea641cd5330546a9e12c | https://maven.mozilla.org/maven2/org/mozilla/components/concept-push/70.0.1…
-cf426a1ee8adf7b0f2ebc718465a3e472286dd5db738b0ca26eed426a4024941 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-storage/70.…
-6925ba1a3122834a620027772576d480ad1feb95aaf1110d597c2878e211ad55 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-storage/70.…
-33ff3f8d3c6a62879a6029ba88694cfee4121e317046c467bf6a6e24eda3d87c | https://maven.mozilla.org/maven2/org/mozilla/components/concept-sync/70.0.1…
-9e562b3bff5af9c22a4b5b0066cc7b4f0b3faa9bdb6bec6b04da40c352df69da | https://maven.mozilla.org/maven2/org/mozilla/components/concept-sync/70.0.1…
-d8ab166f91c99d5abfad741531223b50098e0f881e435aac1981f944d787c75b | https://maven.mozilla.org/maven2/org/mozilla/components/concept-tabstray/70…
-6febab38fbb1c42219960abe32c9a4e64612949edad7b314f0f23289c09edd24 | https://maven.mozilla.org/maven2/org/mozilla/components/concept-tabstray/70…
-47bfc83389681525981943ddb45f5d9a5ae059240a0d46f857de3a08a1ef405c | https://maven.mozilla.org/maven2/org/mozilla/components/concept-toolbar/70.…
-a0d91785ac5e4b682f04900cd0e8060787066fbe21862422e0e4bd710307939a | https://maven.mozilla.org/maven2/org/mozilla/components/concept-toolbar/70.…
-62a1aa1bcc076c9833cce320cdb8ca47e94d43ca9a1d42771f165f1c211f49f0 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-accounts-pu…
-7ffe523b6a23ce777ca89477007d08406635df99b9e4d960a93f8f7ee5b711b5 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-accounts-pu…
-4f995831210e3c2e2148c19020e4c8b62a87dce997e1066b94303d181b284a60 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-accounts/70…
-d03fab2af6fb3297b001f643e4944c9c90cd1766413e862f1c79c2eded808cc4 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-accounts/70…
-f3389e09f43a4f3c0d954951d3a0655648f4e8dd8656034a9d0bb830815e4adb | https://maven.mozilla.org/maven2/org/mozilla/components/feature-addons/70.0…
-343fe41a48948da15f6d6af06acd18855c09f55f4b95b28a1bda42b6163776e2 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-addons/70.0…
-66c0832cddc17be215807229e71703db6c55031d001063348ec8bf3e17d42612 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-app-links/7…
-3f4c7d238b5763ad16c2b0b74dfd09cd8be25e9d1518c04b96d0227ac8240060 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-app-links/7…
-9f3442c8b2499bdb0e0d726f3dfaa10ce3379d299cfdec1aeeb9a4366e0c8abc | https://maven.mozilla.org/maven2/org/mozilla/components/feature-awesomebar/…
-8889c8802471fb36c991952f4f43ba1fd0901b4acd5711e21a040064c406a7da | https://maven.mozilla.org/maven2/org/mozilla/components/feature-awesomebar/…
-389c2adb2b0b6e105f21fc5de36dce5c5da5f865a15321eed2e32b482ffc34e8 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-contextmenu…
-e11ad4ebd11e4f8c066bd1ffb90d7c6ea3ec462d90e6b3a2f62f88b9460ab559 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-contextmenu…
-d8c5c6cbf67309b40b83d1e5544dcb0952bfba8e6d9075fd48b5756324bb8e6e | https://maven.mozilla.org/maven2/org/mozilla/components/feature-customtabs/…
-561edcee1493c52127db6f98513235d441b7f9e518a8e4d0ab8cc049e6628072 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-customtabs/…
-562740b33d732b2ec19ec4b1f36649836d1566e7d5eb633abdfad188b1e7bf00 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-downloads/7…
-88b0ef1712cb38e205e16f481ddd1a6ef26df7cc687c3f693e2d6bd765b41017 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-downloads/7…
-12b0efb8a872e85cb5e25e6884385856d16cfc4d93f51a7214319234d6c3da79 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-findinpage/…
-1a978aba5bdb4f5f273234143a5a75f42c8c08c0e990a7950f450ae307994bd2 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-findinpage/…
-b8e7a98b1173bd7f191659f148036d0ca3e56764cfbd2b9bdf55c67916560f76 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-intent/70.0…
-11b5cc5263ffc07e1fe20423fa7a03d9264e8e59285bf7ec5bbe98d71610c30b | https://maven.mozilla.org/maven2/org/mozilla/components/feature-intent/70.0…
-f72b520f9fd36f627d4a0572c62407bebf7c8cbca888429ef89f9c4f317d7a5e | https://maven.mozilla.org/maven2/org/mozilla/components/feature-logins/70.0…
-2cc35cba15ad63fe8c31079d4c0e29ebdff4e2aef71a61daa596b28dcc098ab1 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-logins/70.0…
-b271f5970147d569c83d67e895299fb3a5abff89f67476619d5374cd2a2932fa | https://maven.mozilla.org/maven2/org/mozilla/components/feature-media/70.0.…
-35c6514def1b2e724b9ba4c7020c725d16163379466c6c22fc0636e517207f43 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-media/70.0.…
-db9e59be933617302ee4c9dd6eb5bb9a234a89dadab9c7fd90045963629d58eb | https://maven.mozilla.org/maven2/org/mozilla/components/feature-privatemode…
-bc09e4bbf948aee6145b8a069bda9418cde4b825ecaa5974c8358bf516044e4d | https://maven.mozilla.org/maven2/org/mozilla/components/feature-privatemode…
-2d2ab360c3306c26e62e3b097995c15e54743571d1affd4e3a5120dd22105969 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-prompts/70.…
-7d417136127f214e03edfa73f0c5d1d43c2342b2fdfb5aaf67d37217587a326d | https://maven.mozilla.org/maven2/org/mozilla/components/feature-prompts/70.…
-877cd2c04d55a25fd607d1ffe4a5ccc9c5f8049f02fc64ee149412e8cd0ab130 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-push/70.0.1…
-dd8883b8557c7fee976ebb1dac6827a4fcc89a953fc94d293eb51314b2f3fe00 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-push/70.0.1…
-039591d6a482c2c8ac20c1750d6e7ae9b80de8bd11623ecbcd5d6a2598898c13 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-pwa/70.0.16…
-8d6df81f2fcea104e35d56cc563d6d4239a5272a83c9891f1bac7352d066b4ad | https://maven.mozilla.org/maven2/org/mozilla/components/feature-pwa/70.0.16…
-4f9728a5e81969dfb248197608cb2e10b81e994a9485dc3c92c3207fd5b0557c | https://maven.mozilla.org/maven2/org/mozilla/components/feature-qr/70.0.16/…
-81cc6598f156480fbbf80f6e3498bf75c98c5f66355ee8073297baf2749d53e9 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-qr/70.0.16/…
-bcb947a4f1ede632643c6c718790a8f124a0fa7eb00004a9a501f404661f08d3 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-readerview/…
-c42945c3405cf94de42129d72fb5c6e4391e62a9d4f75dd5b110610a1f5d06fa | https://maven.mozilla.org/maven2/org/mozilla/components/feature-readerview/…
-0cc797dcf14dd2deb7c1578375f59b1ddf91a007a2d7a8d1edb46cc0a4148548 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-recentlyclo…
-5ff62424324e12767c80ac5d8e2b7ce5f5dd74f173ab38badb2cbaf837047110 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-recentlyclo…
-2746d9ce02f8866e130c0fb08c55a19a4dbc82fc1e2b5941b7e7ee56f6891eb3 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-search/70.0…
-c33f1bf585012556a7e7c2f7178bf777fc4cd47fc64aeee5326e7f8c7a48b029 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-search/70.0…
-d1e280ae87d73e4c3117a6efaf2fb936651c9876936d82a31d8a980a3a77f7e6 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-session/70.…
-ece04efc0b19e0a1a4f68d1dd686afe2262a8e9f9808a3eca88a4503986d071c | https://maven.mozilla.org/maven2/org/mozilla/components/feature-session/70.…
-fd26d96692208b08bde84d7136aeeae9d085819dec92ac672a976c5c7ddb5e5f | https://maven.mozilla.org/maven2/org/mozilla/components/feature-share/70.0.…
-4c7961072238bfc47c482000b7db920c59f78ee87072f2da13e22b3dde94770b | https://maven.mozilla.org/maven2/org/mozilla/components/feature-share/70.0.…
-1d8f7b2a0cb4903418bec6a11e5cb721a4a5b7637582a553b6663054895e7f56 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-sitepermiss…
-9c373a267b850624d60430a239d72b0443cdd5d5ff3ab3e78aabf9cda1b21277 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-sitepermiss…
-1298f7da86ae9632d6155c680375e2b9282f2afdac9607644a13556e75adb3a8 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-syncedtabs/…
-918a361cf7ad4c66021868264498fe567ff47c1d5ab4bf9893d3346515f5b8c2 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-syncedtabs/…
-468732a45ea3b7ccaf0d85650bf5cca036e3eac59964bcc913c8227d5f580697 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-tab-collect…
-966ec3775e9a56ba07ed1761e2d0f503981c7f5b032baedde21293ec36d352d1 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-tab-collect…
-a15ae366297ba01bcce987364ca54b5f792315c71a6b0b4a2adfe48dc4fd6581 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-tabs/70.0.1…
-5a8e8a31e08bdeb94b8160173df4f60b08ffe7ea35d3bbd30d43452b93278faf | https://maven.mozilla.org/maven2/org/mozilla/components/feature-tabs/70.0.1…
-08384f77fc05b5de5f0ef98f4135177eff8a9ad93359c2ea3b8ea7aedc03c71f | https://maven.mozilla.org/maven2/org/mozilla/components/feature-toolbar/70.…
-b0b50731dbfe823a42bca9f2657c2590449c0812fb9a5b94f3d834ce8f570034 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-toolbar/70.…
-bf86363ecc6e9e086c85c51a83d32e98ac63e03f70ffa1de6de949702d77de15 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-top-sites/7…
-c36442ff629a2a563d63d72274eea1f68f015f615400bac99090f183aad34fe4 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-top-sites/7…
-09e67091620ab5dc8ce822d4730644fc6ed73f16155860755af69b4170a221c4 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webcompat-r…
-5be85beb064f6fa68348d8ce7c5d33028938a07c2946d2cf99937ea5021d2e6c | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webcompat-r…
-13caae87a75f12312d6035e7ee41af8aeb82e659189bf3cf8c9f838baf45bd58 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webcompat/7…
-29f1a159c47f6ecbdcdbc358837462077eee1a194a9d9882bcef7081fd1cb04e | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webcompat/7…
-53eef8fbdebd12ece726938585531a5001354c047608454f5470594fb4626d5c | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webnotifica…
-84acf775c1232c7e346d0a87a70a8f91ae23cad010f0ae4edfcbb1cca17819d4 | https://maven.mozilla.org/maven2/org/mozilla/components/feature-webnotifica…
-0b04e69c3c3a06d3d4b6ae206d9b532391187ca31b1830395a996da8e9a910e9 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-crash/70.0.16/l…
-628d624e28a3fe0d182d7eb21e7ea4cb9a7b608374084c9cbf2e71567412158f | https://maven.mozilla.org/maven2/org/mozilla/components/lib-crash/70.0.16/l…
-cb20c3ce0527f2df1376959e12d4f0283b38b9d3619b9cbbeb0d86e1b9bbd240 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-dataprotect/70.…
-da580d47a25b101ab5532670c88deab7b025b69c96abbd212205031e4d88882e | https://maven.mozilla.org/maven2/org/mozilla/components/lib-dataprotect/70.…
-8e3dbbb157901a5af8c80326cefd87e8c2e01de232117c8203a666d342dd3348 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-publicsuffixlis…
-368b9027a307609e93b89a487ec809251e25c976fc582a5df6d69f0a05e3187c | https://maven.mozilla.org/maven2/org/mozilla/components/lib-publicsuffixlis…
-a2b8dff3b67fe89e5c7c2601fb73a9d19247fcf5bb0dca80a8ca13ebf4457111 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-push-firebase/7…
-0151bb19b3f6f930b55a0042363458b0722a15c2ad24c35dbf758c83f147fd73 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-push-firebase/7…
-eafc7345d5de199fb217fb95d6ed60695a17b0f4f0dbba7fe86bf98e386c65ea | https://maven.mozilla.org/maven2/org/mozilla/components/lib-state/70.0.16/l…
-a32320b7b83c3d9ed0617c10cba12e39ce51329c48c9691e97b347f7fbd5de97 | https://maven.mozilla.org/maven2/org/mozilla/components/lib-state/70.0.16/l…
-64e27638105d46e6c64d5632ae68bab22416d77d5169b68c48499b93855951bf | https://maven.mozilla.org/maven2/org/mozilla/components/service-digitalasse…
-cd8b70921c7514a86fa50c5719251107c38aa8e28308b126b0c32f359592079f | https://maven.mozilla.org/maven2/org/mozilla/components/service-digitalasse…
-87fb2783e865e13e7a0b2834c55209c75a8f45ccdd5eb977b27c8cacb1102779 | https://maven.mozilla.org/maven2/org/mozilla/components/service-firefox-acc…
-afcc2e958ea3196523c4c2020bba596e045c1542f4c348f6b525f2d3550c0a84 | https://maven.mozilla.org/maven2/org/mozilla/components/service-firefox-acc…
-e5cc50047401eb5dbc962f9267f6abaf4a36af9b0af9786069165faa9d9109b7 | https://maven.mozilla.org/maven2/org/mozilla/components/service-glean/70.0.…
-66320e07f46ca28bc9c401dfd1660fac347ce5ac0be499563bd28efcbbcc0913 | https://maven.mozilla.org/maven2/org/mozilla/components/service-glean/70.0.…
-5232643a5ae0ed55188029f7437eafde920a964c8a6fdc43b3e9db613ade166c | https://maven.mozilla.org/maven2/org/mozilla/components/service-location/70…
-b9c5f05eef84619b9ccb658eb4d233ed9e1dd095b7a688c95c5e192a372cced0 | https://maven.mozilla.org/maven2/org/mozilla/components/service-location/70…
-4fdc8ab553fd08e00e8b3b201546862d4fcaf4f4fe421a73c8aafeebabf502ca | https://maven.mozilla.org/maven2/org/mozilla/components/service-nimbus/70.0…
-8c4e8fa6762c4f60a06a4d59c87706f2e15a2be9ce6e9531c616774884917c31 | https://maven.mozilla.org/maven2/org/mozilla/components/service-nimbus/70.0…
-3ad9028792a8903f426471a7bc38fc92b3333c5b8c43819d5a34bbf7d5fde477 | https://maven.mozilla.org/maven2/org/mozilla/components/service-sync-logins…
-06a85f263e4da8ef241d63767e0b462b0ac074a60bf5353edd0a5d3c16a6093f | https://maven.mozilla.org/maven2/org/mozilla/components/service-sync-logins…
-76bc59b79f469e77ac70d70a691fbb4ede0b8a91f0091987a5253cebac13dc1d | https://maven.mozilla.org/maven2/org/mozilla/components/support-base/70.0.1…
-006196c568add97e52f19d07ba70d12bfd50707c5874c161813dccc96eeda818 | https://maven.mozilla.org/maven2/org/mozilla/components/support-base/70.0.1…
-64160d6f2310044493cf42b19bd661b385c6aeac983a28566b7933717d1dd7ce | https://maven.mozilla.org/maven2/org/mozilla/components/support-images/70.0…
-47a9377875b3cbd2c03cc03b663793e1dfce58c32338a3b68a0341a6c79d6ed6 | https://maven.mozilla.org/maven2/org/mozilla/components/support-images/70.0…
-dd51f1cfb12da227c9aaec2732ef87cf84e814c0484387e008af11e0ee5e2b5b | https://maven.mozilla.org/maven2/org/mozilla/components/support-ktx/70.0.16…
-fb4458a526e7c4eeeb054c359633a8670386f86a1f1da9fe6446bab8020a0a1e | https://maven.mozilla.org/maven2/org/mozilla/components/support-ktx/70.0.16…
-dece9307fd3323394fd4246ff3a4aa4b09795e0f8e7466de495aaefd9b75cb60 | https://maven.mozilla.org/maven2/org/mozilla/components/support-locale/70.0…
-81216d4aea29cfe1306e823a6eb1deb5ba6144864b775def19c448ef870f44c5 | https://maven.mozilla.org/maven2/org/mozilla/components/support-locale/70.0…
-09eedb0d092ccf5ee0b213150fa835a860f7b00650c8ad3fbc7b428bb4668214 | https://maven.mozilla.org/maven2/org/mozilla/components/support-migration/7…
-8514102067454c607d38d0ead39c20138dbddcc988c9056544bb8a6db5133081 | https://maven.mozilla.org/maven2/org/mozilla/components/support-migration/7…
-8639a7b017f074538e46405e947de42614f512bf154c0e10bb823033a399fec3 | https://maven.mozilla.org/maven2/org/mozilla/components/support-rusthttp/70…
-7bfd499adaf154f642875820e6d61e17ad7295acdba68d4fce140315d3de0ca7 | https://maven.mozilla.org/maven2/org/mozilla/components/support-rusthttp/70…
-3398018e243a40a5aa1930ea2913319725e401e5c7800006da655b328a7b4e73 | https://maven.mozilla.org/maven2/org/mozilla/components/support-rustlog/70.…
-4ca3b44777fdfc1eb27c564e695861e1a6eed0595ebac6f741692f6d1f45fcb1 | https://maven.mozilla.org/maven2/org/mozilla/components/support-rustlog/70.…
-2dd3d15ef7bcb96cacf3b841cb5ca0640553a258db895169072e81c950eb1da0 | https://maven.mozilla.org/maven2/org/mozilla/components/support-sync-teleme…
-0c8125e240fc360b24c2e8cb32dbd29f7360ff78357ea7190f4cb1170e3cb15e | https://maven.mozilla.org/maven2/org/mozilla/components/support-sync-teleme…
-1275baef6d4d3d0a13c8e2f5a145e82ed22f234b93cd23ba20c3749a901e97ca | https://maven.mozilla.org/maven2/org/mozilla/components/support-test-libsta…
-bf9736b8e094fd818e198ccb5193c042752a978204bc97e2e1a98ef81312ca80 | https://maven.mozilla.org/maven2/org/mozilla/components/support-test-libsta…
-ab202a392ce30bf1e0197f6c4b1aa5f163c56b1850daefb4f2de84a2007912ae | https://maven.mozilla.org/maven2/org/mozilla/components/support-test/70.0.1…
-1037c97fc8f606caaba27d1b23968d796f05f511349a8f546e237c5b273cc442 | https://maven.mozilla.org/maven2/org/mozilla/components/support-test/70.0.1…
-927d0c02791b1a93ac702c081f22de47141f21a5e8428923ad0b2bc526b745ec | https://maven.mozilla.org/maven2/org/mozilla/components/support-utils/70.0.…
-4853aab1c91fa9f33d088c274ea55d818f284e0f0db08dec617c0936614b614d | https://maven.mozilla.org/maven2/org/mozilla/components/support-utils/70.0.…
-4ba4df984e557fba95217bbc8fa9a321f7b9b592df75ca4524d29fccb2cec44a | https://maven.mozilla.org/maven2/org/mozilla/components/support-webextensio…
-4b642dfa7ff3f53b3b8c30d3a35c61a1a696a783e50e0f087a7a4ec9852b732d | https://maven.mozilla.org/maven2/org/mozilla/components/support-webextensio…
-bd5fb70078e6d096d7c78813fe26a5947c86e1a89f62213df334f1325bf92c23 | https://maven.mozilla.org/maven2/org/mozilla/components/tooling-glean-gradl…
-bfdbfbabafdd02b5f400a6596290fb89911ac0e40d7fbeac4551ac936c288534 | https://maven.mozilla.org/maven2/org/mozilla/components/tooling-glean-gradl…
-5e24752108cf29270e74f42ed7479531ad77b8c014093d70bb102159f228174f | https://maven.mozilla.org/maven2/org/mozilla/components/ui-autocomplete/70.…
-a0ab9e47681e07014b8a1254b2a689ea38a9da03cf36e071e3a2f4bf51eb9a6b | https://maven.mozilla.org/maven2/org/mozilla/components/ui-autocomplete/70.…
-7ec7264a35b13382f84d701fab89daace99c6c8157c6fdc6d15da2361fb4f16b | https://maven.mozilla.org/maven2/org/mozilla/components/ui-colors/70.0.16/u…
-94e50f5fcda291a2bf3a53c7abd39016581b782cfaac627ea3c55e279d11ff6c | https://maven.mozilla.org/maven2/org/mozilla/components/ui-colors/70.0.16/u…
-71307c399eb59749c6c25d2a0eb93c61513bc79b6c2c5a3e4dfb70e5077185a2 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-icons/70.0.16/ui…
-efa1a430d2a2878a5a7a8b41f29a8a5e741763f9c8b6b0cc721ea395a4695632 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-icons/70.0.16/ui…
-da8b5acdb1c0a7d213d9269b6f76a515f1ba2907b255b5a30dc2065718d7f113 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-tabcounter/70.0.…
-989c25ffa36201e37ed4e8eb3bee71fd6170df07a4b75aa98549f4349d09c68a | https://maven.mozilla.org/maven2/org/mozilla/components/ui-tabcounter/70.0.…
-28efed984b2ee3a66ffcf4a60d648ed048fb4f73ba533c73b6567f03d91cd46f | https://maven.mozilla.org/maven2/org/mozilla/components/ui-widgets/70.0.16/…
-41b2e3855cabed37b56c1e81fe1d8767f9e370ab56a731c373fbcb61a4cb3377 | https://maven.mozilla.org/maven2/org/mozilla/components/ui-widgets/70.0.16/…
-00d82f17fa8f96206281b150429d2d2efb361b7e16df06f9f93ba3d73c6077a0 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta/85.0.…
-12043feefa0e0af50d0459835121a2647f63bd8a6766ebda170821dcac99d0e6 | https://maven.mozilla.org/maven2/org/mozilla/geckoview/geckoview-beta/85.0.…
+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…
97a9d151ad636acc68eeda046866f0ac24e6f7bf2a81a6b938a3386cc73be529 | https://maven.mozilla.org/maven2/org/mozilla/telemetry/glean-forUnitTests/3…
1
0

[Git][tpo/applications/android-components][android-components-72.0.1-10.5-1] 12 commits: Bug 40005: Modify Default toolbar menu
by Matthew Finkel 02 Feb '21
by Matthew Finkel 02 Feb '21
02 Feb '21
Matthew Finkel pushed to branch android-components-72.0.1-10.5-1 at The Tor Project / Applications / android-components
Commits:
1b50c4f0 by Matthew Finkel at 2021-02-01T18:32:22+00:00
Bug 40005: Modify Default toolbar menu
- - - - -
e503e950 by Alex Catarineu at 2021-02-01T18:32:22+00:00
Bug 40007: Port external helper app prompting
Together with the corresponding fenix patch, this allows all `startActivity`
that may open external apps to be replaced by `TorUtils.startActivityPrompt`.
- - - - -
0380d00a by Alex Catarineu at 2021-02-01T18:32:22+00:00
Bug 40002: Ensure system download manager is not used
- - - - -
87dbdb40 by Alex Catarineu at 2021-02-01T18:32:22+00:00
Bug 40009: Change the default search engines
This matches the search engines from desktop, that is:
DDG as the default, then YouTube, Google, DDGOnion,
Startpage, Twitter, Wikipedia and Yahoo.
- - - - -
f38b3ba7 by Alex Catarineu at 2021-02-01T18:32:22+00:00
Modify Addon support
Bug 40011: Hide option for disallowing addons in private mode
Bug 40016: Allow inheriting from AddonCollectionProvider
This will allow implementing our own AddonsProvider in fenix.
- - - - -
a91ee71a by Georg Koppen at 2021-02-01T18:32:22+00:00
Bug 40013: Add option do overwrite timestamp in extension version
- - - - -
de7966cb by Alex Catarineu at 2021-02-01T18:32:22+00:00
Bug 40015: Port padlock states for .onion services
- - - - -
379e7cdf by Alex Catarineu at 2021-02-01T18:32:22+00:00
Bug 40021: Force telemetry=false in Fennec settings migration
- - - - -
1fd31798 by Alex Catarineu at 2021-02-02T05:33:59+00:00
Bug 40022: Migrate Tor security level from Fennec
- - - - -
b1d84835 by Matthew Finkel at 2021-02-02T05:33:59+00:00
Modify Tracking Protection configuration
Bug 40020: Disable third-party cookies
Bug 40024: Disable tracking protection by default
- - - - -
3e7f2b2e by Matthew Finkel at 2021-02-02T05:33:59+00:00
Bug 40023: Stop PrivateNotificationService
- - - - -
2727ef7e by Matthew Finkel at 2021-02-02T05:34:29+00:00
Add support for new GeckoView interfaces
Bug 40006: Expose Security Level interface
Bug 40019: Expose spoofEnglish pref
Bug 34439: Isolate Icon loader on Android
- - - - -
30 changed files:
- build.gradle
- components/browser/engine-gecko-beta/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt
- components/browser/engine-gecko-beta/src/main/java/mozilla/components/browser/engine/gecko/fetch/GeckoViewFetchClient.kt
- components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/GeckoEngine.kt
- components/browser/engine-gecko/src/main/java/mozilla/components/browser/engine/gecko/fetch/GeckoViewFetchClient.kt
- components/browser/icons/src/main/java/mozilla/components/browser/icons/loader/HttpIconLoader.kt
- components/browser/menu/src/main/java/mozilla/components/browser/menu/WebExtensionBrowserMenuBuilder.kt
- components/browser/search/src/main/assets/search/list.json
- + components/browser/search/src/main/assets/searchplugins/ddg-onion.xml
- components/browser/search/src/main/assets/searchplugins/ddg.xml
- + components/browser/search/src/main/assets/searchplugins/startpage.xml
- + components/browser/search/src/main/assets/searchplugins/yahoo.xml
- components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/DisplayToolbar.kt
- components/browser/toolbar/src/main/java/mozilla/components/browser/toolbar/display/SiteSecurityIconView.kt
- components/browser/toolbar/src/main/res/drawable/mozac_ic_site_security.xml
- components/browser/toolbar/src/main/res/values/attrs_browser_toolbar.xml
- components/concept/engine/src/main/java/mozilla/components/concept/engine/EngineSession.kt
- components/concept/engine/src/main/java/mozilla/components/concept/engine/Settings.kt
- components/concept/fetch/src/main/java/mozilla/components/concept/fetch/Request.kt
- components/concept/toolbar/src/main/java/mozilla/components/concept/toolbar/Toolbar.kt
- components/feature/addons/src/main/java/mozilla/components/feature/addons/amo/AddonCollectionProvider.kt
- components/feature/addons/src/main/res/layout/mozac_feature_addons_fragment_dialog_addon_installed.xml
- components/feature/app-links/build.gradle
- components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksFeature.kt
- components/feature/app-links/src/main/java/mozilla/components/feature/app/links/AppLinksUseCases.kt
- components/feature/contextmenu/src/main/java/mozilla/components/feature/contextmenu/ContextMenuCandidate.kt
- components/feature/downloads/build.gradle
- components/feature/downloads/src/main/java/mozilla/components/feature/downloads/AbstractFetchDownloadService.kt
- components/feature/downloads/src/main/java/mozilla/components/feature/downloads/DownloadsFeature.kt
- components/feature/privatemode/src/main/java/mozilla/components/feature/privatemode/notification/PrivateNotificationFeature.kt
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/android-components/-/compare…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/android-components/-/compare…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

[tor-browser-build/maint-10.0-desktop] Bump HTTPS Everywhere version to 2021.1.27
by gk@torproject.org 02 Feb '21
by gk@torproject.org 02 Feb '21
02 Feb '21
commit ce74edfb1a946c7756da293c8c18d387a333036e
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Feb 2 08:19:59 2021 +0000
Bump HTTPS Everywhere version to 2021.1.27
---
projects/https-everywhere/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index 255d36f..5ef51dd 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2020.11.17
+version: 2021.1.27
git_url: https://git.torproject.org/https-everywhere.git
git_hash: '[% c("version") %]'
git_submodule: 1
1
0

[tor-browser-build/maint-10.0-desktop] Release preparation for 10.0.10
by gk@torproject.org 02 Feb '21
by gk@torproject.org 02 Feb '21
02 Feb '21
commit a65e19bfc11c51c8e768b7e2ad56908cace7307c
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Feb 2 10:09:19 2021 +0000
Release preparation for 10.0.10
Versions bump and Changelog update
---
projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt | 6 ++++++
rbm.conf | 6 +++---
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 4df24ca..7714bfc 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,9 @@
+Tor Browser 10.0.10 -- February 3 2021
+ * Windows + OS X + Linux
+ * Update NoScript to 11.2
+ * Update HTTPS Everywhere to 2021.1.27
+ * Bug 40224: Backport Tor patch for v3 onion services [tor-browser-build]
+
Tor Browser 10.0.9 -- January 26 2021
* Windows + OS X + Linux
* Update Firefox to 78.7.0esr
diff --git a/rbm.conf b/rbm.conf
index 776ddbe..ba9a51e 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -24,11 +24,11 @@ buildconf:
git_signtag_opt: '-s'
var:
- torbrowser_version: '10.0.9'
- torbrowser_build: 'build2'
+ torbrowser_version: '10.0.10'
+ torbrowser_build: 'build1'
torbrowser_incremental_from:
- - 10.0.7
- 10.0.8
+ - 10.0.9
project_name: tor-browser
multi_lingual: 0
build_mar: 1
1
0

[tor-browser-build/maint-10.0-desktop] Bump NoScript version to 11.2
by gk@torproject.org 02 Feb '21
by gk@torproject.org 02 Feb '21
02 Feb '21
commit 6def13178318ed1b042f2ebcc9501006a20fe478
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Feb 2 08:21:42 2021 +0000
Bump NoScript version to 11.2
---
projects/tor-browser/config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 35d53f0..f3fab28 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -77,9 +77,9 @@ input_files:
enable: '[% c("var/snowflake") && ! c("var/android") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
+ - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
name: noscript
- sha256sum: 5f68a63637e286433089aeb3b6a0aa930317dd988184876b5d6dcff2ca07bb34
+ sha256sum: 4258bcd0bcdfc8ecb231d250e3adf1c477a1a672ede74a5cd10ba05a5381babb
- filename: 'RelativeLink/start-tor-browser.desktop'
enable: '[% c("var/linux") %]'
- filename: 'RelativeLink/execdesktop'
1
0

[tor-browser-build/maint-10.0-desktop] Bug 40224: Backport Tor patch for v3 onion services
by gk@torproject.org 02 Feb '21
by gk@torproject.org 02 Feb '21
02 Feb '21
commit 9f965640252fb1c64df5214cd71d19ef0e440126
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Mon Feb 1 21:31:46 2021 +0000
Bug 40224: Backport Tor patch for v3 onion services
---
...1-hs-v3-Require-reasonably-live-consensus.patch | 672 +++++++++++++++++++++
...tests-Fix-unit-tests-after-merge-of-40237.patch | 97 +++
.../0003-Pick-up-merge-conflict-resolutions.patch | 82 +++
projects/tor/build | 4 +
projects/tor/config | 3 +
5 files changed, 858 insertions(+)
diff --git a/projects/tor/0001-hs-v3-Require-reasonably-live-consensus.patch b/projects/tor/0001-hs-v3-Require-reasonably-live-consensus.patch
new file mode 100644
index 0000000..9a4ec5c
--- /dev/null
+++ b/projects/tor/0001-hs-v3-Require-reasonably-live-consensus.patch
@@ -0,0 +1,672 @@
+From a363b64e82bc1dac2409a65dee0606c4b66f71fc Mon Sep 17 00:00:00 2001
+From: David Goulet <dgoulet(a)torproject.org>
+Date: Mon, 11 Jan 2021 16:01:22 -0500
+Subject: [PATCH 1/3] hs-v3: Require reasonably live consensus
+
+Some days before this commit, the network experienced a DDoS on the directory
+authorities that prevented them to generate a consensus for more than 5 hours
+straight.
+
+That in turn entirely disabled onion service v3, client and service side, due
+to the subsystem requiring a live consensus to function properly.
+
+We know require a reasonably live consensus which means that the HSv3
+subsystem will to its job for using the best consensus tor can find. If the
+entire network is using an old consensus, than this should be alright.
+
+If the service happens to use a live consensus while a client is not, it
+should still work because the client will use the current SRV it sees which
+might be the previous SRV for the service for which it still publish
+descriptors for.
+
+If the service is using an old one and somehow can't get a new one while
+clients are on a new one, then reachability issues might arise. However, this
+is a situation we already have at the moment since the service will simply not
+work if it doesn't have a live consensus while a client has one.
+
+Fixes #40237
+
+Signed-off-by: David Goulet <dgoulet(a)torproject.org>
+
+diff --git a/changes/ticket40237 b/changes/ticket40237
+new file mode 100644
+index 0000000000..fc32f59cd4
+--- /dev/null
++++ b/changes/ticket40237
+@@ -0,0 +1,5 @@
++ o Major bugfixes (onion service v3):
++ - Stop requiring a live consensus for v3 clients and services to work. The
++ use of a reasonably live consensus will allow v3 to work properly in most
++ cases if the network failed to generate a consensus for more than 2 hours
++ in a row. Fixes bug 40237; bugfix on 0.3.5.1-alpha.
+diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c
+index e4e17f6b76..b4dbedbfe4 100644
+--- a/src/core/mainloop/mainloop.c
++++ b/src/core/mainloop/mainloop.c
+@@ -2154,7 +2154,8 @@ hs_service_callback(time_t now, const or_options_t *options)
+ /* We need to at least be able to build circuits and that we actually have
+ * a working network. */
+ if (!have_completed_a_circuit() || net_is_disabled() ||
+- networkstatus_get_live_consensus(now) == NULL) {
++ !networkstatus_get_reasonably_live_consensus(now,
++ usable_consensus_flavor())) {
+ goto end;
+ }
+
+diff --git a/src/feature/hs/hs_cache.c b/src/feature/hs/hs_cache.c
+index 44cd2505fd..ef5e88e947 100644
+--- a/src/feature/hs/hs_cache.c
++++ b/src/feature/hs/hs_cache.c
+@@ -17,6 +17,7 @@
+ #include "feature/hs/hs_common.h"
+ #include "feature/hs/hs_client.h"
+ #include "feature/hs/hs_descriptor.h"
++#include "feature/nodelist/microdesc.h"
+ #include "feature/nodelist/networkstatus.h"
+ #include "feature/rend/rendcache.h"
+
+@@ -739,7 +740,9 @@ cached_client_descriptor_has_expired(time_t now,
+ /* We use the current consensus time to see if we should expire this
+ * descriptor since we use consensus time for all other parts of the protocol
+ * as well (e.g. to build the blinded key and compute time periods). */
+- const networkstatus_t *ns = networkstatus_get_live_consensus(now);
++ const networkstatus_t *ns =
++ networkstatus_get_reasonably_live_consensus(now,
++ usable_consensus_flavor());
+ /* If we don't have a recent consensus, consider this entry expired since we
+ * will want to fetch a new HS desc when we get a live consensus. */
+ if (!ns) {
+diff --git a/src/feature/hs/hs_client.c b/src/feature/hs/hs_client.c
+index fc1fd76efc..0f6109195b 100644
+--- a/src/feature/hs/hs_client.c
++++ b/src/feature/hs/hs_client.c
+@@ -29,6 +29,7 @@
+ #include "feature/hs/hs_descriptor.h"
+ #include "feature/hs/hs_ident.h"
+ #include "feature/nodelist/describe.h"
++#include "feature/nodelist/microdesc.h"
+ #include "feature/nodelist/networkstatus.h"
+ #include "feature/nodelist/nodelist.h"
+ #include "feature/nodelist/routerset.h"
+@@ -1302,9 +1303,10 @@ can_client_refetch_desc(const ed25519_public_key_t *identity_pk,
+ goto cannot;
+ }
+
+- /* Without a live consensus we can't do any client actions. It is needed to
+- * compute the hashring for a service. */
+- if (!networkstatus_get_live_consensus(approx_time())) {
++ /* Without a usable consensus we can't do any client actions. It is needed
++ * to compute the hashring for a service. */
++ if (!networkstatus_get_reasonably_live_consensus(approx_time(),
++ usable_consensus_flavor())) {
+ log_info(LD_REND, "Can't fetch descriptor for service %s because we "
+ "are missing a live consensus. Stalling connection.",
+ safe_str_client(ed25519_fmt(identity_pk)));
+diff --git a/src/feature/hs/hs_common.c b/src/feature/hs/hs_common.c
+index 4639cdb68a..86d3fcab7d 100644
+--- a/src/feature/hs/hs_common.c
++++ b/src/feature/hs/hs_common.c
+@@ -27,6 +27,7 @@
+ #include "feature/hs/hs_service.h"
+ #include "feature/hs_common/shared_random_client.h"
+ #include "feature/nodelist/describe.h"
++#include "feature/nodelist/microdesc.h"
+ #include "feature/nodelist/networkstatus.h"
+ #include "feature/nodelist/nodelist.h"
+ #include "feature/nodelist/routerset.h"
+@@ -276,7 +277,9 @@ hs_get_time_period_num(time_t now)
+ if (now != 0) {
+ current_time = now;
+ } else {
+- networkstatus_t *ns = networkstatus_get_live_consensus(approx_time());
++ networkstatus_t *ns =
++ networkstatus_get_reasonably_live_consensus(approx_time(),
++ usable_consensus_flavor());
+ current_time = ns ? ns->valid_after : approx_time();
+ }
+
+@@ -1107,7 +1110,8 @@ hs_in_period_between_tp_and_srv,(const networkstatus_t *consensus, time_t now))
+ time_t srv_start_time, tp_start_time;
+
+ if (!consensus) {
+- consensus = networkstatus_get_live_consensus(now);
++ consensus = networkstatus_get_reasonably_live_consensus(now,
++ usable_consensus_flavor());
+ if (!consensus) {
+ return 0;
+ }
+@@ -1352,7 +1356,9 @@ hs_get_responsible_hsdirs(const ed25519_public_key_t *blinded_pk,
+ sorted_nodes = smartlist_new();
+
+ /* Make sure we actually have a live consensus */
+- networkstatus_t *c = networkstatus_get_live_consensus(approx_time());
++ networkstatus_t *c =
++ networkstatus_get_reasonably_live_consensus(approx_time(),
++ usable_consensus_flavor());
+ if (!c || smartlist_len(c->routerstatus_list) == 0) {
+ log_warn(LD_REND, "No live consensus so we can't get the responsible "
+ "hidden service directories.");
+diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
+index a42879a48f..2f3f45f252 100644
+--- a/src/feature/hs/hs_service.c
++++ b/src/feature/hs/hs_service.c
+@@ -23,6 +23,7 @@
+ #include "feature/hs_common/shared_random_client.h"
+ #include "feature/keymgt/loadkey.h"
+ #include "feature/nodelist/describe.h"
++#include "feature/nodelist/microdesc.h"
+ #include "feature/nodelist/networkstatus.h"
+ #include "feature/nodelist/nickname.h"
+ #include "feature/nodelist/node_select.h"
+@@ -2504,7 +2505,8 @@ should_rotate_descriptors(hs_service_t *service, time_t now)
+
+ tor_assert(service);
+
+- ns = networkstatus_get_live_consensus(now);
++ ns = networkstatus_get_reasonably_live_consensus(now,
++ usable_consensus_flavor());
+ if (ns == NULL) {
+ goto no_rotation;
+ }
+@@ -3188,10 +3190,8 @@ should_service_upload_descriptor(const hs_service_t *service,
+ }
+
+ /* Don't upload desc if we don't have a live consensus */
+- if (!networkstatus_get_live_consensus(now)) {
+- msg = tor_strdup("No live consensus");
+- log_cant_upload_desc(service, desc, msg,
+- LOG_DESC_UPLOAD_REASON_NO_LIVE_CONSENSUS);
++ if (!networkstatus_get_reasonably_live_consensus(now,
++ usable_consensus_flavor())) {
+ goto cannot;
+ }
+
+diff --git a/src/feature/hs_common/shared_random_client.c b/src/feature/hs_common/shared_random_client.c
+index c2ea5afe32..4e8a2942fc 100644
+--- a/src/feature/hs_common/shared_random_client.c
++++ b/src/feature/hs_common/shared_random_client.c
+@@ -13,6 +13,7 @@
+ #include "app/config/config.h"
+ #include "feature/dirauth/authmode.h"
+ #include "feature/dirauth/voting_schedule.h"
++#include "feature/nodelist/microdesc.h"
+ #include "feature/nodelist/networkstatus.h"
+ #include "lib/encoding/binascii.h"
+
+@@ -55,7 +56,9 @@ int
+ get_voting_interval(void)
+ {
+ int interval;
+- networkstatus_t *consensus = networkstatus_get_live_consensus(time(NULL));
++ networkstatus_t *consensus =
++ networkstatus_get_reasonably_live_consensus(time(NULL),
++ usable_consensus_flavor());
+
+ if (consensus) {
+ /* Ideally we have a live consensus and we can just use that. */
+@@ -147,7 +150,8 @@ sr_get_current(const networkstatus_t *ns)
+ if (ns) {
+ consensus = ns;
+ } else {
+- consensus = networkstatus_get_live_consensus(approx_time());
++ consensus = networkstatus_get_reasonably_live_consensus(approx_time(),
++ usable_consensus_flavor());
+ }
+ /* Ideally we would never be asked for an SRV without a live consensus. Make
+ * sure this assumption is correct. */
+@@ -170,7 +174,8 @@ sr_get_previous(const networkstatus_t *ns)
+ if (ns) {
+ consensus = ns;
+ } else {
+- consensus = networkstatus_get_live_consensus(approx_time());
++ consensus = networkstatus_get_reasonably_live_consensus(approx_time(),
++ usable_consensus_flavor());
+ }
+ /* Ideally we would never be asked for an SRV without a live consensus. Make
+ * sure this assumption is correct. */
+@@ -242,13 +247,14 @@ sr_state_get_start_time_of_current_protocol_run(void)
+ int voting_interval = get_voting_interval();
+ time_t beginning_of_curr_round;
+
+- /* This function is not used for voting purposes, so if we have a live
+- consensus, use its valid-after as the beginning of the current round.
+- If we have no consensus but we're an authority, use our own
+- schedule. Otherwise, try using our view of the voting interval
+- to figure out when the current round _should_ be starting.
+- */
+- networkstatus_t *ns = networkstatus_get_live_consensus(approx_time());
++ /* This function is not used for voting purposes, so if we have a reasonably
++ * live consensus, use its valid-after as the beginning of the current
++ * round. If we have no consensus but we're an authority, use our own
++ * schedule. Otherwise, try using our view of the voting interval to figure
++ * out when the current round _should_ be starting. */
++ networkstatus_t *ns =
++ networkstatus_get_reasonably_live_consensus(approx_time(),
++ usable_consensus_flavor());
+ if (ns) {
+ beginning_of_curr_round = ns->valid_after;
+ } else if (authdir_mode(get_options()) || ASSUME_AUTHORITY_SCHEDULING) {
+diff --git a/src/feature/nodelist/nodelist.c b/src/feature/nodelist/nodelist.c
+index 7454f342f9..6ee1d11cae 100644
+--- a/src/feature/nodelist/nodelist.c
++++ b/src/feature/nodelist/nodelist.c
+@@ -362,7 +362,7 @@ node_set_hsdir_index(node_t *node, const networkstatus_t *ns)
+ tor_assert(node);
+ tor_assert(ns);
+
+- if (!networkstatus_is_live(ns, now)) {
++ if (!networkstatus_consensus_reasonably_live(ns, now)) {
+ static struct ratelim_t live_consensus_ratelim = RATELIM_INIT(30 * 60);
+ log_fn_ratelim(&live_consensus_ratelim, LOG_INFO, LD_GENERAL,
+ "Not setting hsdir index with a non-live consensus.");
+diff --git a/src/test/test_hs_cache.c b/src/test/test_hs_cache.c
+index f25bba3584..379f23ec72 100644
+--- a/src/test/test_hs_cache.c
++++ b/src/test/test_hs_cache.c
+@@ -462,9 +462,10 @@ test_hsdir_revision_counter_check(void *arg)
+ static networkstatus_t mock_ns;
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus(time_t now)
++mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+ return &mock_ns;
+ }
+
+@@ -485,8 +486,8 @@ test_client_cache(void *arg)
+ /* Initialize HSDir cache subsystem */
+ init_test();
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* Set consensus time */
+ parse_rfc1123_time("Sat, 26 Oct 1985 13:00:00 UTC",
+diff --git a/src/test/test_hs_client.c b/src/test/test_hs_client.c
+index ae5cc5ed84..fd84293dc2 100644
+--- a/src/test/test_hs_client.c
++++ b/src/test/test_hs_client.c
+@@ -66,16 +66,18 @@ static networkstatus_t mock_ns;
+
+ /* Always return NULL. */
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus_false(time_t now)
++mock_networkstatus_get_reasonably_live_consensus_false(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+ return NULL;
+ }
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus(time_t now)
++mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+ return &mock_ns;
+ }
+
+@@ -379,8 +381,8 @@ test_client_pick_intro(void *arg)
+ ed25519_keypair_t service_kp;
+ hs_descriptor_t *desc = NULL;
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ (void) arg;
+
+@@ -632,15 +634,15 @@ test_descriptor_fetch(void *arg)
+ get_options_mutable()->FetchHidServDescriptors = 1;
+
+ /* 2. We don't have a live consensus. */
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus_false);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus_false);
+ ret = hs_client_refetch_hsdesc(&service_pk);
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ tt_int_op(ret, OP_EQ, HS_CLIENT_FETCH_MISSING_INFO);
+
+ /* From now on, return a live consensus. */
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* 3. Not enough dir information. */
+ MOCK(router_have_minimum_dir_info,
+@@ -682,7 +684,7 @@ test_descriptor_fetch(void *arg)
+
+ done:
+ connection_free_minimal(ENTRY_TO_CONN(ec));
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ UNMOCK(router_have_minimum_dir_info);
+ hs_free_all();
+ }
+@@ -880,8 +882,8 @@ test_desc_has_arrived_cleanup(void *arg)
+
+ hs_init();
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+ MOCK(connection_mark_unattached_ap_,
+ mock_connection_mark_unattached_ap_);
+ MOCK(router_have_minimum_dir_info,
+@@ -953,7 +955,7 @@ test_desc_has_arrived_cleanup(void *arg)
+ tor_free(desc_str);
+ hs_free_all();
+
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ UNMOCK(connection_mark_unattached_ap_);
+ UNMOCK(router_have_minimum_dir_info);
+ }
+@@ -974,8 +976,8 @@ test_close_intro_circuits_new_desc(void *arg)
+
+ /* This is needed because of the client cache expiration timestamp is based
+ * on having a consensus. See cached_client_descriptor_has_expired(). */
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* Set consensus time */
+ parse_rfc1123_time("Sat, 26 Oct 1985 13:00:00 UTC",
+@@ -1101,7 +1103,7 @@ test_close_intro_circuits_new_desc(void *arg)
+ hs_descriptor_free(desc1);
+ hs_descriptor_free(desc2);
+ hs_free_all();
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ static void
+diff --git a/src/test/test_hs_common.c b/src/test/test_hs_common.c
+index 9202074e25..e3d130fb32 100644
+--- a/src/test/test_hs_common.c
++++ b/src/test/test_hs_common.c
+@@ -360,9 +360,10 @@ mock_networkstatus_get_latest_consensus(void)
+ }
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus(time_t now)
++mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+
+ tt_assert(mock_ns);
+
+@@ -382,6 +383,8 @@ test_responsible_hsdirs(void *arg)
+
+ MOCK(networkstatus_get_latest_consensus,
+ mock_networkstatus_get_latest_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ ns = networkstatus_get_latest_consensus();
+
+@@ -418,6 +421,8 @@ test_responsible_hsdirs(void *arg)
+ smartlist_clear(ns->routerstatus_list);
+ networkstatus_vote_free(mock_ns);
+ cleanup_nodelist();
++
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ static void
+@@ -467,6 +472,8 @@ test_desc_reupload_logic(void *arg)
+
+ hs_init();
+
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+ MOCK(router_have_minimum_dir_info,
+ mock_router_have_minimum_dir_info);
+ MOCK(get_or_state,
+@@ -911,9 +918,11 @@ static smartlist_t *service_responsible_hsdirs = NULL;
+ static smartlist_t *client_responsible_hsdirs = NULL;
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus_service(time_t now)
++mock_networkstatus_get_reasonably_live_consensus_service(time_t now,
++ int flavor)
+ {
+ (void) now;
++ (void) flavor;
+
+ if (mock_service_ns) {
+ return mock_service_ns;
+@@ -929,13 +938,14 @@ mock_networkstatus_get_live_consensus_service(time_t now)
+ static networkstatus_t *
+ mock_networkstatus_get_latest_consensus_service(void)
+ {
+- return mock_networkstatus_get_live_consensus_service(0);
++ return mock_networkstatus_get_reasonably_live_consensus_service(0, 0);
+ }
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus_client(time_t now)
++mock_networkstatus_get_reasonably_live_consensus_client(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+
+ if (mock_client_ns) {
+ return mock_client_ns;
+@@ -951,7 +961,7 @@ mock_networkstatus_get_live_consensus_client(time_t now)
+ static networkstatus_t *
+ mock_networkstatus_get_latest_consensus_client(void)
+ {
+- return mock_networkstatus_get_live_consensus_client(0);
++ return mock_networkstatus_get_reasonably_live_consensus_client(0, 0);
+ }
+
+ /* Mock function because we are not trying to test the close circuit that does
+@@ -1411,8 +1421,8 @@ run_reachability_scenario(const reachability_cfg_t *cfg, int num_scenario)
+ * === Client setup ===
+ */
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus_client);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus_client);
+ MOCK(networkstatus_get_latest_consensus,
+ mock_networkstatus_get_latest_consensus_client);
+
+@@ -1436,14 +1446,14 @@ run_reachability_scenario(const reachability_cfg_t *cfg, int num_scenario)
+ tt_int_op(smartlist_len(client_responsible_hsdirs), OP_EQ, 6);
+
+ UNMOCK(networkstatus_get_latest_consensus);
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+
+ /*
+ * === Service setup ===
+ */
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus_service);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus_service);
+ MOCK(networkstatus_get_latest_consensus,
+ mock_networkstatus_get_latest_consensus_service);
+
+@@ -1470,7 +1480,7 @@ run_reachability_scenario(const reachability_cfg_t *cfg, int num_scenario)
+ tt_int_op(smartlist_len(service_responsible_hsdirs), OP_EQ, 8);
+
+ UNMOCK(networkstatus_get_latest_consensus);
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+
+ /* Some testing of the values we just got from the client and service. */
+ tt_mem_op(&client_blinded_pk, OP_EQ, &service_blinded_pk,
+@@ -1721,8 +1731,8 @@ test_client_service_hsdir_set_sync(void *arg)
+
+ MOCK(networkstatus_get_latest_consensus,
+ mock_networkstatus_get_latest_consensus);
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+ MOCK(get_or_state,
+ get_or_state_replacement);
+ MOCK(hs_desc_encode_descriptor,
+diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c
+index 80383baff8..630cfef1fe 100644
+--- a/src/test/test_hs_service.c
++++ b/src/test/test_hs_service.c
+@@ -83,9 +83,10 @@
+ static networkstatus_t mock_ns;
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus(time_t now)
++mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+ return &mock_ns;
+ }
+
+@@ -1375,8 +1376,8 @@ test_rotate_descriptors(void *arg)
+ hs_init();
+ MOCK(get_or_state, get_or_state_replacement);
+ MOCK(circuit_mark_for_close_, mock_circuit_mark_for_close);
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* Descriptor rotation happens with a consensus with a new SRV. */
+
+@@ -1464,7 +1465,7 @@ test_rotate_descriptors(void *arg)
+ hs_free_all();
+ UNMOCK(get_or_state);
+ UNMOCK(circuit_mark_for_close_);
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ /** Test building descriptors: picking intro points, setting up their link
+@@ -1484,8 +1485,8 @@ test_build_update_descriptors(void *arg)
+
+ MOCK(get_or_state,
+ get_or_state_replacement);
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ dummy_state = or_state_new();
+
+@@ -1715,8 +1716,8 @@ test_build_descriptors(void *arg)
+
+ MOCK(get_or_state,
+ get_or_state_replacement);
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ dummy_state = or_state_new();
+
+@@ -1816,8 +1817,8 @@ test_upload_descriptors(void *arg)
+ hs_init();
+ MOCK(get_or_state,
+ get_or_state_replacement);
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ dummy_state = or_state_new();
+
+diff --git a/src/test/test_shared_random.c b/src/test/test_shared_random.c
+index 148eb5cf90..9e49e835c9 100644
+--- a/src/test/test_shared_random.c
++++ b/src/test/test_shared_random.c
+@@ -167,6 +167,15 @@ mock_networkstatus_get_live_consensus(time_t now)
+ return &mock_consensus;
+ }
+
++/* Mock function to immediately return our local 'mock_consensus'. */
++static networkstatus_t *
++mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
++{
++ (void) now;
++ (void) flavor;
++ return &mock_consensus;
++}
++
+ static void
+ test_get_state_valid_until_time(void *arg)
+ {
+@@ -179,6 +188,8 @@ test_get_state_valid_until_time(void *arg)
+
+ MOCK(networkstatus_get_live_consensus,
+ mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ retval = parse_rfc1123_time("Mon, 20 Apr 2015 01:00:00 UTC",
+ &mock_consensus.fresh_until);
+@@ -235,7 +246,7 @@ test_get_state_valid_until_time(void *arg)
+ }
+
+ done:
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ /** Test the function that calculates the start time of the current SRV
+@@ -251,6 +262,8 @@ test_get_start_time_of_current_run(void *arg)
+
+ MOCK(networkstatus_get_live_consensus,
+ mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ retval = parse_rfc1123_time("Mon, 20 Apr 2015 01:00:00 UTC",
+ &mock_consensus.fresh_until);
+@@ -335,6 +348,7 @@ test_get_start_time_of_current_run(void *arg)
+ /* Next test is testing it without a consensus to use the testing voting
+ * interval . */
+ UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+
+ /* Now let's alter the voting schedule and check the correctness of the
+ * function. Voting interval of 10 seconds, means that an SRV protocol run
+@@ -366,8 +380,8 @@ test_get_start_time_functions(void *arg)
+ (void) arg;
+ int retval;
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ retval = parse_rfc1123_time("Mon, 20 Apr 2015 01:00:00 UTC",
+ &mock_consensus.fresh_until);
+@@ -388,7 +402,7 @@ test_get_start_time_functions(void *arg)
+ start_time_of_protocol_run);
+
+ done:
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ static void
+--
+2.25.1
+
diff --git a/projects/tor/0002-tests-Fix-unit-tests-after-merge-of-40237.patch b/projects/tor/0002-tests-Fix-unit-tests-after-merge-of-40237.patch
new file mode 100644
index 0000000..32e6812
--- /dev/null
+++ b/projects/tor/0002-tests-Fix-unit-tests-after-merge-of-40237.patch
@@ -0,0 +1,97 @@
+From 10acc0ce99283ed0aa5c6c5d203f1b0514e60f4a Mon Sep 17 00:00:00 2001
+From: David Goulet <dgoulet(a)torproject.org>
+Date: Tue, 12 Jan 2021 10:50:01 -0500
+Subject: [PATCH 2/3] tests: Fix unit tests after merge of #40237
+
+
+diff --git a/src/test/test_hs_cache.c b/src/test/test_hs_cache.c
+index 379f23ec72..df96b2c791 100644
+--- a/src/test/test_hs_cache.c
++++ b/src/test/test_hs_cache.c
+@@ -590,8 +590,8 @@ test_client_cache_decrypt(void *arg)
+ /* Initialize HSDir cache subsystem */
+ hs_init();
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* Set consensus time */
+ parse_rfc1123_time("Sat, 26 Oct 1985 13:00:00 UTC",
+@@ -646,7 +646,7 @@ test_client_cache_decrypt(void *arg)
+
+ hs_free_all();
+
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ static void
+@@ -660,8 +660,8 @@ test_client_cache_remove(void *arg)
+
+ hs_init();
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* Set consensus time. Lookup will not return the entry if it has expired
+ * and it is checked against the consensus valid_after time. */
+@@ -699,7 +699,7 @@ test_client_cache_remove(void *arg)
+ hs_descriptor_free(desc1);
+ hs_free_all();
+
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ struct testcase_t hs_cache[] = {
+diff --git a/src/test/test_hs_client.c b/src/test/test_hs_client.c
+index fd84293dc2..0cd7d81eea 100644
+--- a/src/test/test_hs_client.c
++++ b/src/test/test_hs_client.c
+@@ -1122,8 +1122,8 @@ test_close_intro_circuits_cache_clean(void *arg)
+
+ /* This is needed because of the client cache expiration timestamp is based
+ * on having a consensus. See cached_client_descriptor_has_expired(). */
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ /* Set consensus time */
+ parse_rfc1123_time("Sat, 26 Oct 1985 13:00:00 UTC",
+@@ -1188,7 +1188,7 @@ test_close_intro_circuits_cache_clean(void *arg)
+ hs_descriptor_free(desc1);
+ hs_free_all();
+ rend_cache_free_all();
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ }
+
+ static void
+@@ -1209,8 +1209,8 @@ test_socks_hs_errors(void *arg)
+
+ (void) arg;
+
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+ MOCK(connection_mark_unattached_ap_,
+ mock_connection_mark_unattached_ap_no_close);
+ MOCK(read_file_to_str, mock_read_file_to_str);
+@@ -1358,7 +1358,7 @@ test_socks_hs_errors(void *arg)
+
+ hs_free_all();
+
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ UNMOCK(connection_mark_unattached_ap_);
+ UNMOCK(read_file_to_str);
+ UNMOCK(tor_listdir);
+--
+2.25.1
+
diff --git a/projects/tor/0003-Pick-up-merge-conflict-resolutions.patch b/projects/tor/0003-Pick-up-merge-conflict-resolutions.patch
new file mode 100644
index 0000000..dcc8b52
--- /dev/null
+++ b/projects/tor/0003-Pick-up-merge-conflict-resolutions.patch
@@ -0,0 +1,82 @@
+From 2deca96cb8836a95095354cc717e1738f10b8ce1 Mon Sep 17 00:00:00 2001
+From: Matthew Finkel <sysrqb(a)torproject.org>
+Date: Mon, 1 Feb 2021 21:03:54 +0000
+Subject: [PATCH 3/3] Pick up merge conflict resolutions
+
+
+diff --git a/src/feature/hs/hs_service.c b/src/feature/hs/hs_service.c
+index 2f3f45f252..c29f39c6b4 100644
+--- a/src/feature/hs/hs_service.c
++++ b/src/feature/hs/hs_service.c
+@@ -3192,6 +3192,9 @@ should_service_upload_descriptor(const hs_service_t *service,
+ /* Don't upload desc if we don't have a live consensus */
+ if (!networkstatus_get_reasonably_live_consensus(now,
+ usable_consensus_flavor())) {
++ msg = tor_strdup("No reasonably live consensus");
++ log_cant_upload_desc(service, desc, msg,
++ LOG_DESC_UPLOAD_REASON_NO_LIVE_CONSENSUS);
+ goto cannot;
+ }
+
+diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c
+index 630cfef1fe..8b94bb6cf1 100644
+--- a/src/test/test_hs_service.c
++++ b/src/test/test_hs_service.c
+@@ -91,9 +91,10 @@ mock_networkstatus_get_reasonably_live_consensus(time_t now, int flavor)
+ }
+
+ static networkstatus_t *
+-mock_networkstatus_get_live_consensus_null(time_t now)
++mock_networkstatus_get_reasonably_live_consensus_null(time_t now, int flavor)
+ {
+ (void) now;
++ (void) flavor;
+ return NULL;
+ }
+
+@@ -2554,8 +2555,8 @@ test_cannot_upload_descriptors(void *arg)
+ hs_init();
+ MOCK(get_or_state,
+ get_or_state_replacement);
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+
+ dummy_state = or_state_new();
+
+@@ -2631,17 +2632,17 @@ test_cannot_upload_descriptors(void *arg)
+
+ /* 4. Testing missing live consensus. */
+ {
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus_null);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus_null);
+ setup_full_capture_of_logs(LOG_INFO);
+ run_upload_descriptor_event(now);
+ expect_log_msg_containing(
+ "Service [scrubbed] can't upload its current descriptor: "
+- "No live consensus");
++ "No reasonably live consensus");
+ teardown_capture_of_logs();
+ /* Reset. */
+- MOCK(networkstatus_get_live_consensus,
+- mock_networkstatus_get_live_consensus);
++ MOCK(networkstatus_get_reasonably_live_consensus,
++ mock_networkstatus_get_reasonably_live_consensus);
+ }
+
+ /* 5. Test missing minimum directory information. */
+@@ -2680,7 +2681,7 @@ test_cannot_upload_descriptors(void *arg)
+ done:
+ hs_free_all();
+ UNMOCK(count_desc_circuit_established);
+- UNMOCK(networkstatus_get_live_consensus);
++ UNMOCK(networkstatus_get_reasonably_live_consensus);
+ UNMOCK(get_or_state);
+ }
+
+--
+2.25.1
+
diff --git a/projects/tor/build b/projects/tor/build
index c7e9190..219301a 100644
--- a/projects/tor/build
+++ b/projects/tor/build
@@ -93,6 +93,10 @@ openssldir=/var/tmp/dist/openssl/openssl
[% END %]
cd /var/tmp/build/[% project %]-[% c('version') %]
+# Patch Tor 0.4.4.6 with the fix for tpo/core/tor#40237
+patch -p1 < $rootdir/0001-hs-v3-Require-reasonably-live-consensus.patch
+patch -p1 < $rootdir/0002-tests-Fix-unit-tests-after-merge-of-40237.patch
+patch -p1 < $rootdir/0003-Pick-up-merge-conflict-resolutions.patch
# add git hash to micro-revision.i for #24995
echo '"[% c("abbrev", { abbrev_length => 16 }) %]"' > micro-revision.i
./autogen.sh
diff --git a/projects/tor/config b/projects/tor/config
index 3050d7d..1a53d39 100644
--- a/projects/tor/config
+++ b/projects/tor/config
@@ -68,3 +68,6 @@ input_files:
- name: zstd
project: zstd
enable: '[% c("var/android") %]'
+ - filename: '0001-hs-v3-Require-reasonably-live-consensus.patch'
+ - filename: '0002-tests-Fix-unit-tests-after-merge-of-40237.patch'
+ - filename: '0003-Pick-up-merge-conflict-resolutions.patch'
1
0
commit 2c784b891a3f8d8bafe7dd40cd4349342b5792bb
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Feb 2 08:21:42 2021 +0000
Bump NoScript version to 11.2
---
projects/tor-browser/config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/tor-browser/config b/projects/tor-browser/config
index 4111d63..b5b4470 100644
--- a/projects/tor-browser/config
+++ b/projects/tor-browser/config
@@ -78,9 +78,9 @@ input_files:
enable: '[% c("var/snowflake") && ! c("var/android") %]'
- filename: Bundle-Data
enable: '[% ! c("var/android") %]'
- - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
+ - URL: https://addons.cdn.mozilla.net/user-media/addons/722/noscript_security_suit…
name: noscript
- sha256sum: 5f68a63637e286433089aeb3b6a0aa930317dd988184876b5d6dcff2ca07bb34
+ sha256sum: 4258bcd0bcdfc8ecb231d250e3adf1c477a1a672ede74a5cd10ba05a5381babb
- filename: 'RelativeLink/start-tor-browser.desktop'
enable: '[% c("var/linux") %]'
- filename: 'RelativeLink/execdesktop'
1
0

[tor-browser-build/master] Bump HTTPS Everywhere version to 2021.1.27
by gk@torproject.org 02 Feb '21
by gk@torproject.org 02 Feb '21
02 Feb '21
commit fb8c34548414ab3208e7e01a46a711220fc52684
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Feb 2 08:19:59 2021 +0000
Bump HTTPS Everywhere version to 2021.1.27
---
projects/https-everywhere/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/projects/https-everywhere/config b/projects/https-everywhere/config
index 255d36f..5ef51dd 100644
--- a/projects/https-everywhere/config
+++ b/projects/https-everywhere/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2020.11.17
+version: 2021.1.27
git_url: https://git.torproject.org/https-everywhere.git
git_hash: '[% c("version") %]'
git_submodule: 1
1
0

02 Feb '21
commit e71d7141310186fe22078d0971a21d67c470153d
Author: Matthew Finkel <sysrqb(a)torproject.org>
Date: Tue Feb 2 05:53:51 2021 +0000
Bug 40214: Update AMO Collection URL
---
tools/fetch_allowed_addons.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/fetch_allowed_addons.py b/tools/fetch_allowed_addons.py
index 065e490..ff82537 100755
--- a/tools/fetch_allowed_addons.py
+++ b/tools/fetch_allowed_addons.py
@@ -31,7 +31,7 @@ def patch_https_everywhere(addons):
def main(argv):
amo_collection = argv[0] if argv else '83a9cccfe6e24a34bd7b155ff9ee32'
- url = 'https://addons.mozilla.org/api/v4/accounts/account/mozilla/collections/' + amo_collection + '/addons/'
+ url = 'https://services.addons.mozilla.org/api/v4/accounts/account/mozilla/collect…' + amo_collection + '/addons/'
data = json.loads(fetch(url))
fetch_and_embed_icons(data)
patch_https_everywhere(data)
1
0
commit 9dc29fad2c6ab245f8519c1528b50b95647f2dc2
Author: Georg Koppen <gk(a)torproject.org>
Date: Tue Feb 2 08:17:26 2021 +0000
Update allowed_addons.json
---
projects/tor-browser/allowed_addons.json | 278 +++++++++++++++----------------
1 file changed, 139 insertions(+), 139 deletions(-)
diff --git a/projects/tor-browser/allowed_addons.json b/projects/tor-browser/allowed_addons.json
index e9e5d9d..ad64dea 100644
--- a/projects/tor-browser/allowed_addons.json
+++ b/projects/tor-browser/allowed_addons.json
@@ -12,12 +12,12 @@
{
"id": 13299734,
"name": "Alexander Shutau",
- "url": "https://addons.mozilla.org/en-US/android/user/13299734/",
+ "url": "https://addons.mozilla.org/en-US/firefox/user/13299734/",
"username": "alexanderby",
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/13/13299/13299734.png?mo…"
}
],
- "average_daily_users": 566381,
+ "average_daily_users": 577081,
"categories": {
"android": [
"experimental",
@@ -54,7 +54,7 @@
"platform": "all",
"size": 518564,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3712931/dark_reader-4.9.2…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3712931/dark_reader-4.9.2…",
"permissions": [
"storage",
"tabs",
@@ -237,12 +237,12 @@
"category": "recommended"
},
"ratings": {
- "average": 4.5614,
- "bayesian_average": 4.5597207572687815,
- "count": 3258,
- "text_count": 1077
+ "average": 4.5585,
+ "bayesian_average": 4.556835213074099,
+ "count": 3293,
+ "text_count": 1090
},
- "ratings_url": "https://addons.mozilla.org/en-US/android/addon/darkreader/reviews/",
+ "ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/reviews/",
"requires_payment": false,
"review_url": "https://addons.mozilla.org/en-US/reviewers/review/855413",
"slug": "darkreader",
@@ -335,8 +335,8 @@
"theme"
],
"type": "extension",
- "url": "https://addons.mozilla.org/en-US/android/addon/darkreader/",
- "weekly_downloads": 25282
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/darkreader/",
+ "weekly_downloads": 26593
},
"notes": null
},
@@ -347,12 +347,12 @@
{
"id": 5474073,
"name": "EFF Technologists",
- "url": "https://addons.mozilla.org/en-US/android/user/5474073/",
+ "url": "https://addons.mozilla.org/en-US/firefox/user/5474073/",
"username": "eff-technologists",
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/5/5474/5474073.png?modif…"
}
],
- "average_daily_users": 739840,
+ "average_daily_users": 743583,
"categories": {
"firefox": [
"privacy-security"
@@ -361,7 +361,7 @@
"contributions_url": "https://www.paypal.me/SupportEFF?utm_content=product-page-contribute&utm_me…",
"created": "2010-09-16T15:09:10Z",
"current_version": {
- "id": 5135114,
+ "id": 5172099,
"compatibility": {
"firefox": {
"min": "42.0",
@@ -372,19 +372,19 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/https-everywhere/versions…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/https-everywhere/versions…",
"files": [
{
- "id": 3679479,
- "created": "2020-11-16T23:33:04Z",
- "hash": "sha256:a6ebcb0a05607e54e7a9fc0b5b3832eda6f13f8dce2ee802164a455919e385c9",
+ "id": 3716461,
+ "created": "2021-01-28T01:33:53Z",
+ "hash": "sha256:da049748bba7282c0f8c0ab85ac8f494e795e79d6bdc6f9f726d687aa8cc2a1f",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 1745655,
+ "size": 1748610,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3679479/https_everywhere-…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3716461/https_everywhere-…",
"permissions": [
"webNavigation",
"webRequest",
@@ -405,13 +405,13 @@
"name": {
"en-US": "Multiple"
},
- "url": "https://addons.mozilla.org/en-US/android/addon/https-everywhere/license/202…"
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/license/202…"
},
"release_notes": {
- "en-US": "* Copy URL ability in EASE interstitial\n* Dependapot NPM updates\n* CRX distribution scripts for transparency for Edge and Opera\n* Port inclusion on allowlist for EASE\n* UI change to reflect a global setting"
+ "en-US": "2021.1.27\n* EASE Mode UI Changes\n* NPM Dependency updates\n* Geckodriver pull update\n* Chromedriver pull update\n* Integrate CSS Grid for Options Page and EASE UI\n* Put Options in new tab"
},
"reviewed": null,
- "version": "2020.11.17"
+ "version": "2021.1.27"
},
"default_locale": "en-US",
"description": {
@@ -447,7 +447,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2020-11-17T09:09:47Z",
+ "last_updated": "2021-01-28T11:24:44Z",
"name": {
"de": "HTTPS Everywhere",
"en-US": "HTTPS Everywhere",
@@ -482,12 +482,12 @@
"category": "recommended"
},
"ratings": {
- "average": 4.6133,
- "bayesian_average": 4.610763496975475,
- "count": 2185,
+ "average": 4.6136,
+ "bayesian_average": 4.611070111786746,
+ "count": 2197,
"text_count": 554
},
- "ratings_url": "https://addons.mozilla.org/en-US/android/addon/https-everywhere/reviews/",
+ "ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/https-everywhere/reviews/",
"requires_payment": false,
"review_url": "https://addons.mozilla.org/en-US/reviewers/review/229918",
"slug": "https-everywhere",
@@ -518,7 +518,7 @@
],
"type": "extension",
"url": "https://www.eff.org/https-everywhere",
- "weekly_downloads": 17897
+ "weekly_downloads": 18225
},
"notes": null
},
@@ -529,12 +529,12 @@
{
"id": 6937656,
"name": "Thomas Rientjes",
- "url": "https://addons.mozilla.org/en-US/android/user/6937656/",
+ "url": "https://addons.mozilla.org/en-US/firefox/user/6937656/",
"username": "Synzvato",
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/6/6937/6937656.png?modif…"
}
],
- "average_daily_users": 202121,
+ "average_daily_users": 204179,
"categories": {
"android": [
"security-privacy"
@@ -569,7 +569,7 @@
"platform": "all",
"size": 6857292,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3672658/decentraleyes-2.0…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3672658/decentraleyes-2.0…",
"permissions": [
"*://*/*",
"privacy",
@@ -747,12 +747,12 @@
"category": "recommended"
},
"ratings": {
- "average": 4.8002,
- "bayesian_average": 4.7954104566041265,
- "count": 1211,
- "text_count": 306
+ "average": 4.801,
+ "bayesian_average": 4.796215721212788,
+ "count": 1216,
+ "text_count": 307
},
- "ratings_url": "https://addons.mozilla.org/en-US/android/addon/decentraleyes/reviews/",
+ "ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/reviews/",
"requires_payment": false,
"review_url": "https://addons.mozilla.org/en-US/reviewers/review/521554",
"slug": "decentraleyes",
@@ -844,8 +844,8 @@
"tracking"
],
"type": "extension",
- "url": "https://addons.mozilla.org/en-US/android/addon/decentraleyes/",
- "weekly_downloads": 6066
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/decentraleyes/",
+ "weekly_downloads": 6199
},
"notes": null
},
@@ -856,12 +856,12 @@
{
"id": 5474073,
"name": "EFF Technologists",
- "url": "https://addons.mozilla.org/en-US/android/user/5474073/",
+ "url": "https://addons.mozilla.org/en-US/firefox/user/5474073/",
"username": "eff-technologists",
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/5/5474/5474073.png?modif…"
}
],
- "average_daily_users": 976267,
+ "average_daily_users": 988059,
"categories": {
"android": [
"security-privacy"
@@ -896,7 +896,7 @@
"platform": "all",
"size": 1277059,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3691765/privacy_badger-20…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3691765/privacy_badger-20…",
"permissions": [
"tabs",
"http://*/*",
@@ -1405,12 +1405,12 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7834,
- "bayesian_average": 4.780097856300104,
- "count": 1750,
- "text_count": 413
+ "average": 4.7854,
+ "bayesian_average": 4.7821169191877395,
+ "count": 1766,
+ "text_count": 412
},
- "ratings_url": "https://addons.mozilla.org/en-US/android/addon/privacy-badger17/reviews/",
+ "ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/reviews/",
"requires_payment": false,
"review_url": "https://addons.mozilla.org/en-US/reviewers/review/506646",
"slug": "privacy-badger17",
@@ -1426,8 +1426,8 @@
},
"tags": [],
"type": "extension",
- "url": "https://addons.mozilla.org/en-US/android/addon/privacy-badger17/",
- "weekly_downloads": 38261
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-badger17/",
+ "weekly_downloads": 39655
},
"notes": null
},
@@ -1438,12 +1438,12 @@
{
"id": 11423598,
"name": "Raymond Hill",
- "url": "https://addons.mozilla.org/en-US/android/user/11423598/",
+ "url": "https://addons.mozilla.org/en-US/firefox/user/11423598/",
"username": "gorhill",
"picture_url": null
}
],
- "average_daily_users": 4971335,
+ "average_daily_users": 4974716,
"categories": {
"android": [
"security-privacy"
@@ -1455,30 +1455,30 @@
"contributions_url": "",
"created": "2015-04-25T07:26:22Z",
"current_version": {
- "id": 5156717,
+ "id": 5174693,
"compatibility": {
"firefox": {
- "min": "55.0",
+ "min": "57.0",
"max": "*"
},
"android": {
- "min": "55.0",
+ "min": "57.0",
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/51…",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/ublock-origin/versions/51…",
"files": [
{
- "id": 3701081,
- "created": "2020-12-29T13:58:02Z",
- "hash": "sha256:5b94fd7f749319a6ff6d83dd20b05b29e733446465aff2ab7669499a3e8fb9cc",
+ "id": 3719054,
+ "created": "2021-02-01T14:04:16Z",
+ "hash": "sha256:5c3a5ef6f5b5475895053238026360020d6793b05541d20032ea9dd1c9cae451",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 2748800,
+ "size": 2742973,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3701081/ublock_origin-1.3…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3719054/ublock_origin-1.3…",
"permissions": [
"dns",
"menus",
@@ -1534,10 +1534,10 @@
"url": "http://www.gnu.org/licenses/gpl-3.0.html"
},
"release_notes": {
- "en-US": "<a href=\"https://outgoing.prod.mozaws.net/v1/9fa7d3c9ad42a6b694799cc29274f9b7089f1e6…" rel=\"nofollow\">Complete release notes</a>.\n\n<b>Closed as fixed:</b>\n\n<ul><li><a href=\"https://outgoing.prod.mozaws.net/v1/396d45d7f82e1bf630b3f16ab1f6be4d60ae2d0…" rel=\"nofollow\">Problems with asterisk in the destination of hostname-based rules</a></li></ul>\n<a href=\"https://outgoing.prod.mozaws.net/v1/345396c53b050d1081014dc73d56f95d30eb255…" rel=\"nofollow\">Commits history since 1.32.2</a>."
+ "en-US": "<a href=\"https://outgoing.prod.mozaws.net/v1/a24fd1d9a1598d49cdc2cdc6d3ecd4359712543…" rel=\"nofollow\">Complete release notes</a>.\n\n<b>Closed as fixed:</b>\n\n<ul><li><a href=\"https://outgoing.prod.mozaws.net/v1/0e94bcfacc284b39a3164377711e52b9ded21cd…" rel=\"nofollow\">After downgrading to 1.32.4, uBO is broken</a></li><li><a href=\"https://outgoing.prod.mozaws.net/v1/88ab9531e629dc0a259dbe61b357b13316fa1a9…" rel=\"nofollow\">Whitelisting a site on Chromium Edge still blocks resources fetched by service worker</a></li></ul>\n<a href=\"https://outgoing.prod.mozaws.net/v1/35c6fcff904629a7392564335b09eb1fe5f661f…" rel=\"nofollow
\">Commits history since 1.33.0</a>."
},
"reviewed": null,
- "version": "1.32.4"
+ "version": "1.33.2"
},
"default_locale": "en-US",
"description": {
@@ -1627,7 +1627,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-01-22T14:50:11Z",
+ "last_updated": "2021-02-02T00:55:07Z",
"name": {
"ar": "uBlock Origin",
"bg": "uBlock Origin",
@@ -1772,12 +1772,12 @@
"category": "recommended"
},
"ratings": {
- "average": 4.7336,
- "bayesian_average": 4.733167443332824,
- "count": 13208,
- "text_count": 4402
+ "average": 4.7334,
+ "bayesian_average": 4.732968759522842,
+ "count": 13285,
+ "text_count": 4420
},
- "ratings_url": "https://addons.mozilla.org/en-US/android/addon/ublock-origin/reviews/",
+ "ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/reviews/",
"requires_payment": false,
"review_url": "https://addons.mozilla.org/en-US/reviewers/review/607454",
"slug": "ublock-origin",
@@ -1828,8 +1828,8 @@
},
"tags": [],
"type": "extension",
- "url": "https://addons.mozilla.org/en-US/android/addon/ublock-origin/",
- "weekly_downloads": 118274
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/",
+ "weekly_downloads": 124198
},
"notes": null
},
@@ -1840,12 +1840,12 @@
{
"id": 11797710,
"name": "JanH",
- "url": "https://addons.mozilla.org/en-US/android/user/11797710/",
+ "url": "https://addons.mozilla.org/en-US/firefox/user/11797710/",
"username": "JanH",
"picture_url": null
}
],
- "average_daily_users": 55478,
+ "average_daily_users": 58394,
"categories": {
"android": [
"photos-media"
@@ -1876,7 +1876,7 @@
"platform": "all",
"size": 11927,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3630185/videowiedergabe_i…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3630185/videowiedergabe_i…",
"permissions": [
"*://*.youtube.com/*",
"*://*.youtube-nocookie.com/*",
@@ -1958,12 +1958,12 @@
"category": "recommended"
},
"ratings": {
- "average": 4.5087,
- "bayesian_average": 4.503205611529312,
- "count": 979,
- "text_count": 369
+ "average": 4.5107,
+ "bayesian_average": 4.505196681975634,
+ "count": 983,
+ "text_count": 372
},
- "ratings_url": "https://addons.mozilla.org/en-US/android/addon/video-background-play-fix/re…",
+ "ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/re…",
"requires_payment": false,
"review_url": "https://addons.mozilla.org/en-US/reviewers/review/811592",
"slug": "video-background-play-fix",
@@ -1985,8 +1985,8 @@
"youtube"
],
"type": "extension",
- "url": "https://addons.mozilla.org/en-US/android/addon/video-background-play-fix/",
- "weekly_downloads": 59
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/video-background-play-fix/",
+ "weekly_downloads": 32
},
"notes": null
},
@@ -1997,12 +1997,12 @@
{
"id": 12808157,
"name": "cowlicks",
- "url": "https://addons.mozilla.org/en-US/android/user/12808157/",
+ "url": "https://addons.mozilla.org/en-US/firefox/user/12808157/",
"username": "cowlicks",
"picture_url": null
}
],
- "average_daily_users": 95688,
+ "average_daily_users": 95533,
"categories": {
"android": [
"experimental",
@@ -2038,7 +2038,7 @@
"platform": "all",
"size": 284724,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3360398/privacy_possum-20…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3360398/privacy_possum-20…",
"permissions": [
"tabs",
"http://*/*",
@@ -2141,12 +2141,12 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4829,
- "bayesian_average": 4.46463504208983,
- "count": 292,
- "text_count": 82
+ "average": 4.4864,
+ "bayesian_average": 4.468197845946811,
+ "count": 294,
+ "text_count": 83
},
- "ratings_url": "https://addons.mozilla.org/en-US/android/addon/privacy-possum/reviews/",
+ "ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/reviews/",
"requires_payment": false,
"review_url": "https://addons.mozilla.org/en-US/reviewers/review/953945",
"slug": "privacy-possum",
@@ -2168,8 +2168,8 @@
"tracking"
],
"type": "extension",
- "url": "https://addons.mozilla.org/en-US/android/addon/privacy-possum/",
- "weekly_downloads": 1591
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/privacy-possum/",
+ "weekly_downloads": 1565
},
"notes": null
},
@@ -2180,12 +2180,12 @@
{
"id": 12929064,
"name": "Armin Sebastian",
- "url": "https://addons.mozilla.org/en-US/android/user/12929064/",
+ "url": "https://addons.mozilla.org/en-US/firefox/user/12929064/",
"username": "dessant",
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/12/12929/12929064.png?mo…"
}
],
- "average_daily_users": 161350,
+ "average_daily_users": 166133,
"categories": {
"android": [
"photos-media",
@@ -2222,7 +2222,7 @@
"platform": "all",
"size": 639916,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3702070/search_by_image-3…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3702070/search_by_image-3…",
"permissions": [
"contextMenus",
"storage",
@@ -2407,12 +2407,12 @@
"category": "recommended"
},
"ratings": {
- "average": 4.6609,
- "bayesian_average": 4.653940298348592,
- "count": 805,
- "text_count": 168
+ "average": 4.6601,
+ "bayesian_average": 4.653207694902121,
+ "count": 815,
+ "text_count": 169
},
- "ratings_url": "https://addons.mozilla.org/en-US/android/addon/search_by_image/reviews/",
+ "ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/reviews/",
"requires_payment": false,
"review_url": "https://addons.mozilla.org/en-US/reviewers/review/824288",
"slug": "search_by_image",
@@ -2444,8 +2444,8 @@
"yandex"
],
"type": "extension",
- "url": "https://addons.mozilla.org/en-US/android/addon/search_by_image/",
- "weekly_downloads": 8564
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/search_by_image/",
+ "weekly_downloads": 8603
},
"notes": null
},
@@ -2456,19 +2456,19 @@
{
"id": 13394925,
"name": "Thomas Wisniewski",
- "url": "https://addons.mozilla.org/en-US/android/user/13394925/",
+ "url": "https://addons.mozilla.org/en-US/firefox/user/13394925/",
"username": "wisniewskit",
"picture_url": null
},
{
"id": 6084813,
"name": "Rob W",
- "url": "https://addons.mozilla.org/en-US/android/user/6084813/",
+ "url": "https://addons.mozilla.org/en-US/firefox/user/6084813/",
"username": "RobW",
"picture_url": null
}
],
- "average_daily_users": 32912,
+ "average_daily_users": 35051,
"categories": {
"android": [
"other"
@@ -2499,7 +2499,7 @@
"platform": "all",
"size": 13786,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3655036/google_search_fix…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3655036/google_search_fix…",
"permissions": [
"webRequest",
"webRequestBlocking",
@@ -2750,12 +2750,12 @@
"category": "recommended"
},
"ratings": {
- "average": 4.4419,
- "bayesian_average": 4.436303974414219,
- "count": 946,
- "text_count": 254
+ "average": 4.4383,
+ "bayesian_average": 4.432747479528366,
+ "count": 956,
+ "text_count": 257
},
- "ratings_url": "https://addons.mozilla.org/en-US/android/addon/google-search-fixer/reviews/",
+ "ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/reviews/",
"requires_payment": false,
"review_url": "https://addons.mozilla.org/en-US/reviewers/review/869140",
"slug": "google-search-fixer",
@@ -2771,8 +2771,8 @@
},
"tags": [],
"type": "extension",
- "url": "https://addons.mozilla.org/en-US/android/addon/google-search-fixer/",
- "weekly_downloads": 53
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/google-search-fixer/",
+ "weekly_downloads": 60
},
"notes": null
},
@@ -2783,12 +2783,12 @@
{
"id": 143,
"name": "Giorgio Maone",
- "url": "https://addons.mozilla.org/en-US/android/user/143/",
+ "url": "https://addons.mozilla.org/en-US/firefox/user/143/",
"username": "giorgio-maone",
"picture_url": "https://addons.cdn.mozilla.net/user-media/userpics/0/0/143.png?modified=150…"
}
],
- "average_daily_users": 410215,
+ "average_daily_users": 408584,
"categories": {
"android": [
"performance",
@@ -2802,7 +2802,7 @@
"contributions_url": "https://www.paypal.me/NoScript?utm_content=product-page-contribute&utm_medi…",
"created": "2005-05-13T10:51:32Z",
"current_version": {
- "id": 5166141,
+ "id": 5171142,
"compatibility": {
"firefox": {
"min": "59.0",
@@ -2813,19 +2813,19 @@
"max": "*"
}
},
- "edit_url": "https://addons.mozilla.org/en-US/developers/addon/noscript/versions/5166141",
+ "edit_url": "https://addons.mozilla.org/en-US/developers/addon/noscript/versions/5171142",
"files": [
{
- "id": 3710503,
- "created": "2021-01-17T22:30:16Z",
- "hash": "sha256:5f68a63637e286433089aeb3b6a0aa930317dd988184876b5d6dcff2ca07bb34",
+ "id": 3715504,
+ "created": "2021-01-26T20:49:20Z",
+ "hash": "sha256:4258bcd0bcdfc8ecb231d250e3adf1c477a1a672ede74a5cd10ba05a5381babb",
"is_restart_required": false,
"is_webextension": true,
"is_mozilla_signed_extension": false,
"platform": "all",
- "size": 600156,
+ "size": 601909,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3710503/noscript_security…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3715504/noscript_security…",
"permissions": [
"contextMenus",
"storage",
@@ -2872,10 +2872,10 @@
"url": "http://www.gnu.org/licenses/gpl-2.0.html"
},
"release_notes": {
- "en-US": "v 11.1.9\n============================================================\nx Return null when webgl is not allowed (thanks Matthew \n Finkel for patch)\nx [XSS] Fixed memoization bug resulting in performance \n degradation on some payloads\nx [XSS] Include call stack in debugging log output\nx [XSS] Skip naps when InjectionChecker runs in its own \n worker\nx Shortcut for easier XSS filter testing\nx More lenient filter to add a new entry to per-site \n permissions\nx [L10n] Updated de\nx Replace script-embedded bitmap with css-embedded SVG as \n the placeholder logo\nx Updated TLDs\nx Remove source map reference causing console noise\nx Fix per-site permissions UI glitches when base domain is \n added to existing subdomain (thanks barbaz for reporting)"
+ "en-US": "v 11.2\n============================================================\nx [XSS] New UI to reveal and selectively remove permanent\n user choices\nx [L10n] Updated de\nx Webgl hook refactored on nscl/content/patchWindow.js and\n made Chromium-compatibile\nx Updated TLDs"
},
"reviewed": null,
- "version": "11.1.9"
+ "version": "11.2"
},
"default_locale": "en-US",
"description": {
@@ -2925,7 +2925,7 @@
},
"is_disabled": false,
"is_experimental": false,
- "last_updated": "2021-01-19T08:35:13Z",
+ "last_updated": "2021-01-27T09:23:29Z",
"name": {
"de": "NoScript",
"el": "NoScript",
@@ -3013,12 +3013,12 @@
"category": "recommended"
},
"ratings": {
- "average": 4.5416,
- "bayesian_average": 4.540012526012674,
- "count": 3429,
- "text_count": 2367
+ "average": 4.5411,
+ "bayesian_average": 4.53951064079964,
+ "count": 3434,
+ "text_count": 2369
},
- "ratings_url": "https://addons.mozilla.org/en-US/android/addon/noscript/reviews/",
+ "ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/reviews/",
"requires_payment": false,
"review_url": "https://addons.mozilla.org/en-US/reviewers/review/722",
"slug": "noscript",
@@ -3071,8 +3071,8 @@
"xss"
],
"type": "extension",
- "url": "https://addons.mozilla.org/en-US/android/addon/noscript/",
- "weekly_downloads": 11292
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/noscript/",
+ "weekly_downloads": 10673
},
"notes": null
},
@@ -3083,12 +3083,12 @@
{
"id": 4010195,
"name": "Baris Derin",
- "url": "https://addons.mozilla.org/en-US/android/user/4010195/",
+ "url": "https://addons.mozilla.org/en-US/firefox/user/4010195/",
"username": "baris-derin",
"picture_url": null
}
],
- "average_daily_users": 127688,
+ "average_daily_users": 128290,
"categories": {
"android": [
"performance",
@@ -3125,7 +3125,7 @@
"platform": "all",
"size": 234528,
"status": "public",
- "url": "https://addons.mozilla.org/android/downloads/file/3635763/youtube_high_defi…",
+ "url": "https://addons.mozilla.org/firefox/downloads/file/3635763/youtube_high_defi…",
"permissions": [
"tabs",
"storage",
@@ -3227,12 +3227,12 @@
"category": "recommended"
},
"ratings": {
- "average": 4.1071,
- "bayesian_average": 4.102893844607107,
- "count": 1148,
- "text_count": 550
+ "average": 4.1125,
+ "bayesian_average": 4.108301527957989,
+ "count": 1156,
+ "text_count": 551
},
- "ratings_url": "https://addons.mozilla.org/en-US/android/addon/youtube-high-definition/revi…",
+ "ratings_url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/revi…",
"requires_payment": false,
"review_url": "https://addons.mozilla.org/en-US/reviewers/review/328839",
"slug": "youtube-high-definition",
@@ -3267,8 +3267,8 @@
"youtube hd"
],
"type": "extension",
- "url": "https://addons.mozilla.org/en-US/android/addon/youtube-high-definition/",
- "weekly_downloads": 1836
+ "url": "https://addons.mozilla.org/en-US/firefox/addon/youtube-high-definition/",
+ "weekly_downloads": 2035
},
"notes": null
}
1
0

[Git][tpo/applications/fenix][tor-browser-86.0.0b1-10.5-1] 8 commits: Bug 40002: Add GitLab CI
by Matthew Finkel 01 Feb '21
by Matthew Finkel 01 Feb '21
01 Feb '21
Matthew Finkel pushed to branch tor-browser-86.0.0b1-10.5-1 at The Tor Project / Applications / fenix
Commits:
96f976b0 by Matthew Finkel at 2021-01-27T16:58:09+00:00
Bug 40002: Add GitLab CI
Pin CI builds to runners with 32GB of RAM to avoid OOM conditions.
- - - - -
3d0def78 by Matthew Finkel at 2021-01-27T16:59:05+00:00
Rename as Tor Browser
Bug 40020: Change applicationId
Bug 40020: Change app name
Bug 40020: Change deeplink scheme
Bug 40020: Change App icons
Bug 40073: Use correct branding on About page
Bug 40088: Use Tor Browser logo in migration screen
- - - - -
ba587e04 by Matthew Finkel at 2021-01-27T16:59:07+00:00
Disable features and functionality
Bug 33594: Disable data collection by default (Glean)
Bug 40019: Adjust is disabled on Release when data collection is disabled
Bug 34338: Disable the crash reporter
Bug 40014: Neuter Google Advertising ID
Bug 40018: Disable Push service
Bug 40034: Disable PWA onboading
Bug 40072: Disable Tracking Protection
Bug 40061: Do not show "Send to device" in sharing menu
- - - - -
248adf05 by Georg Koppen at 2021-01-27T16:59:07+00:00
Modify build system
Bug 40083: Make locale ordering in BuildConfig deterministic
Bug 40042: Add option do overwrite timestamp in extension version
Bug 40059: Use MOZ_BUILD_DATE for versionCode
At the same time we adapt MOZ_BUILD_DATE to our needs where it is
actually used and not in tor-browser-build. This gives us more
flexibility. See: tor-browser-build#40084.
Bug 40067: Fix reproducibility issue in classes2.dex
We make sure our MOZ_BUILD_DATE gets used as a source for showing date
related information on the Fenix about page.
Bug 40071: Show only supported locales
Bug 40064: Use Gecko Beta for Nightly and Debug variants
Bug 40123: Allow building the instrumented tests apks for variants other than debug
This allows to specify the variant of the instrumented tests via
a `testBuildType` gradle argument. It also applies a workaround for
a R8 issue from https://issuetracker.google.com/issues/140851070.
- - - - -
24abe628 by Matthew Finkel at 2021-01-27T17:01:08+00:00
Add Tor integration and UI
Bug 40001: Start Tor as part of the Fenix initialization
Bug 40028: Implement Tor Service controller
Bug 40028: Integrate Tor Controller into HomeFragment
Bug 40028: Implement Tor connect and logger screens
Bug 40028: Implement Tor Onboarding
Bug 40028: Implement new home screen
Bug 40028: Define bootstrapping events and Quick Start
Bug 40041: Implement Tor Network Settings
Bug 40041: Integrate Tor Network Settings
- - - - -
022d1fed by Alex Catarineu at 2021-01-27T17:08:29+00:00
Modify UI/UX
Bug 40015: Modify Home menu
Bug 40016: Hide unwanted Settings
Bug 40016: Modify Default toolbar menu
Bug 40016: Add Donate settings button
Bug 40016: Move Allow Screenshots under Advanced
Bug 40016: Don't install WebCompat webext
Bug 40016: Don't onboard Search Suggestions
Bug 40094: Do not use MasterPasswordTipProvider in HomeFragment
Bug 40095: Hide "Sign in to sync" in bookmarks
Bug 40031: Hide Mozilla-specific items on About page
Bug 40032: Set usesCleartextTraffic as false
Bug 40063: Do not sort search engines alphabetically
Bug 34378: Port external helper app prompting
With the corresponding android-components patch, this allows all `startActivity`
that may open external apps to be replaced by `TorUtils.startActivityPrompt`.
Bug 34403: Disable Normal mode by default
Bug 40087: Implement a switch for english locale spoofing
- - - - -
ab2d00f6 by Alex Catarineu at 2021-01-27T17:10:37+00:00
Modify Add-on support
Bug 40030: Install HTTPS Everywhere and NoScript addons on startup
HTTPS Everywhere is installed as a builtin extension and NoScript as
a regular AMO addon. To avoid unnecessary I/O we only install NoScript
the first time, and rely on the browser addon updating mechanism for
keeping up with new versions. This is the same behaviour that was
implemented in the Fennec-based Tor Browser, where it was installed
as a "distribution addon", which also only occurred once.
Bug 40062: HTTPS Everywhere is not shown as installed
Also 40070: Consider storing the list of recommended addons
This implements our own AddonsProvider, which loads the list of
available addons from assets instead of fetching it from an
endpoint. In this list, we replace https-everywhere by
our https-everywhere-eff, so that the EFF one is shown as installed
in the addons list and the AMO one is not displayed.
Also, we hide the uninstall button for builtin addons.
Bug 40058: Hide option for disallowing addon in private mode
- - - - -
d95db65d by Matthew Finkel at 2021-02-01T16:24:37+00:00
Add Security Level UI
Bug 40026: Implement Security Level settings
Bug 40026: Integrate Security Level settings
- - - - -
30 changed files:
- + .gitlab-ci.yml
- app/build.gradle
- app/proguard-rules.pro
- app/src/androidTest/java/org/mozilla/fenix/ui/robots/SettingsSubMenuAboutRobot.kt
- − app/src/beta/res/drawable/ic_launcher_foreground.xml
- app/src/beta/res/mipmap-hdpi/ic_launcher.png
- app/src/beta/res/mipmap-mdpi/ic_launcher.png
- app/src/beta/res/mipmap-xhdpi/ic_launcher.png
- app/src/beta/res/mipmap-xxhdpi/ic_launcher.png
- app/src/beta/res/mipmap-xxxhdpi/ic_launcher.png
- app/src/beta/res/values/static_strings.xml
- app/src/beta/res/xml/shortcuts.xml
- − app/src/debug/res/drawable/ic_launcher_foreground.xml
- app/src/debug/res/xml/shortcuts.xml
- app/src/main/AndroidManifest.xml
- + app/src/main/assets/allowed_addons.json
- app/src/main/java/org/mozilla/fenix/FeatureFlags.kt
- app/src/main/java/org/mozilla/fenix/FenixApplication.kt
- app/src/main/java/org/mozilla/fenix/HomeActivity.kt
- app/src/main/java/org/mozilla/fenix/addons/InstalledAddonDetailsFragment.kt
- app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt
- app/src/main/java/org/mozilla/fenix/components/Analytics.kt
- app/src/main/java/org/mozilla/fenix/components/Components.kt
- app/src/main/java/org/mozilla/fenix/components/Core.kt
- + app/src/main/java/org/mozilla/fenix/components/TorAddonCollectionProvider.kt
- + app/src/main/java/org/mozilla/fenix/components/TorBrowserFeatures.kt
- app/src/main/java/org/mozilla/fenix/components/metrics/AdjustMetricsService.kt
- app/src/main/java/org/mozilla/fenix/components/metrics/MetricsUtils.kt
- app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
- app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt
The diff was not included because it is too large.
View it on GitLab: https://gitlab.torproject.org/tpo/applications/fenix/-/compare/0e6b466e02b0…
--
View it on GitLab: https://gitlab.torproject.org/tpo/applications/fenix/-/compare/0e6b466e02b0…
You're receiving this email because of your account on gitlab.torproject.org.
1
0

01 Feb '21
commit 52ba09265002299e7fcba1f181c1656c372dbbc1
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Sun Jan 31 22:57:20 2021 +0100
Bug 40221: Add tools/prune-old-builds
This script was already present in the directory
tools/ansible/roles/tbb-nightly-build/files, however this directory will
soon be removed as part of #40196.
---
tools/prune-old-builds | 136 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 136 insertions(+)
diff --git a/tools/prune-old-builds b/tools/prune-old-builds
new file mode 100755
index 0000000..852a9da
--- /dev/null
+++ b/tools/prune-old-builds
@@ -0,0 +1,136 @@
+#!/usr/bin/perl -w
+
+# Copyright (c) 2019, The Tor Project, Inc.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+#
+# * Neither the names of the copyright owners nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+# 'prune-old-builds' is a script to prune old builds.
+#
+#
+# Usage:
+# $ ./prune-old-builds [options] <directory>
+#
+#
+# Available options:
+#
+# --dry-run
+# Don't delete anything, but say what would be deleted.
+#
+# --prefix <prefix>
+# Prefix of the directories to be removed. Default is 'tbb-nightly.'.
+#
+# --separator <c>
+# Separator character to separate the year, month, day in the directory
+# names. Default is '.'.
+#
+# --days <n>
+# Number of days that we should keep. Default is 6.
+#
+# --weeks <n>
+# Number of monday builds that we should keep. Default is 3.
+#
+# --months <n>
+# Number of 1st day of the month builds that we should keep.
+# Default is 3.
+
+use strict;
+use Getopt::Long;
+use DateTime;
+use DateTime::Duration;
+use File::Path qw(remove_tree);
+
+my %options = (
+ days => 6,
+ weeks => 3,
+ months => 3,
+ prefix => 'tbb-nightly.',
+ separator => '.',
+);
+
+sub keep_builds {
+ my %res;
+
+ my $day = DateTime::Duration->new(days => 1);
+ my $week = DateTime::Duration->new(weeks => 1);
+ my $month = DateTime::Duration->new(months => 1);
+
+ my $n = $options{days};
+ my $dt = DateTime->now;
+ while ($n) {
+ $res{ $options{prefix} . $dt->ymd($options{separator}) } = 1;
+ $dt = $dt - $day;
+ $n--;
+ }
+
+ my $w = $options{weeks};
+ while ($dt->day_of_week != 1) {
+ $dt = $dt - $day;
+ }
+ while ($w) {
+ $res{ $options{prefix} . $dt->ymd($options{separator}) } = 1;
+ $dt = $dt - $week;
+ $w--;
+ }
+
+ my $m = $options{months};
+ $dt = DateTime->now;
+ while ($dt->day != 1) {
+ $dt = $dt - $day;
+ }
+ while ($m) {
+ $res{ $options{prefix} . $dt->ymd($options{separator}) } = 1;
+ $dt = $dt - $month;
+ $m--;
+ }
+
+ return \%res;
+}
+
+sub clean_directory {
+ my ($directory) = @_;
+ my $k = keep_builds;
+ chdir $directory || die "Error entering $directory";
+ foreach my $file (glob "$options{prefix}*") {
+ next unless $file =~ m/^$options{prefix}\d{4}$options{separator}\d{2}$options{separator}\d{2}$/;
+ next if $k->{$file};
+ if ($options{'dry-run'}) {
+ print "Would remove $file\n";
+ } else {
+ remove_tree($file);
+ }
+ }
+}
+
+my @opts = qw(days=i weeks=i months=i prefix=s dry-run!);
+Getopt::Long::GetOptions(\%options, @opts);
+die "Missing argument: directory to clean" unless @ARGV;
+foreach my $dir (@ARGV) {
+ clean_directory($dir);
+}
1
0

[tor-browser/tor-browser-86.0b1-10.5-1] Bug 16940: After update, load local change notes.
by gk@torproject.org 30 Jan '21
by gk@torproject.org 30 Jan '21
30 Jan '21
commit 89072a2d6e3104124a017ed590d3edb7d9c030ee
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 | 12 +++
browser/actors/AboutTBUpdateParent.jsm | 120 +++++++++++++++++++++
browser/actors/moz.build | 6 ++
.../base/content/abouttbupdate/aboutTBUpdate.css | 74 +++++++++++++
.../base/content/abouttbupdate/aboutTBUpdate.js | 27 +++++
.../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 | 15 +++
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 +
toolkit/modules/RemotePageAccessManager.jsm | 5 +
17 files changed, 373 insertions(+), 16 deletions(-)
diff --git a/browser/actors/AboutTBUpdateChild.jsm b/browser/actors/AboutTBUpdateChild.jsm
new file mode 100644
index 000000000000..4670da19b3db
--- /dev/null
+++ b/browser/actors/AboutTBUpdateChild.jsm
@@ -0,0 +1,12 @@
+// Copyright (c) 2020, 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 { RemotePageChild } = ChromeUtils.import(
+ "resource://gre/actors/RemotePageChild.jsm"
+);
+
+class AboutTBUpdateChild extends RemotePageChild {}
diff --git a/browser/actors/AboutTBUpdateParent.jsm b/browser/actors/AboutTBUpdateParent.jsm
new file mode 100644
index 000000000000..56a10394565a
--- /dev/null
+++ b/browser/actors/AboutTBUpdateParent.jsm
@@ -0,0 +1,120 @@
+// Copyright (c) 2020, The Tor Project, Inc.
+// See LICENSE for licensing information.
+//
+// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
+
+"use strict";
+
+this.EXPORTED_SYMBOLS = ["AboutTBUpdateParent"];
+
+const { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
+const { NetUtil } = ChromeUtils.import("resource://gre/modules/NetUtil.jsm");
+const { AppConstants } = ChromeUtils.import(
+ "resource://gre/modules/AppConstants.jsm"
+);
+
+const kRequestUpdateMessageName = "FetchUpdateData";
+
+/**
+ * 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.
+ */
+class AboutTBUpdateParent extends JSWindowActorParent {
+ receiveMessage(aMessage) {
+ if (aMessage.name == kRequestUpdateMessageName) {
+ return this.releaseNoteInfo;
+ }
+ return undefined;
+ }
+
+ 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 = { moreInfoURL: this.moreInfoURL };
+
+ try {
+ let f;
+ if (AppConstants.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/.
+ f = Services.dirsvc.get("XREExeF", Ci.nsIFile).parent;
+ if (AppConstants.platform === "macosx") {
+ f = f.parent;
+ f.append("Resources");
+ }
+ f.append("TorBrowser");
+ } else {
+ // "DefProfRt" is .../TorBrowser/Data/Browser
+ f = Services.dirsvc.get("DefProfRt", Ci.nsIFile);
+ f = f.parent.parent; // Remove "Data/Browser"
+ }
+
+ 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/actors/moz.build b/browser/actors/moz.build
index 3952d5a95246..229f7290b98e 100644
--- a/browser/actors/moz.build
+++ b/browser/actors/moz.build
@@ -87,3 +87,9 @@ FINAL_TARGET_FILES.actors += [
"WebRTCChild.jsm",
"WebRTCParent.jsm",
]
+
+if CONFIG["TOR_BROWSER_UPDATE"]:
+ FINAL_TARGET_FILES.actors += [
+ "AboutTBUpdateChild.jsm",
+ "AboutTBUpdateParent.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..ec070e2cb131
--- /dev/null
+++ b/browser/base/content/abouttbupdate/aboutTBUpdate.js
@@ -0,0 +1,27 @@
+// Copyright (c) 2020, The Tor Project, Inc.
+// See LICENSE for licensing information.
+//
+// vim: set sw=2 sts=2 ts=8 et syntax=javascript:
+
+/* eslint-env mozilla/frame-script */
+
+// aData may contain the following string properties:
+// version
+// releaseDate
+// moreInfoURL
+// releaseNotes
+function onUpdate(aData) {
+ document.getElementById("version-content").textContent = aData.version;
+ if (aData.releaseDate) {
+ document.body.setAttribute("havereleasedate", "true");
+ document.getElementById("releasedate-content").textContent =
+ aData.releaseDate;
+ }
+ if (aData.moreInfoURL) {
+ document.getElementById("infolink").setAttribute("href", aData.moreInfoURL);
+ }
+ document.getElementById("releasenotes-content").textContent =
+ aData.releaseNotes;
+}
+
+RPMSendQuery("FetchUpdateData").then(onUpdate);
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 5850d7ceb4c2..9cf2ff85cbbd 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.
*/
- _secureInternalPages: /^(?:accounts|addons|cache|certificate|config|crashes|downloads|license|logins|preferences|protections|rights|sessionrestore|support|welcomeback|ion)(?:[?#]|$)/i,
+ _secureInternalPages: (AppConstants.TOR_BROWSER_UPDATE ? /^(?:accounts|addons|cache|certificate|config|crashes|downloads|license|logins|preferences|protections|rights|sessionrestore|support|welcomeback|ion|tor|tbupdate)(?:[?#]|$)/i : /^(?:accounts|addons|cache|certificate|config|crashes|downloads|license|logins|preferences|protections|rights|sessionrestore|support|welcomeback|ion|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 2d7341287566..5ad00bdddb30 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -658,6 +658,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 471544f6b7f7..d6c9e31c2c95 100644
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -31,6 +31,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 0a37ca088ca0..ab63c16087f0 100644
--- a/browser/components/BrowserContentHandler.jsm
+++ b/browser/components/BrowserContentHandler.jsm
@@ -652,6 +652,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 = "";
@@ -703,6 +720,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(
@@ -722,6 +749,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.readyUpdate) {
@@ -794,20 +835,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 ebc52d19e48d..d04fdda538de 100644
--- a/browser/components/BrowserGlue.jsm
+++ b/browser/components/BrowserGlue.jsm
@@ -730,6 +730,21 @@ let JSWINDOWACTORS = {
},
};
+if (AppConstants.TOR_BROWSER_UPDATE) {
+ JSWINDOWACTORS["AboutTBUpdate"] = {
+ parent: {
+ moduleURI: "resource:///actors/AboutTBUpdateParent.jsm",
+ },
+ child: {
+ moduleURI: "resource:///actors/AboutTBUpdateChild.jsm",
+ events: {
+ DOMWindowCreated: { capture: true },
+ },
+ },
+ matches: ["about:tbupdate"],
+ };
+}
+
(function earlyBlankFirstPaint() {
let startTime = Cu.now();
if (
diff --git a/browser/components/about/AboutRedirector.cpp b/browser/components/about/AboutRedirector.cpp
index 9fb93eddaab2..bc1eaaae25c1 100644
--- a/browser/components/about/AboutRedirector.cpp
+++ b/browser/components/about/AboutRedirector.cpp
@@ -121,6 +121,12 @@ static const RedirEntry kRedirMap[] = {
nsIAboutModule::URI_CAN_LOAD_IN_PRIVILEGEDABOUT_PROCESS},
{"ion", "chrome://browser/content/ion.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 42011d509481..56731d70c386 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 78fce1bfb464..7e7b928d757d 100644
--- a/browser/components/moz.build
+++ b/browser/components/moz.build
@@ -88,11 +88,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 6000f3b48c01..2aecae56bdca 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/browser.properties (%chrome/browser/browser.properties)
locale/browser/customizableui/customizableWidgets.properties (%chrome/browser/customizableui/customizableWidgets.properties)
diff --git a/toolkit/modules/RemotePageAccessManager.jsm b/toolkit/modules/RemotePageAccessManager.jsm
index 4d16894f1164..877aa998dd4e 100644
--- a/toolkit/modules/RemotePageAccessManager.jsm
+++ b/toolkit/modules/RemotePageAccessManager.jsm
@@ -192,6 +192,11 @@ let RemotePageAccessManager = {
RPMAddMessageListener: ["*"],
RPMRemoveMessageListener: ["*"],
},
+ "about:tbupdate": {
+ RPMSendQuery: [
+ "FetchUpdateData",
+ ],
+ },
},
/**
1
0

[tor-browser/tor-browser-86.0b1-10.5-1] Bug 23104: Add a default line height compensation
by gk@torproject.org 30 Jan '21
by gk@torproject.org 30 Jan '21
30 Jan '21
commit 55151f69fe02715e35cb649ccc70cfac67e555f8
Author: Igor Oliveira <igor.oliveira(a)posteo.net>
Date: Sun Dec 10 18:16:59 2017 -0200
Bug 23104: Add a default line height compensation
Many fonts have issues with their vertical metrics. they
are used to influence the height of ascenders and depth
of descenders. Gecko uses it to calculate the line height
(font height + ascender + descender), however because of
that idiosyncratic behavior across multiple operating
systems, it can be used to identify the user's OS.
The solution proposed in the patch uses a default factor
to be multiplied with the font size, simulating the concept
of ascender and descender. This way all operating
systems will have the same line height only and only if the
frame is outside the chrome.
---
layout/generic/ReflowInput.cpp | 19 +++++++++---
layout/generic/test/mochitest.ini | 1 +
layout/generic/test/test_tor_bug23104.html | 50 ++++++++++++++++++++++++++++++
3 files changed, 65 insertions(+), 5 deletions(-)
diff --git a/layout/generic/ReflowInput.cpp b/layout/generic/ReflowInput.cpp
index fb78c89e913b..60fdc5023d5e 100644
--- a/layout/generic/ReflowInput.cpp
+++ b/layout/generic/ReflowInput.cpp
@@ -31,6 +31,7 @@
#include "mozilla/SVGUtils.h"
#include "mozilla/dom/HTMLInputElement.h"
#include "nsGridContainerFrame.h"
+#include "nsContentUtils.h"
using namespace mozilla;
using namespace mozilla::css;
@@ -2666,7 +2667,8 @@ void ReflowInput::CalculateBlockSideMargins(LayoutFrameType aFrameType) {
// For risk management, we use preference to control the behavior, and
// eNoExternalLeading is the old behavior.
-static nscoord GetNormalLineHeight(nsFontMetrics* aFontMetrics) {
+static nscoord GetNormalLineHeight(nsIContent* aContent,
+ nsFontMetrics* aFontMetrics) {
MOZ_ASSERT(nullptr != aFontMetrics, "no font metrics");
nscoord normalLineHeight;
@@ -2674,6 +2676,12 @@ static nscoord GetNormalLineHeight(nsFontMetrics* aFontMetrics) {
nscoord externalLeading = aFontMetrics->ExternalLeading();
nscoord internalLeading = aFontMetrics->InternalLeading();
nscoord emHeight = aFontMetrics->EmHeight();
+
+ if (nsContentUtils::ShouldResistFingerprinting() &&
+ !aContent->IsInChromeDocument()) {
+ return NSToCoordRound(emHeight * NORMAL_LINE_HEIGHT_FACTOR);
+ }
+
switch (GetNormalLineHeightCalcControl()) {
case eIncludeExternalLeading:
normalLineHeight = emHeight + internalLeading + externalLeading;
@@ -2691,7 +2699,8 @@ static nscoord GetNormalLineHeight(nsFontMetrics* aFontMetrics) {
return normalLineHeight;
}
-static inline nscoord ComputeLineHeight(ComputedStyle* aComputedStyle,
+static inline nscoord ComputeLineHeight(nsIContent* aContent,
+ ComputedStyle* aComputedStyle,
nsPresContext* aPresContext,
nscoord aBlockBSize,
float aFontSizeInflation) {
@@ -2720,7 +2729,7 @@ static inline nscoord ComputeLineHeight(ComputedStyle* aComputedStyle,
RefPtr<nsFontMetrics> fm = nsLayoutUtils::GetFontMetricsForComputedStyle(
aComputedStyle, aPresContext, aFontSizeInflation);
- return GetNormalLineHeight(fm);
+ return GetNormalLineHeight(aContent, fm);
}
nscoord ReflowInput::CalcLineHeight() const {
@@ -2742,7 +2751,7 @@ nscoord ReflowInput::CalcLineHeight(nsIContent* aContent,
float aFontSizeInflation) {
MOZ_ASSERT(aComputedStyle, "Must have a ComputedStyle");
- nscoord lineHeight = ComputeLineHeight(aComputedStyle, aPresContext,
+ nscoord lineHeight = ComputeLineHeight(aContent, aComputedStyle, aPresContext,
aBlockBSize, aFontSizeInflation);
NS_ASSERTION(lineHeight >= 0, "ComputeLineHeight screwed up");
@@ -2755,7 +2764,7 @@ nscoord ReflowInput::CalcLineHeight(nsIContent* aContent,
if (!lh.IsNormal()) {
RefPtr<nsFontMetrics> fm = nsLayoutUtils::GetFontMetricsForComputedStyle(
aComputedStyle, aPresContext, aFontSizeInflation);
- nscoord normal = GetNormalLineHeight(fm);
+ nscoord normal = GetNormalLineHeight(aContent, fm);
if (lineHeight < normal) {
lineHeight = normal;
}
diff --git a/layout/generic/test/mochitest.ini b/layout/generic/test/mochitest.ini
index 2d61b5dae990..93d7d9ae1fb9 100644
--- a/layout/generic/test/mochitest.ini
+++ b/layout/generic/test/mochitest.ini
@@ -150,3 +150,4 @@ skip-if = debug == true || tsan # the test is slow. tsan: bug 1612707
support-files =
file_reframe_for_lazy_load_image.html
[test_bug1655135.html]
+[test_tor_bug23104.html]
diff --git a/layout/generic/test/test_tor_bug23104.html b/layout/generic/test/test_tor_bug23104.html
new file mode 100644
index 000000000000..8ff1d2190c45
--- /dev/null
+++ b/layout/generic/test/test_tor_bug23104.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML>
+<meta charset="UTF-8">
+<html>
+<head>
+ <title>Test for Tor Bug #23104: CSS line-height reveals the platform Tor browser is running</title>
+ <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+ <script type="application/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
+ <style type="text/css">
+ span {
+ background-color: #000;
+ color: #fff;
+ font-size: 16.5px;
+ }
+ </style>
+</head>
+<body>
+<span id="test1">Test1</span>
+<span id="test2">كلمة</span>
+<span id="test3">ação</span>
+<script>
+
+let setPref = async function (key, value) {
+ await SpecialPowers.pushPrefEnv({"set": [[key, value]]});
+}
+
+function getStyle(el, styleprop) {
+ el = document.getElementById(el);
+ return document.defaultView.getComputedStyle(el, null).getPropertyValue(styleprop);
+}
+
+function validateElement(elementName, isFingerprintResistent) {
+ var fontSize = getStyle(elementName, 'font-size');
+ var lineHeight = getStyle(elementName, 'line-height');
+ var validationCb = isFingerprintResistent ? is : isnot;
+ validationCb(parseFloat(lineHeight), Math.round(parseFloat(fontSize)) * 1.2, 'Line Height validation');
+}
+
+add_task(async function() {
+ await setPref("layout.css.line-height.normal-as-resolved-value.enabled", false);
+ for (let resistFingerprintingValue of [true, false]) {
+ await setPref("privacy.resistFingerprinting", resistFingerprintingValue);
+ for (let elementId of ['test1', 'test2', 'test3']) {
+ validateElement(elementId, resistFingerprintingValue);
+ }
+ }
+});
+
+</script>
+</body>
+</html>
1
0

[tor-browser/tor-browser-86.0b1-10.5-1] Bug 16285: Exclude ClearKey system for now
by gk@torproject.org 30 Jan '21
by gk@torproject.org 30 Jan '21
30 Jan '21
commit 7c1f1640d2165bd7dd752014021165dcd56a7ee5
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon May 22 12:44:40 2017 +0000
Bug 16285: Exclude ClearKey system for now
In the past the ClearKey system had not been compiled when specifying
--disable-eme. But that changed and it is even bundled nowadays (see:
Mozilla's bug 1300654). We don't want to ship it right now as the use
case for it is not really visible while the code had security
vulnerabilities in the past.
---
browser/installer/package-manifest.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index f40210cc51cb..0929e113ea71 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -464,8 +464,8 @@ bin/libfreebl_64int_3.so
#endif
; media
-@RESPATH@/gmp-clearkey/0.1/@DLL_PREFIX@clearkey@DLL_SUFFIX@
-@RESPATH@/gmp-clearkey/0.1/manifest.json
+;@RESPATH@/gmp-clearkey/0.1/@DLL_PREFIX@clearkey@DLL_SUFFIX@
+;@RESPATH@/gmp-clearkey/0.1/manifest.json
#ifdef MOZ_DMD
; DMD
1
0

[tor-browser/tor-browser-86.0b1-10.5-1] Bug 21830: Copying large text from web console leaks to /tmp
by gk@torproject.org 30 Jan '21
by gk@torproject.org 30 Jan '21
30 Jan '21
commit 2e819c45ed8babc860c17255b6bdd7a00fd27f1c
Author: Georg Koppen <gk(a)torproject.org>
Date: Fri Aug 4 05:55:49 2017 +0000
Bug 21830: Copying large text from web console leaks to /tmp
Patch written by Neill Miller
---
widget/nsTransferable.cpp | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/widget/nsTransferable.cpp b/widget/nsTransferable.cpp
index c82549a4d1d1..f8ecfbff0983 100644
--- a/widget/nsTransferable.cpp
+++ b/widget/nsTransferable.cpp
@@ -33,6 +33,7 @@ Notes to self:
#include "nsILoadContext.h"
#include "nsXULAppAPI.h"
#include "mozilla/UniquePtr.h"
+#include "mozilla/Preferences.h"
using namespace mozilla;
@@ -195,6 +196,11 @@ nsTransferable::Init(nsILoadContext* aContext) {
if (aContext) {
mPrivateData = aContext->UsePrivateBrowsing();
+ } else {
+ // without aContext here to provide PrivateBrowsing information,
+ // we defer to the active configured setting
+ mPrivateData =
+ mozilla::Preferences::GetBool("browser.privatebrowsing.autostart");
}
#ifdef DEBUG
mInitialized = true;
1
0

[tor-browser/tor-browser-86.0b1-10.5-1] Bug 21431: Clean-up system extensions shipped in Firefox
by gk@torproject.org 30 Jan '21
by gk@torproject.org 30 Jan '21
30 Jan '21
commit 5200db21b8d525acc6d33361cd9706e4ceb6cb45
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue May 23 17:05:29 2017 -0400
Bug 21431: Clean-up system extensions shipped in Firefox
Only ship the pdfjs extension.
---
browser/components/BrowserGlue.jsm | 6 ++++++
browser/extensions/moz.build | 2 +-
browser/installer/package-manifest.in | 1 -
browser/locales/Makefile.in | 8 --------
browser/locales/jar.mn | 7 -------
5 files changed, 7 insertions(+), 17 deletions(-)
diff --git a/browser/components/BrowserGlue.jsm b/browser/components/BrowserGlue.jsm
index d04fdda538de..5ed564a0f25e 100644
--- a/browser/components/BrowserGlue.jsm
+++ b/browser/components/BrowserGlue.jsm
@@ -2141,6 +2141,9 @@ BrowserGlue.prototype = {
const ID = "screenshots(a)mozilla.org";
const _checkScreenshotsPref = async () => {
let addon = await AddonManager.getAddonByID(ID);
+ if (!addon) {
+ return;
+ }
let disabled = Services.prefs.getBoolPref(PREF, false);
if (disabled) {
await addon.disable({ allowSystemAddons: true });
@@ -2157,6 +2160,9 @@ BrowserGlue.prototype = {
const ID = "webcompat-reporter(a)mozilla.org";
Services.prefs.addObserver(PREF, async () => {
let addon = await AddonManager.getAddonByID(ID);
+ if (!addon) {
+ return;
+ }
let enabled = Services.prefs.getBoolPref(PREF, false);
if (enabled && !addon.isActive) {
await addon.enable({ allowSystemAddons: true });
diff --git a/browser/extensions/moz.build b/browser/extensions/moz.build
index df98fa94f629..8b16ddc4a84a 100644
--- a/browser/extensions/moz.build
+++ b/browser/extensions/moz.build
@@ -4,7 +4,7 @@
# 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/.
-DIRS += ["doh-rollout", "formautofill", "screenshots", "webcompat", "report-site-issue"]
+DIRS += []
if not CONFIG["TOR_BROWSER_DISABLE_TOR_LAUNCHER"]:
DIRS += ["tor-launcher"]
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
index 0929e113ea71..eaedee212386 100644
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -272,7 +272,6 @@
@RESPATH@/browser/chrome/icons/default/default64.png
@RESPATH@/browser/chrome/icons/default/default128.png
#endif
-@RESPATH@/browser/features/*
; [DevTools Startup Files]
@RESPATH@/browser/chrome/devtools-startup@JAREXT@
diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
index 496379c4306f..0946188813da 100644
--- a/browser/locales/Makefile.in
+++ b/browser/locales/Makefile.in
@@ -58,10 +58,6 @@ l10n-%:
@$(MAKE) -C ../../toolkit/locales l10n-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$*
-ifneq (,$(wildcard ../extensions/formautofill/locales))
- @$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
-endif
- @$(MAKE) -C ../extensions/report-site-issue/locales AB_CD=$* XPI_NAME=locale-$*
@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) -C ../../devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
@$(MAKE) l10n AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
@@ -75,14 +71,10 @@ chrome-%:
@$(MAKE) -C ../../toolkit/locales chrome-$*
@$(MAKE) -C ../../services/sync/locales chrome AB_CD=$*
@$(MAKE) -C ../../extensions/spellcheck/locales chrome AB_CD=$*
-ifneq (,$(wildcard ../extensions/formautofill/locales))
- @$(MAKE) -C ../extensions/formautofill/locales chrome AB_CD=$*
-endif
@$(MAKE) -C ../../devtools/client/locales chrome AB_CD=$*
@$(MAKE) -C ../../devtools/startup/locales chrome AB_CD=$*
@$(MAKE) chrome AB_CD=$*
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
- @$(MAKE) -C ../extensions/report-site-issue/locales chrome AB_CD=$*
package-win32-installer: $(SUBMAKEFILES)
$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen ZIP_IN='$(ZIP_OUT)' installer
diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn
index 2aecae56bdca..934205ce6e15 100644
--- a/browser/locales/jar.mn
+++ b/browser/locales/jar.mn
@@ -53,10 +53,3 @@
locale/browser/newInstall.dtd (%chrome/browser/newInstall.dtd)
locale/browser/brandings.dtd (%chrome/browser/brandings.dtd)
locale/browser/fxmonitor.properties (%chrome/browser/fxmonitor.properties)
-
-#ifdef XPI_NAME
-# Bug 1240628, restructure how l10n repacks work with feature addons
-# This is hacky, but ensures the chrome.manifest chain is complete
-[.] chrome.jar:
-% manifest features/chrome.manifest
-#endif
1
0

[tor-browser/tor-browser-86.0b1-10.5-1] Bug 25658: Replace security slider with security level UI
by gk@torproject.org 30 Jan '21
by gk@torproject.org 30 Jan '21
30 Jan '21
commit 488d6021eb3f6dee519ed7bcd88436205b064faf
Author: Richard Pospesel <richard(a)torproject.org>
Date: Mon Mar 4 16:09:51 2019 -0800
Bug 25658: Replace security slider with security level UI
This patch adds a new 'securitylevel' component to Tor Browser intended
to replace the torbutton 'Security Slider'.
This component adds a new Security Level toolbar button which visually
indicates the current global security level via icon (as defined by the
extensions.torbutton.security_slider pref), a drop-down hanger with a
short description of the current security level, and a new section in
the about:preferences#privacy page where users can change their current
security level. In addition, the hanger and the preferences page will
show a visual warning when the user has modified prefs associated with
the security level and provide a one-click 'Restore Defaults' button to
get the user back on recommended settings.
Strings used by this patch are pulled from the torbutton extension, but
en-US defaults are provided if there is an error loading from the
extension. With this patch applied, the usual work-flow of "./mach build
&& ./mach run" work as expected, even if the torbutton extension is
disabled.
---
browser/base/content/browser.js | 10 +
browser/base/content/browser.xhtml | 5 +
browser/components/moz.build | 1 +
browser/components/preferences/preferences.xhtml | 1 +
browser/components/preferences/privacy.inc.xhtml | 2 +
browser/components/preferences/privacy.js | 19 +
.../securitylevel/content/securityLevel.js | 501 +++++++++++++++++++++
.../securitylevel/content/securityLevelButton.css | 9 +
.../content/securityLevelButton.inc.xhtml | 7 +
.../securitylevel/content/securityLevelButton.svg | 21 +
.../securitylevel/content/securityLevelPanel.css | 82 ++++
.../content/securityLevelPanel.inc.xhtml | 38 ++
.../content/securityLevelPreferences.css | 26 ++
.../content/securityLevelPreferences.inc.xhtml | 62 +++
browser/components/securitylevel/jar.mn | 6 +
browser/components/securitylevel/moz.build | 1 +
16 files changed, 791 insertions(+)
diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js
index 5ad00bdddb30..aa4542889d9a 100644
--- a/browser/base/content/browser.js
+++ b/browser/base/content/browser.js
@@ -213,6 +213,11 @@ XPCOMUtils.defineLazyScriptGetter(
["DownloadsButton", "DownloadsIndicatorView"],
"chrome://browser/content/downloads/indicator.js"
);
+XPCOMUtils.defineLazyScriptGetter(
+ this,
+ ["SecurityLevelButton"],
+ "chrome://browser/content/securitylevel/securityLevel.js"
+);
XPCOMUtils.defineLazyScriptGetter(
this,
"gEditItemOverlay",
@@ -1811,6 +1816,9 @@ var gBrowserInit = {
// doesn't flicker as the window is being shown.
DownloadsButton.init();
+ // Init the SecuritySettingsButton
+ SecurityLevelButton.init();
+
// Certain kinds of automigration rely on this notification to complete
// their tasks BEFORE the browser window is shown. SessionStore uses it to
// restore tabs into windows AFTER important parts like gMultiProcessBrowser
@@ -2490,6 +2498,8 @@ var gBrowserInit = {
DownloadsButton.uninit();
+ SecurityLevelButton.uninit();
+
gAccessibilityServiceIndicator.uninit();
if (gToolbarKeyNavEnabled) {
diff --git a/browser/base/content/browser.xhtml b/browser/base/content/browser.xhtml
index 6898bdad1007..d33310813d4f 100644
--- a/browser/base/content/browser.xhtml
+++ b/browser/base/content/browser.xhtml
@@ -20,6 +20,8 @@
<?xml-stylesheet href="chrome://browser/content/browser.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/content/tabbrowser.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/content/downloads/downloads.css" type="text/css"?>
+<?xml-stylesheet href="chrome://browser/content/securitylevel/securityLevelPanel.css"?>
+<?xml-stylesheet href="chrome://browser/content/securitylevel/securityLevelButton.css"?>
<?xml-stylesheet href="chrome://browser/content/places/places.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/content/usercontext/usercontext.css" type="text/css"?>
<?xml-stylesheet href="chrome://browser/skin/" type="text/css"?>
@@ -644,6 +646,7 @@
#include ../../components/controlcenter/content/protectionsPanel.inc.xhtml
#include ../../components/downloads/content/downloadsPanel.inc.xhtml
#include ../../../devtools/startup/enableDevToolsPopup.inc.xhtml
+#include ../../components/securitylevel/content/securityLevelPanel.inc.xhtml
#include browser-allTabsMenu.inc.xhtml
<hbox id="downloads-animation-container">
@@ -2004,6 +2007,8 @@
</stack>
</toolbarbutton>
+#include ../../components/securitylevel/content/securityLevelButton.inc.xhtml
+
<toolbarbutton id="library-button" class="toolbarbutton-1 chromeclass-toolbar-additional subviewbutton-nav"
removable="true"
onmousedown="PanelUI.showSubView('appMenu-libraryView', this, event);"
diff --git a/browser/components/moz.build b/browser/components/moz.build
index 7e7b928d757d..f4ec78486769 100644
--- a/browser/components/moz.build
+++ b/browser/components/moz.build
@@ -51,6 +51,7 @@ DIRS += [
"protocolhandler",
"resistfingerprinting",
"search",
+ "securitylevel",
"sessionstore",
"shell",
"syncedtabs",
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
index 4b0c351c9185..7464274ac4d7 100644
--- a/browser/components/preferences/preferences.xhtml
+++ b/browser/components/preferences/preferences.xhtml
@@ -12,6 +12,7 @@
<?xml-stylesheet href="chrome://browser/skin/preferences/search.css"?>
<?xml-stylesheet href="chrome://browser/skin/preferences/containers.css"?>
<?xml-stylesheet href="chrome://browser/skin/preferences/privacy.css"?>
+<?xml-stylesheet href="chrome://browser/content/securitylevel/securityLevelPreferences.css"?>
<!DOCTYPE html>
diff --git a/browser/components/preferences/privacy.inc.xhtml b/browser/components/preferences/privacy.inc.xhtml
index 09d66e136d81..96f7a021f645 100644
--- a/browser/components/preferences/privacy.inc.xhtml
+++ b/browser/components/preferences/privacy.inc.xhtml
@@ -924,6 +924,8 @@
<html:h1 data-l10n-id="security-header"/>
</hbox>
+#include ../securitylevel/content/securityLevelPreferences.inc.xhtml
+
<!-- addons, forgery (phishing) UI Security -->
<groupbox id="browsingProtectionGroup" data-category="panePrivacy" hidden="true">
<label><html:h2 data-l10n-id="security-browsing-protection"/></label>
diff --git a/browser/components/preferences/privacy.js b/browser/components/preferences/privacy.js
index 0706f9e8bae9..2827dc8341ee 100644
--- a/browser/components/preferences/privacy.js
+++ b/browser/components/preferences/privacy.js
@@ -80,6 +80,12 @@ XPCOMUtils.defineLazyGetter(this, "AlertsServiceDND", function() {
}
});
+XPCOMUtils.defineLazyScriptGetter(
+ this,
+ ["SecurityLevelPreferences"],
+ "chrome://browser/content/securitylevel/securityLevel.js"
+);
+
XPCOMUtils.defineLazyServiceGetter(
this,
"listManager",
@@ -305,6 +311,18 @@ function setUpContentBlockingWarnings() {
var gPrivacyPane = {
_pane: null,
+ /**
+ * Show the Security Level UI
+ */
+ _initSecurityLevel() {
+ SecurityLevelPreferences.init();
+ let unload = () => {
+ window.removeEventListener("unload", unload);
+ SecurityLevelPreferences.uninit();
+ };
+ window.addEventListener("unload", unload);
+ },
+
/**
* Whether the prompt to restart Firefox should appear when changing the autostart pref.
*/
@@ -516,6 +534,7 @@ var gPrivacyPane = {
this.trackingProtectionReadPrefs();
this.networkCookieBehaviorReadPrefs();
this._initTrackingProtectionExtensionControl();
+ this._initSecurityLevel();
Services.telemetry.setEventRecordingEnabled("pwmgr", true);
diff --git a/browser/components/securitylevel/content/securityLevel.js b/browser/components/securitylevel/content/securityLevel.js
new file mode 100644
index 000000000000..b47d0cfb545e
--- /dev/null
+++ b/browser/components/securitylevel/content/securityLevel.js
@@ -0,0 +1,501 @@
+"use strict";
+
+ChromeUtils.import("resource://gre/modules/XPCOMUtils.jsm");
+ChromeUtils.import("resource://gre/modules/Services.jsm");
+
+XPCOMUtils.defineLazyModuleGetters(this, {
+ CustomizableUI: "resource:///modules/CustomizableUI.jsm",
+ PanelMultiView: "resource:///modules/PanelMultiView.jsm",
+});
+
+ChromeUtils.defineModuleGetter(
+ this,
+ "TorStrings",
+ "resource:///modules/TorStrings.jsm"
+);
+
+/*
+ Security Level Prefs
+
+ Getters and Setters for relevant torbutton prefs
+*/
+const SecurityLevelPrefs = {
+ security_slider_pref : "extensions.torbutton.security_slider",
+ security_custom_pref : "extensions.torbutton.security_custom",
+
+ get securitySlider() {
+ try {
+ return Services.prefs.getIntPref(this.security_slider_pref);
+ } catch(e) {
+ // init pref to 4 (standard)
+ const val = 4;
+ Services.prefs.setIntPref(this.security_slider_pref, val);
+ return val;
+ }
+ },
+
+ set securitySlider(val) {
+ Services.prefs.setIntPref(this.security_slider_pref, val);
+ },
+
+ get securityCustom() {
+ try {
+ return Services.prefs.getBoolPref(this.security_custom_pref);
+ } catch(e) {
+ // init custom to false
+ const val = false;
+ Services.prefs.setBoolPref(this.security_custom_pref, val);
+ return val;
+ }
+ },
+
+ set securityCustom(val) {
+ Services.prefs.setBoolPref(this.security_custom_pref, val);
+ },
+}; /* Security Level Prefs */
+
+/*
+ Security Level Button Code
+
+ Controls init and update of the security level toolbar button
+*/
+
+const SecurityLevelButton = {
+ _securityPrefsBranch : null,
+
+ _populateXUL : function(securityLevelButton) {
+ if (securityLevelButton != null) {
+ securityLevelButton.setAttribute("tooltiptext", TorStrings.securityLevel.securityLevel);
+ securityLevelButton.setAttribute("label", TorStrings.securityLevel.securityLevel);
+ }
+ },
+
+ _configUIFromPrefs : function(securityLevelButton) {
+ if (securityLevelButton != null) {
+ let securitySlider = SecurityLevelPrefs.securitySlider;
+ let classList = securityLevelButton.classList;
+ classList.remove("standard", "safer", "safest");
+ switch(securitySlider) {
+ case 4:
+ classList.add("standard");
+ securityLevelButton.setAttribute("tooltiptext", TorStrings.securityLevel.standard.tooltip);
+ break;
+ case 2:
+ classList.add("safer");
+ securityLevelButton.setAttribute("tooltiptext", TorStrings.securityLevel.safer.tooltip);
+ break;
+ case 1:
+ classList.add("safest");
+ securityLevelButton.setAttribute("tooltiptext", TorStrings.securityLevel.safest.tooltip);
+ break;
+ }
+ }
+ },
+
+ get button() {
+ let button = document.getElementById("security-level-button");
+ if (!button) {
+ return null;
+ }
+ return button;
+ },
+
+ get anchor() {
+ let anchor = this.button.icon;
+ if (!anchor) {
+ return null;
+ }
+
+ anchor.setAttribute("consumeanchor", SecurityLevelButton.button.id);
+ return anchor;
+ },
+
+ init : function() {
+ // set the initial class based off of the current pref
+ let button = this.button;
+ this._populateXUL(button);
+ this._configUIFromPrefs(button);
+
+ this._securityPrefsBranch = Services.prefs.getBranch("extensions.torbutton.");
+ this._securityPrefsBranch.addObserver("", this, false);
+
+ CustomizableUI.addListener(this);
+
+ SecurityLevelPanel.init();
+ },
+
+ uninit : function() {
+ CustomizableUI.removeListener(this);
+
+ this._securityPrefsBranch.removeObserver("", this);
+ this._securityPrefsBranch = null;
+
+ SecurityLevelPanel.uninit();
+ },
+
+ observe : function(subject, topic, data) {
+ switch(topic) {
+ case "nsPref:changed":
+ if (data == "security_slider") {
+ this._configUIFromPrefs(this.button);
+ }
+ break;
+ }
+ },
+
+ // callback for entering the 'Customize Firefox' screen to set icon
+ onCustomizeStart : function(window) {
+ let navigatorToolbox = document.getElementById("navigator-toolbox");
+ let button = navigatorToolbox.palette.querySelector("#security-level-button");
+ this._populateXUL(button);
+ this._configUIFromPrefs(button);
+ },
+
+ // callback when CustomizableUI modifies DOM
+ onWidgetAfterDOMChange : function(aNode, aNextNode, aContainer, aWasRemoval) {
+ if (aNode.id == "security-level-button" && !aWasRemoval) {
+ this._populateXUL(aNode);
+ this._configUIFromPrefs(aNode);
+ }
+ },
+
+ // for when the toolbar button needs to be activated and displays the Security Level panel
+ //
+ // In the toolbarbutton xul you'll notice we register this callback for both onkeypress and
+ // onmousedown. We do this to match the behavior of other panel spawning buttons such as Downloads,
+ // Library, and the Hamburger menus. Using oncommand alone would result in only getting fired
+ // after onclick, which is mousedown followed by mouseup.
+ onCommand : function(aEvent) {
+ // snippet stolen from /browser/components/downloads/indicator.js DownloadsIndicatorView.onCommand(evt)
+ if (
+ (aEvent.type == "mousedown" && aEvent.button != 0) ||
+ (aEvent.type == "keypress" && aEvent.key != " " && aEvent.key != "Enter")
+ ) {
+ return;
+ }
+
+ // we need to set this attribute for the button to be shaded correctly to look like it is pressed
+ // while the security level panel is open
+ this.button.setAttribute("open", "true");
+ SecurityLevelPanel.show();
+ },
+}; /* Security Level Button */
+
+/*
+ Security Level Panel Code
+
+ Controls init and update of the panel in the security level hanger
+*/
+
+const SecurityLevelPanel = {
+ _securityPrefsBranch : null,
+ _panel : null,
+ _anchor : null,
+ _populated : false,
+
+ _populateXUL : function() {
+ // get the panel elements we need to populate
+ let panelview = document.getElementById("securityLevel-panelview");
+ let labelHeader = panelview.querySelector("#securityLevel-header");
+ let labelCustomWarning = panelview.querySelector("#securityLevel-customWarning")
+ let labelLearnMore = panelview.querySelector("#securityLevel-learnMore");
+ let buttonRestoreDefaults = panelview.querySelector("#securityLevel-restoreDefaults");
+ let buttonAdvancedSecuritySettings = panelview.querySelector("#securityLevel-advancedSecuritySettings");
+
+ labelHeader.setAttribute("value", TorStrings.securityLevel.securityLevel);
+ labelCustomWarning.setAttribute("value", TorStrings.securityLevel.customWarning);
+ labelLearnMore.setAttribute("value", TorStrings.securityLevel.learnMore);
+ labelLearnMore.setAttribute("href", TorStrings.securityLevel.learnMoreURL);
+ buttonRestoreDefaults.setAttribute("label", TorStrings.securityLevel.restoreDefaults);
+ buttonAdvancedSecuritySettings.setAttribute("label", TorStrings.securityLevel.advancedSecuritySettings);
+
+ // rest of the XUL is set based on security prefs
+ this._configUIFromPrefs();
+
+ this._populated = true;
+ },
+
+ _configUIFromPrefs : function() {
+ // get security prefs
+ let securitySlider = SecurityLevelPrefs.securitySlider;
+ let securityCustom = SecurityLevelPrefs.securityCustom;
+
+ // get the panel elements we need to populate
+ let panelview = document.getElementById("securityLevel-panelview");
+ let labelLevel = panelview.querySelector("#securityLevel-level");
+ let labelCustomWarning = panelview.querySelector("#securityLevel-customWarning")
+ let summary = panelview.querySelector("#securityLevel-summary");
+ let buttonRestoreDefaults = panelview.querySelector("#securityLevel-restoreDefaults");
+ let buttonAdvancedSecuritySettings = panelview.querySelector("#securityLevel-advancedSecuritySettings");
+
+ // only visible when user is using custom settings
+ labelCustomWarning.hidden = !securityCustom;
+ buttonRestoreDefaults.hidden = !securityCustom;
+
+ // Descriptions change based on security level
+ switch(securitySlider) {
+ // standard
+ case 4:
+ labelLevel.setAttribute("value", TorStrings.securityLevel.standard.level);
+ summary.textContent = TorStrings.securityLevel.standard.summary;
+ break;
+ // safer
+ case 2:
+ labelLevel.setAttribute("value", TorStrings.securityLevel.safer.level);
+ summary.textContent = TorStrings.securityLevel.safer.summary;
+ break;
+ // safest
+ case 1:
+ labelLevel.setAttribute("value", TorStrings.securityLevel.safest.level);
+ summary.textContent = TorStrings.securityLevel.safest.summary;
+ break;
+ }
+
+ // override the summary text with custom warning
+ if (securityCustom) {
+ summary.textContent = TorStrings.securityLevel.custom.summary;
+ }
+ },
+
+ init : function() {
+ this._securityPrefsBranch = Services.prefs.getBranch("extensions.torbutton.");
+ this._securityPrefsBranch.addObserver("", this, false);
+ },
+
+ uninit : function() {
+ this._securityPrefsBranch.removeObserver("", this);
+ this._securityPrefsBranch = null;
+ },
+
+ show : function() {
+ // we have to defer this until after the browser has finished init'ing before
+ // we can populate the panel
+ if (!this._populated) {
+ this._populateXUL();
+ }
+
+ let panel = document.getElementById("securityLevel-panel");
+ panel.hidden = false;
+ PanelMultiView.openPopup(panel, SecurityLevelButton.anchor, "bottomcenter topright",
+ 0, 0, false, null).catch(Cu.reportError);
+ },
+
+ hide : function() {
+ let panel = document.getElementById("securityLevel-panel");
+ PanelMultiView.hidePopup(panel);
+ },
+
+ restoreDefaults : function() {
+ SecurityLevelPrefs.securityCustom = false;
+ // hide and reshow so that layout re-renders properly
+ this.hide();
+ this.show(this._anchor);
+ },
+
+ openAdvancedSecuritySettings : function() {
+ openPreferences("privacy-securitylevel");
+ this.hide();
+ },
+
+ // callback when prefs change
+ observe : function(subject, topic, data) {
+ switch(topic) {
+ case "nsPref:changed":
+ if (data == "security_slider" || data == "security_custom") {
+ this._configUIFromPrefs();
+ }
+ break;
+ }
+ },
+
+ // callback when the panel is displayed
+ onPopupShown : function(event) {
+ SecurityLevelButton.button.setAttribute("open", "true");
+ },
+
+ // callback when the panel is hidden
+ onPopupHidden : function(event) {
+ SecurityLevelButton.button.removeAttribute("open");
+ }
+}; /* Security Level Panel */
+
+/*
+ Security Level Preferences Code
+
+ Code to handle init and update of security level section in about:preferences#privacy
+*/
+
+const SecurityLevelPreferences =
+{
+ _securityPrefsBranch : null,
+
+ _populateXUL : function() {
+ let groupbox = document.getElementById("securityLevel-groupbox");
+
+ let labelHeader = groupbox.querySelector("#securityLevel-header");
+ labelHeader.textContent = TorStrings.securityLevel.securityLevel;
+
+ let spanOverview = groupbox.querySelector("#securityLevel-overview");
+ spanOverview.textContent = TorStrings.securityLevel.overview;
+
+ let labelLearnMore = groupbox.querySelector("#securityLevel-learnMore");
+ labelLearnMore.setAttribute("value", TorStrings.securityLevel.learnMore);
+ labelLearnMore.setAttribute("href", TorStrings.securityLevel.learnMoreURL);
+
+ let radiogroup = document.getElementById("securityLevel-radiogroup");
+ radiogroup.addEventListener("command", SecurityLevelPreferences.selectSecurityLevel);
+
+ let populateRadioElements = function(vboxQuery, stringStruct) {
+ let vbox = groupbox.querySelector(vboxQuery);
+
+ let radio = vbox.querySelector("radio");
+ radio.setAttribute("label", stringStruct.level);
+
+ let customWarning = vbox.querySelector("#securityLevel-customWarning");
+ customWarning.setAttribute("value", TorStrings.securityLevel.customWarning);
+
+ let labelSummary = vbox.querySelector("#securityLevel-summary");
+ labelSummary.textContent = stringStruct.summary;
+
+ let labelRestoreDefaults = vbox.querySelector("#securityLevel-restoreDefaults");
+ labelRestoreDefaults.setAttribute("value", TorStrings.securityLevel.restoreDefaults);
+ labelRestoreDefaults.addEventListener("click", SecurityLevelPreferences.restoreDefaults);
+
+ let description1 = vbox.querySelector("#securityLevel-description1");
+ if (description1) {
+ description1.textContent = stringStruct.description1;
+ }
+ let description2 = vbox.querySelector("#securityLevel-description2");
+ if (description2) {
+ description2.textContent = stringStruct.description2;
+ }
+ let description3 = vbox.querySelector("#securityLevel-description3");
+ if (description3) {
+ description3.textContent = stringStruct.description3;
+ }
+ };
+
+ populateRadioElements("#securityLevel-vbox-standard", TorStrings.securityLevel.standard);
+ populateRadioElements("#securityLevel-vbox-safer", TorStrings.securityLevel.safer);
+ populateRadioElements("#securityLevel-vbox-safest", TorStrings.securityLevel.safest);
+ },
+
+ _configUIFromPrefs : function() {
+ // read our prefs
+ let securitySlider = SecurityLevelPrefs.securitySlider;
+ let securityCustom = SecurityLevelPrefs.securityCustom;
+
+ // get our elements
+ let groupbox = document.getElementById("securityLevel-groupbox");
+
+ let radiogroup = groupbox.querySelector("#securityLevel-radiogroup");
+ let labelStandardCustom = groupbox.querySelector("#securityLevel-vbox-standard label#securityLevel-customWarning");
+ let labelSaferCustom = groupbox.querySelector("#securityLevel-vbox-safer label#securityLevel-customWarning");
+ let labelSafestCustom = groupbox.querySelector("#securityLevel-vbox-safest label#securityLevel-customWarning");
+ let labelStandardRestoreDefaults = groupbox.querySelector("#securityLevel-vbox-standard label#securityLevel-restoreDefaults");
+ let labelSaferRestoreDefaults = groupbox.querySelector("#securityLevel-vbox-safer label#securityLevel-restoreDefaults");
+ let labelSafestRestoreDefaults = groupbox.querySelector("#securityLevel-vbox-safest label#securityLevel-restoreDefaults");
+
+ // hide custom label by default until we know which level we're at
+ labelStandardCustom.hidden = true;
+ labelSaferCustom.hidden = true;
+ labelSafestCustom.hidden = true;
+
+ labelStandardRestoreDefaults.hidden = true;
+ labelSaferRestoreDefaults.hidden = true;
+ labelSafestRestoreDefaults.hidden = true;
+
+ switch(securitySlider) {
+ // standard
+ case 4:
+ radiogroup.value = "standard";
+ labelStandardCustom.hidden = !securityCustom;
+ labelStandardRestoreDefaults.hidden = !securityCustom;
+ break;
+ // safer
+ case 2:
+ radiogroup.value = "safer";
+ labelSaferCustom.hidden = !securityCustom;
+ labelSaferRestoreDefaults.hidden = !securityCustom;
+ break;
+ // safest
+ case 1:
+ radiogroup.value = "safest";
+ labelSafestCustom.hidden = !securityCustom;
+ labelSafestRestoreDefaults.hidden = !securityCustom;
+ break;
+ }
+ },
+
+ init : function() {
+ // populate XUL with localized strings
+ this._populateXUL();
+
+ // read prefs and populate UI
+ this._configUIFromPrefs();
+
+ // register for pref chagnes
+ this._securityPrefsBranch = Services.prefs.getBranch("extensions.torbutton.");
+ this._securityPrefsBranch.addObserver("", this, false);
+ },
+
+ uninit : function() {
+ // unregister for pref change events
+ this._securityPrefsBranch.removeObserver("", this);
+ this._securityPrefsBranch = null;
+ },
+
+ // callback for when prefs change
+ observe : function(subject, topic, data) {
+ switch(topic) {
+ case "nsPref:changed":
+ if (data == "security_slider" ||
+ data == "security_custom") {
+ this._configUIFromPrefs();
+ }
+ break;
+ }
+ },
+
+ selectSecurityLevel : function() {
+ // radio group elements
+ let radiogroup = document.getElementById("securityLevel-radiogroup");
+
+ // update pref based on selected radio option
+ switch (radiogroup.value) {
+ case "standard":
+ SecurityLevelPrefs.securitySlider = 4;
+ break;
+ case "safer":
+ SecurityLevelPrefs.securitySlider = 2;
+ break;
+ case "safest":
+ SecurityLevelPrefs.securitySlider = 1;
+ break;
+ }
+
+ SecurityLevelPreferences.restoreDefaults();
+ },
+
+ restoreDefaults : function() {
+ SecurityLevelPrefs.securityCustom = false;
+ },
+}; /* Security Level Prefereces */
+
+Object.defineProperty(this, "SecurityLevelButton", {
+ value: SecurityLevelButton,
+ enumerable: true,
+ writable: false
+});
+
+Object.defineProperty(this, "SecurityLevelPanel", {
+ value: SecurityLevelPanel,
+ enumerable: true,
+ writable: false
+});
+
+Object.defineProperty(this, "SecurityLevelPreferences", {
+ value: SecurityLevelPreferences,
+ enumerable: true,
+ writable: false
+});
diff --git a/browser/components/securitylevel/content/securityLevelButton.css b/browser/components/securitylevel/content/securityLevelButton.css
new file mode 100644
index 000000000000..81f2365bae28
--- /dev/null
+++ b/browser/components/securitylevel/content/securityLevelButton.css
@@ -0,0 +1,9 @@
+toolbarbutton#security-level-button.standard {
+ list-style-image: url("chrome://browser/content/securitylevel/securityLevelButton.svg#standard");
+}
+toolbarbutton#security-level-button.safer {
+ list-style-image: url("chrome://browser/content/securitylevel/securityLevelButton.svg#safer");
+}
+toolbarbutton#security-level-button.safest {
+ list-style-image: url("chrome://browser/content/securitylevel/securityLevelButton.svg#safest");
+}
diff --git a/browser/components/securitylevel/content/securityLevelButton.inc.xhtml b/browser/components/securitylevel/content/securityLevelButton.inc.xhtml
new file mode 100644
index 000000000000..96ee1ec0ca49
--- /dev/null
+++ b/browser/components/securitylevel/content/securityLevelButton.inc.xhtml
@@ -0,0 +1,7 @@
+<toolbarbutton id="security-level-button" class="toolbarbutton-1 chromeclass-toolbar-additional"
+ badged="true"
+ removable="true"
+ onmousedown="SecurityLevelButton.onCommand(event);"
+ onkeypress="SecurityLevelButton.onCommand(event);"
+ closemenu="none"
+ cui-areatype="toolbar"/>
diff --git a/browser/components/securitylevel/content/securityLevelButton.svg b/browser/components/securitylevel/content/securityLevelButton.svg
new file mode 100644
index 000000000000..8535cdcc531e
--- /dev/null
+++ b/browser/components/securitylevel/content/securityLevelButton.svg
@@ -0,0 +1,21 @@
+<svg width="14px" height="16px" viewBox="0 0 14 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <style>
+ use:not(:target) {
+ display: none;
+ }
+ </style>
+ <defs>
+ <g id="standard_icon" stroke="none" stroke-width="1">
+ <path d="M7.0 2.16583509C7.0 2.16583509 2.0 4.24375717 2.0 4.24375717C2.0 4.24375717 2.0 7.27272727 2.0 7.27272727C2.0 10.2413541 4.13435329 13.0576771 7.0 13.9315843C9.8656467 13.0576771 12.0 10.2413541 12.0 7.27272727C12.0 7.27272727 12.0 4.24375717 12.0 4.24375717C12.0 4.24375717 7.0 2.16583509 7.0 2.16583509C7.0 2.16583509 7.0 2.16583509 7.0 2.16583509M7.0 0.0C7.0 0.0 14.0 2.90909091 14.0 2.90909091C14.0 2.90909091 14.0 7.27272727 14.0 7.27272727C14.0 11.3090909 11.0133333 15.0836364 7.0 16.0C2.98666667 15.0836364 0.0 11.3090909 0.0 7.27272727C0.0 7.27272727 0.0 2.90909091 0.0 2.90909091C0.0 2.90909091 7.0 0.0 7.0 0.0C7.0 0.0 7.0 0.0 7.0 0.0" />
+ </g>
+ <g id="safer_icon" stroke="none" stroke-width="1">
+ <path fill-rule="nonzero" d="M7.0 2.1658351C7.0 13.931584 7.0 2.1658351 7.0 13.931584C9.8656467 13.057677 12.0 10.241354 12.0 7.2727273C12.0 7.2727273 12.0 4.2437572 12.0 4.2437572C12.0 4.2437572 7.0 2.1658351 7.0 2.1658351C7.0 2.1658351 7.0 2.1658351 7.0 2.1658351M7.0 0.0C7.0 0.0 14.0 2.9090909 14.0 2.9090909C14.0 2.9090909 14.0 7.2727273 14.0 7.2727273C14.0 11.309091 11.013333 15.083636 7.0 16.0C2.9866667 15.083636 0.0 11.309091 0.0 7.2727273C0.0 7.2727273 0.0 2.9090909 0.0 2.9090909C0.0 2.9090909 7.0 0.0 7.0 0.0"/>
+ </g>
+ <g id="safest_icon" stroke="none" stroke-width="1">
+ <path d="M7.0 0.0C7.0 0.0 14.0 2.90909091 14.0 2.90909091C14.0 2.90909091 14.0 7.27272727 14.0 7.27272727C14.0 11.3090909 11.0133333 15.0836364 7.0 16.0C2.98666667 15.0836364 0.0 11.3090909 0.0 7.27272727C0.0 7.27272727 0.0 2.90909091 0.0 2.90909091C0.0 2.90909091 7.0 0.0 7.0 0.0C7.0 0.0 7.0 0.0 7.0 0.0" />
+ </g>
+ </defs>
+ <use id="standard" fill="context-fill" fill-opacity="context-fill-opacity" href="#standard_icon" />
+ <use id="safer" fill="context-fill" fill-opacity="context-fill-opacity" href="#safer_icon" />
+ <use id="safest" fill="context-fill" fill-opacity="context-fill-opacity" href="#safest_icon" />
+</svg>
diff --git a/browser/components/securitylevel/content/securityLevelPanel.css b/browser/components/securitylevel/content/securityLevelPanel.css
new file mode 100644
index 000000000000..70022e2bd4b2
--- /dev/null
+++ b/browser/components/securitylevel/content/securityLevelPanel.css
@@ -0,0 +1,82 @@
+/* Security Level CSS */
+
+panel#securityLevel-panel > .panel-arrowcontainer > .panel-arrowcontent {
+ padding: 0;
+}
+
+panelview#securityLevel-panelview {
+ width: 20em;
+}
+
+panelview#securityLevel-panelview>vbox.panel-subview-body {
+ padding: 1em;
+}
+
+label#securityLevel-header {
+ text-transform: uppercase;
+ color: var(--panel-disabled-color);
+ font-size: 0.85em;
+ margin: 0 0 0.4em 0;
+ padding: 0;
+}
+
+hbox#securityLevel-levelHbox {
+ margin-bottom: 1em;
+}
+
+label#securityLevel-level {
+ font-size: 1.5em;
+ margin: 0 0.5em 0 0;
+ padding: 0;
+}
+
+label#securityLevel-customWarning {
+ border-radius: 2px;
+ background-color: #ffe845;
+ text-transform: uppercase;
+ font-weight: bolder;
+ font-size: 0.8em;
+ height: 1em;
+ line-height: 1em;
+ vertical-align: middle;
+ margin: auto;
+ padding: 0.4em;
+}
+
+panelview#securityLevel-panelview description {
+ margin: 0 -0.5em 0.5em 0;
+ padding: 0 !important;
+}
+
+label#securityLevel-learnMore {
+ margin: 0 0 1.0em 0;
+ padding: 0;
+}
+
+panelview#securityLevel-panelview button {
+ -moz-appearance: none;
+ background-color: var(--arrowpanel-dimmed);
+}
+
+panelview#securityLevel-panelview button:hover {
+ background-color: var(--arrowpanel-dimmed-further);
+}
+
+panelview#securityLevel-panelview button:active {
+ background-color: var(--arrowpanel-dimmed-even-further);
+}
+
+button#securityLevel-restoreDefaults {
+ margin: 0 0 1.0em 0;
+ padding: 0.45em;
+ color: inherit !important;
+}
+
+button#securityLevel-advancedSecuritySettings {
+ margin: 0 -1.0em -1.0em -1.0em;
+ border-radius: 0;
+ border-top: 1px solid var(--panel-separator-color);
+ padding: 0;
+ height: 3.0em;
+ color: inherit !important;
+}
diff --git a/browser/components/securitylevel/content/securityLevelPanel.inc.xhtml b/browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
new file mode 100644
index 000000000000..4abbb12dd856
--- /dev/null
+++ b/browser/components/securitylevel/content/securityLevelPanel.inc.xhtml
@@ -0,0 +1,38 @@
+<panel id="securityLevel-panel"
+ role="group"
+ type="arrow"
+ orient="vertical"
+ level="top"
+ hidden="true"
+ class="panel-no-padding"
+ onpopupshown="SecurityLevelPanel.onPopupShown(event);"
+ onpopuphidden="SecurityLevelPanel.onPopupHidden(event);"
+ >
+ <panelmultiview mainViewId="securityLevel-panelview">
+ <panelview id="securityLevel-panelview" descriptionheightworkaround="true">
+ <vbox class="panel-subview-body">
+ <label id="securityLevel-header"/>
+ <hbox id="securityLevel-levelHbox">
+ <label id="securityLevel-level"/>
+ <vbox>
+ <spacer flex="1"/>
+ <label id="securityLevel-customWarning"/>
+ <spacer flex="1"/>
+ </vbox>
+ </hbox>
+ <description id="securityLevel-summary"/>
+ <label
+ id="securityLevel-learnMore"
+ class="learnMore text-link"
+ onclick="SecurityLevelPanel.hide();"
+ is="text-link"/>
+ <button
+ id="securityLevel-restoreDefaults"
+ oncommand="SecurityLevelPanel.restoreDefaults();"/>
+ <button
+ id="securityLevel-advancedSecuritySettings"
+ oncommand="SecurityLevelPanel.openAdvancedSecuritySettings();"/>
+ </vbox>
+ </panelview>
+ </panelmultiview>
+</panel>
diff --git a/browser/components/securitylevel/content/securityLevelPreferences.css b/browser/components/securitylevel/content/securityLevelPreferences.css
new file mode 100644
index 000000000000..0d1040d177d8
--- /dev/null
+++ b/browser/components/securitylevel/content/securityLevelPreferences.css
@@ -0,0 +1,26 @@
+label#securityLevel-customWarning {
+ border-radius: 2px;
+ background-color: #ffe845;
+ text-transform: uppercase;
+ font-weight: bolder;
+ font-size: 0.7em;
+ height: 1em;
+ line-height: 1em;
+ padding: 0.35em;
+}
+
+radiogroup#securityLevel-radiogroup radio {
+ font-weight: bold;
+}
+
+vbox#securityLevel-vbox-standard,
+vbox#securityLevel-vbox-safer,
+vbox#securityLevel-vbox-safest {
+ margin-top: 0.4em;
+}
+
+vbox#securityLevel-vbox-standard description.indent,
+vbox#securityLevel-vbox-safer description.indent,
+vbox#securityLevel-vbox-safest description.indent {
+ margin-inline-start: 0 !important;
+}
diff --git a/browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml b/browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
new file mode 100644
index 000000000000..a108d44a7b51
--- /dev/null
+++ b/browser/components/securitylevel/content/securityLevelPreferences.inc.xhtml
@@ -0,0 +1,62 @@
+<groupbox id="securityLevel-groupbox" data-category="panePrivacy" hidden="true">
+ <label><html:h2 id="securityLevel-header"/></label>
+ <vbox data-subcategory="securitylevel" flex="1">
+ <description flex="1">
+ <html:span id="securityLevel-overview" class="tail-with-learn-more"/>
+ <label id="securityLevel-learnMore" class="learnMore text-link" is="text-link"/>
+ </description>
+ <radiogroup id="securityLevel-radiogroup">
+ <vbox id="securityLevel-vbox-standard">
+ <hbox>
+ <radio value="standard"/>
+ <vbox>
+ <spacer flex="1"/>
+ <label id="securityLevel-customWarning"/>
+ <spacer flex="1"/>
+ </vbox>
+ </hbox>
+ <description flex="1">
+ <html:span id="securityLevel-summary" class="tail-with-learn-more"/>
+ <label id="securityLevel-restoreDefaults"
+ class="learnMore text-link"/>
+ </description>
+ </vbox>
+ <vbox id="securityLevel-vbox-safer">
+ <hbox>
+ <radio value="safer"/>
+ <vbox>
+ <spacer flex="1"/>
+ <label id="securityLevel-customWarning"/>
+ <spacer flex="1"/>
+ </vbox>
+ </hbox>
+ <description flex="1">
+ <html:span id="securityLevel-summary" class="tail-with-learn-more"/>
+ <label id="securityLevel-restoreDefaults"
+ class="learnMore text-link"/>
+ </description>
+ <description id="securityLevel-description1" class="indent tip-caption"/>
+ <description id="securityLevel-description2" class="indent tip-caption"/>
+ <description id="securityLevel-description3" class="indent tip-caption"/>
+ </vbox>
+ <vbox id="securityLevel-vbox-safest">
+ <hbox>
+ <radio value="safest"/>
+ <vbox>
+ <spacer flex="1"/>
+ <label id="securityLevel-customWarning"/>
+ <spacer flex="1"/>
+ </vbox>
+ </hbox>
+ <description flex="1">
+ <html:span id="securityLevel-summary" class="tail-with-learn-more"/>
+ <label id="securityLevel-restoreDefaults"
+ class="learnMore text-link"/>
+ </description>
+ <description id="securityLevel-description1" class="indent tip-caption"/>
+ <description id="securityLevel-description2" class="indent tip-caption"/>
+ <description id="securityLevel-description3" class="indent tip-caption"/>
+ </vbox>
+ </radiogroup>
+ </vbox>
+</groupbox>
diff --git a/browser/components/securitylevel/jar.mn b/browser/components/securitylevel/jar.mn
new file mode 100644
index 000000000000..9ac408083fbc
--- /dev/null
+++ b/browser/components/securitylevel/jar.mn
@@ -0,0 +1,6 @@
+browser.jar:
+ content/browser/securitylevel/securityLevel.js (content/securityLevel.js)
+ content/browser/securitylevel/securityLevelPanel.css (content/securityLevelPanel.css)
+ content/browser/securitylevel/securityLevelButton.css (content/securityLevelButton.css)
+ content/browser/securitylevel/securityLevelPreferences.css (content/securityLevelPreferences.css)
+ content/browser/securitylevel/securityLevelButton.svg (content/securityLevelButton.svg)
diff --git a/browser/components/securitylevel/moz.build b/browser/components/securitylevel/moz.build
new file mode 100644
index 000000000000..2661ad7cb9f3
--- /dev/null
+++ b/browser/components/securitylevel/moz.build
@@ -0,0 +1 @@
+JAR_MANIFESTS += ["jar.mn"]
1
0