[tbb-commits] [tor-browser] branch tor-browser-102.4.0esr-12.0-1 updated: fixup! Bug 40597: Implement TorSettings module
gitolite role
git at cupani.torproject.org
Mon Oct 24 17:26:27 UTC 2022
This is an automated email from the git hooks/post-receive script.
pierov pushed a commit to branch tor-browser-102.4.0esr-12.0-1
in repository tor-browser.
The following commit(s) were added to refs/heads/tor-browser-102.4.0esr-12.0-1 by this push:
new 3d5f52ebdda4 fixup! Bug 40597: Implement TorSettings module
3d5f52ebdda4 is described below
commit 3d5f52ebdda4026d4891cc8a1079e8370c0ed5e5
Author: Pier Angelo Vendrame <pierov at torproject.org>
AuthorDate: Fri Oct 21 19:13:09 2022 +0200
fixup! Bug 40597: Implement TorSettings module
Bug 41281: Opt-out Connection Assist traffic
---
browser/modules/TorConnect.jsm | 32 +++++++++++++++++++++++---------
1 file changed, 23 insertions(+), 9 deletions(-)
diff --git a/browser/modules/TorConnect.jsm b/browser/modules/TorConnect.jsm
index 34a3a9ee7d33..7c458a41c17d 100644
--- a/browser/modules/TorConnect.jsm
+++ b/browser/modules/TorConnect.jsm
@@ -23,9 +23,6 @@ const { TorMonitorService } = ChromeUtils.import(
const { TorBootstrapRequest } = ChromeUtils.import(
"resource://gre/modules/TorBootstrapRequest.jsm"
);
-const { TorLauncherUtil } = ChromeUtils.import(
- "resource://gre/modules/TorLauncherUtil.jsm"
-);
const {
TorSettings,
@@ -49,6 +46,7 @@ const TorLauncherPrefs = Object.freeze({
const TorConnectPrefs = Object.freeze({
censorship_level: "torbrowser.debug.censorship_level",
+ allow_internet_test: "torbrowser.bootstrap.allow_internet_test",
});
const TorConnectState = Object.freeze({
@@ -251,30 +249,41 @@ const InternetStatus = Object.freeze({
class InternetTest {
constructor() {
+ this._enabled = Services.prefs.getBoolPref(
+ TorConnectPrefs.allow_internet_test,
+ true
+ );
+
this._status = InternetStatus.Unknown;
this._error = null;
this._pending = false;
- this._timeout = setTimeout(() => {
- this._timeout = null;
- this.test();
- }, this.timeoutRand());
+ if (this._enabled) {
+ this._timeout = setTimeout(() => {
+ this._timeout = null;
+ this.test();
+ }, this.timeoutRand());
+ }
this.onResult = (online, date) => {};
this.onError = err => {};
}
test() {
- if (this._pending) {
+ if (this._pending || !this._enabled) {
return;
}
this.cancel();
this._pending = true;
+ console.log("TorConnect: starting the Internet test");
this._testAsync()
.then(status => {
this._pending = false;
this._status = status.successful
? InternetStatus.Online
: InternetStatus.Offline;
+ console.log(
+ `TorConnect: performed Internet test, outcome ${this._status}`
+ );
this.onResult(this.status, status.date);
})
.catch(error => {
@@ -322,6 +331,10 @@ class InternetTest {
return this._error;
}
+ get enabled() {
+ return this._enabled;
+ }
+
// We randomize the Internet test timeout to make fingerprinting it harder, at least a little bit...
timeoutRand() {
const offset = 30000;
@@ -457,7 +470,8 @@ const TorConnect = (() => {
const maybeTransitionToError = () => {
if (
internetTest.status === InternetStatus.Unknown &&
- internetTest.error === null
+ internetTest.error === null &&
+ internetTest.enabled
) {
// We have been called by a failed bootstrap, but the internet test has not run yet - force
// it to run immediately!
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the tbb-commits
mailing list