[tor-commits] [tor-browser] 18/33: fixup! fixup! Bug 40597: Implement TorSettings module

gitolite role git at cupani.torproject.org
Tue May 3 22:40:26 UTC 2022


This is an automated email from the git hooks/post-receive script.

richard pushed a commit to branch tor-browser-91.9.0esr-11.5-1
in repository tor-browser.

commit 958d5920c36b07b5db2e7e1a2b871848f2a72bc6
Author: Pier Angelo Vendrame <pierov at torproject.org>
AuthorDate: Wed Apr 13 09:07:24 2022 +0200

    fixup! fixup! Bug 40597: Implement TorSettings module
    
    Removed the "detected censorship level", as the UI now manages states
    on its own.
---
 browser/modules/TorConnect.jsm | 40 ++++++++++------------------------------
 1 file changed, 10 insertions(+), 30 deletions(-)

diff --git a/browser/modules/TorConnect.jsm b/browser/modules/TorConnect.jsm
index a9d4c01086dc9..4e7d99ac93c80 100644
--- a/browser/modules/TorConnect.jsm
+++ b/browser/modules/TorConnect.jsm
@@ -1,6 +1,6 @@
 "use strict";
 
-var EXPORTED_SYMBOLS = ["InternetStatus", "TorConnect", "TorConnectTopics", "TorConnectState", "TorCensorshipLevel"];
+var EXPORTED_SYMBOLS = ["InternetStatus", "TorConnect", "TorConnectTopics", "TorConnectState"];
 
 const { Services } = ChromeUtils.import(
     "resource://gre/modules/Services.jsm"
@@ -61,17 +61,6 @@ const TorConnectState = Object.freeze({
     Disabled: "Disabled",
 });
 
-const TorCensorshipLevel = Object.freeze({
-    /* No censorship detected */
-    None: 0,
-    /* Moderate censorship detected, autobootstrap may evade it */
-    Moderate: 1,
-    /* Severe censorship detected, but connection may still succeed */
-    Severe: 2,
-    /* Extreme censorship detected, connection will always end in an error */
-    Extreme: 3,
-});
-
 /*
                              TorConnect State Transitions
 
@@ -319,7 +308,6 @@ const TorConnect = (() => {
         _state: TorConnectState.Initial,
         _bootstrapProgress: 0,
         _bootstrapStatus: null,
-        _detectedCensorshipLevel: TorCensorshipLevel.None,
         _internetStatus: InternetStatus.Unknown,
         // list of country codes Moat has settings for
         _countryCodes: [],
@@ -335,6 +323,7 @@ const TorConnect = (() => {
         _errorMessage: null,
         _errorDetails: null,
         _logHasWarningOrError: false,
+        _hasBootstrapEverFailed: false,
         _transitionPromise: null,
 
         /* These functions represent ongoing work associated with one of our states
@@ -383,17 +372,13 @@ const TorConnect = (() => {
             [TorConnectState.Bootstrapping, new StateCallback(TorConnectState.Bootstrapping, async function() {
                 // wait until bootstrap completes or we get an error
                 await new Promise(async (resolve, reject) => {
-
-                    // we reset the bootstrap failure count so users can manually try settings without the
-                    // censorship circumvention state machine getting in the way
-                    TorConnect._detectedCensorshipLevel = TorCensorshipLevel.None;
-
                     // debug hook to simulate censorship preventing bootstrapping
                     if (Services.prefs.getIntPref(TorConnectPrefs.censorship_level, 0) > 0) {
                         this.on_transition = (nextState) => {
                             resolve();
                         };
                         await debug_sleep(1500);
+                        TorConnect._hasBootstrapEverFailed = true;
                         TorConnect._changeState(TorConnectState.Error, "Bootstrap failed (for debugging purposes)", "Error: Censorship simulation", true);
                         TorProtocolService._torBootstrapDebugSetError();
                         return;
@@ -405,7 +390,6 @@ const TorConnect = (() => {
                     let bootstrapError = "";
                     let bootstrapErrorDetails = "";
                     const maybeTransitionToError = () => {
-                        console.log("TorConnect: maybe transition!", internetTest.status, internetTest.error, bootstrapError);
                         if (internetTest.status === InternetStatus.Unknown && internetTest.error === null) {
                             // We have been called by a failed bootstrap, but the internet test has not run yet - force
                             // it to run immediately!
@@ -422,6 +406,7 @@ const TorConnect = (() => {
                             TorConnect._changeState(TorConnectState.Error, TorStrings.torConnect.offline, "", true);
                         } else {
                             // Give priority to the bootstrap error, in case the Internet test fails
+                            TorConnect._hasBootstrapEverFailed = true;
                             TorConnect._changeState(TorConnectState.Error, bootstrapError, bootstrapErrorDetails, true);
                         }
                     }
@@ -451,7 +436,6 @@ const TorConnect = (() => {
 
                     internetTest.onResult = (status, date) => {
                         // TODO: Use the date to save the clock skew?
-                        console.log("TorConnect: Internet test", status, date);
                         TorConnect._internetStatus = status;
                         maybeTransitionToError();
                     };
@@ -479,7 +463,7 @@ const TorConnect = (() => {
                             // always fail even after manually selecting location specific settings
                             if (censorshipLevel == 3) {
                                 await debug_sleep(2500);
-                                TorConnect._changeState(TorConnectState.Error, "Error: Extreme Censorship simulation", "", true);
+                                TorConnect._changeState(TorConnectState.Error, "Error: censorship simulation", "", true);
                                 return;
                             // only fail after auto selecting, manually selecting succeeds
                             } else if (censorshipLevel == 2 && !countryCode) {
@@ -607,11 +591,7 @@ const TorConnect = (() => {
                     TorConnect._errorMessage = errorMessage;
                     TorConnect._errorDetails = errorDetails;
 
-                    if (bootstrappingFailure && TorConnect._detectedCensorshipLevel < TorCensorshipLevel.Extreme) {
-                        TorConnect._detectedCensorshipLevel += 1;
-                    }
-
-                    Services.obs.notifyObservers({message: errorMessage, details: errorDetails, censorshipLevel: TorConnect.detectedCensorshipLevel}, TorConnectTopics.BootstrapError);
+                    Services.obs.notifyObservers({message: errorMessage, details: errorDetails}, TorConnectTopics.BootstrapError);
 
                     TorConnect._changeState(TorConnectState.Configuring);
                 });
@@ -745,10 +725,6 @@ const TorConnect = (() => {
             return this._bootstrapStatus;
         },
 
-        get detectedCensorshipLevel() {
-            return this._detectedCensorshipLevel;
-        },
-
         get internetStatus() {
             return this._internetStatus;
         },
@@ -765,6 +741,10 @@ const TorConnect = (() => {
             return this._logHasWarningOrError;
         },
 
+        get hasBootstrapEverFailed() {
+            return this._hasBootstrapEverFailed;
+        },
+
         get countryCodes() {
             return this._countryCodes;
         },

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the tor-commits mailing list