[tor-commits] [tor-browser/tor-browser-78.13.0esr-10.5-2] Bug 11641: change TBB directory structure to be more like Firefox's

sysrqb at torproject.org sysrqb at torproject.org
Thu Aug 12 15:48:29 UTC 2021


commit 6f70f56c3230b10efb4eed79a8f9e036199909c4
Author: Kathy Brade <brade at pearlcrescent.com>
Date:   Tue Apr 29 13:08:24 2014 -0400

    Bug 11641: change TBB directory structure to be more like Firefox's
    
    Unless the -osint command line flag is used, the browser now defaults
    to the equivalent of -no-remote.  There is a new -allow-remote flag that
    may be used to restore the original (Firefox-like) default behavior.
---
 toolkit/xre/nsAppRunner.cpp | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp
index 9854332f6917..69006b49250e 100644
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -1429,8 +1429,10 @@ static void DumpHelp() {
       "  --migration        Start with migration wizard.\n"
       "  --ProfileManager   Start with ProfileManager.\n"
 #ifdef MOZ_HAS_REMOTE
-      "  --no-remote        Do not accept or send remote commands; implies\n"
+      "  --no-remote        (default) Do not accept or send remote commands; "
+      "implies\n"
       "                     --new-instance.\n"
+      "  --allow-remote     Accept and send remote commands.\n"
       "  --new-instance     Open new instance, not a new window in running "
       "instance.\n"
 #endif
@@ -3543,16 +3545,25 @@ int XREMain::XRE_mainInit(bool* aExitFlag) {
                                      gSafeMode);
 
 #if defined(MOZ_HAS_REMOTE)
+  // In Tor Browser, remoting is disabled by default unless -osint is used.
+  bool allowRemote = (CheckArg("allow-remote") == ARG_FOUND);
+  bool isOsint = (CheckArg("osint", nullptr, CheckArgFlag::None) == ARG_FOUND);
+  if (!allowRemote && !isOsint) {
+    SaveToEnv("MOZ_NO_REMOTE=1");
+  }
   // Handle --no-remote and --new-instance command line arguments. Setup
   // the environment to better accommodate other components and various
   // restart scenarios.
   ar = CheckArg("no-remote");
-  if (ar == ARG_FOUND || EnvHasValue("MOZ_NO_REMOTE")) {
+  if ((ar == ARG_FOUND) && allowRemote) {
+    PR_fprintf(PR_STDERR,
+               "Error: argument --no-remote is invalid when argument "
+               "--allow-remote is specified\n");
+    return 1;
+  }
+  if (EnvHasValue("MOZ_NO_REMOTE")) {
     mDisableRemoteClient = true;
     mDisableRemoteServer = true;
-    if (!EnvHasValue("MOZ_NO_REMOTE")) {
-      SaveToEnv("MOZ_NO_REMOTE=1");
-    }
   }
 
   ar = CheckArg("new-instance");





More information about the tor-commits mailing list