1. 22 May, 2018 2 commits
    • Matthew Finkel's avatar
      Load default prefs during initialization · 94937955
      Matthew Finkel authored
      In bug 1413413 Mozilla ripped out support for loading default prefs
      from extensions. Unfortunately, backing out that changeset is non-trivial
      so it is easier if we set the default prefs manually.
      Here we define a function named pref() and it sets the preference based
      on the type of the pref's value. We only support a few types: boolean,
      number, and string. All other types are handled by the default case where
      a message is logged and the pref is skipped. The default prefs must be
      set before Tor Launcher begins making decisions based on them. An
      exception is thrown with Cr.NS_ERROR_NOT_INITIALIZED when this
      requirement is violated.
    • Matthew Finkel's avatar
  2. 01 Mar, 2018 1 commit
    • Kathleen Brade's avatar
      Bug 23136: Moat integration (fetch bridges for the user) · e921bb15
      Kathleen Brade authored
      Modify the setup wizard and Network Settings window to allow automated
      retrieval of bridges using Moat, a BridgeDB service which works
      over a meek transport and requires the user to solve a CAPTCHA to
      obtain bridges.
      The new tl-bridgedb.jsm JavaScript module handles all communication
      with BridgeDB, and it functions by starting a copy of
      meek-client-torbrowser and operating as a PT client parent process
      (see https://gitweb.torproject.org/torspec.git/tree/pt-spec.txt).
      This feature can be disabled (and the Moat-related Tor Launcher UI
      hidden) by setting the pref extensions.torlauncher.moat_service to
      an empty string.
  3. 09 Nov, 2017 1 commit
    • Kathleen Brade's avatar
      Bug 23262: implement integrated progress bar (Part 2) · 803bf117
      Kathleen Brade authored
      Improve UX by greatly reducing the use of modal alert dialogs. In most
      cases errors are now displayed using one of three techniques:
        1. Via an overlaid error panel.
        2. As a message on the progress panel (with a Reconfigure button).
        3. On a standalone error page within the setup wizard.
      Move "Restart Tor" to a separate panel.
      Fix a problem where showAlert() would fail to display an alert: do not
        try to use a hidden window as the parent for the alert.
      Add a showOrHideElemById() utility function and use it.
  4. 05 May, 2017 1 commit
    • Kathleen Brade's avatar
      Bug 20761: Tor Browser 6.5a4 is ignoring additional SocksPorts · 5154173e
      Kathleen Brade authored
      When starting tor, pass "+__ControlPort" and "+__SocksPort" in the
      args. This causes Tor Launcher's control and SOCKS ports to be added
      to any ports the user has defined in their torrc and also prevents
      the ports defined by Tor Launcher from being written to torrc.
      Also, perform a one-time removal of the torrc lines that conflict with
      the ports that Tor Launcher will use when starting tor.
      This change depends on the fix for #20956.
  5. 12 Apr, 2017 1 commit
    • Georg Koppen's avatar
      Bug 21920: Don't show locale selection dialog · afb9893b
      Georg Koppen authored
      The locale selection dialog was one of the features we included in the
      hardened series. It is not needed on the alpha or stable channel. We
      therefore disable it, keeping the code as we might be able to resue it
      for #17400 later on.
  6. 27 Oct, 2016 1 commit
    • Kathleen Brade's avatar
      Bug 20185: Avoid using Unix domain socket paths that are too long · 4dd8f613
      Kathleen Brade authored
      Enforce a maximum length of 100 for Unix domain socket paths.
      If $XDG_RUNTIME_DIR is set, create a unique subdirectory within that
        directory and place the control and SOCKS sockets there if the
        resulting paths will not be too long
      else if the length of <tor-data-dir>/control.socket is less than 100
        characters, place both sockets under <tor-data-dir> (this is compatible
        with the Tor Browser 6.5a3 behavior)
      else create a unique subdirectory under /tmp and place the sockets there.
      The unique subdirectory that is created under $XDG_RUNTIME_DIR or /tmp
      will be named Tor if no such directory exists; otherwise, an integer
      suffix will be appended until a new, uniquely named directory is found
      such as /tmp/Tor-1.
      Also, when starting tor, only include a SocksPort argument if a Unix
      domain socket path or a host/port is available.
  7. 20 Oct, 2016 1 commit
    • Kathleen Brade's avatar
      Bug 20111: use Unix domain sockets for SOCKS port by default · 8ca52414
      Kathleen Brade authored
      New preferences:
        extensions.torlauncher.socks_port_use_ipc (Boolean; defaults to true)
        extensions.torlauncher.socks_ipc_path (override default IPC path)
        extensions.torlauncher.socks_port_flags (SocksPort flags)
      Also added support for the TOR_SOCKS_IPC_PATH environment variable.
      Consistently use IPC to refer to Unix domain sockets.
      Renamed preferences:
        extensions.torlauncher.control_port_use_socket is now
        extensions.torlauncher.control_socket_path is now
      Renamed the TOR_CONTROL_SOCKET env variable to TOR_CONTROL_IPC_PATH.
      Change _strUnescape() to throw and fix hex and octal unescaping.
  8. 06 Sep, 2016 1 commit
  9. 01 Sep, 2016 1 commit
  10. 31 Aug, 2016 1 commit
    • Kathleen Brade's avatar
      Bug 14272: Make Tor Launcher work with Unix Domain Socket option · 8871259c
      Kathleen Brade authored
      On non-Windows platforms, use a Unix domain socket by default for the
      Tor control port. New preferences:
        extensions.torlauncher.control_port_use_socket (Boolean)
        extensions.torlauncher.control_socket_path (path string)
      New environment variable: TOR_CONTROL_SOCKET
      When starting tor, always include a ControlPort argument so that
      users can use environment variables to switch between the two control
      port types.
      Add a public TorGetControlSocketFile() function that Torbutton will
      use to retrieve the socket file (an nsIFile) when a Unix domain
      socket is in use.
      Moved the getTorFile() function to our utilities module.
  11. 21 Jan, 2016 1 commit
    • Isis Lovecruft's avatar
      Bug 18113: Randomly permutate available default bridges of chosen type. · 8869cf4f
      Isis Lovecruft authored
       * ADDS a new function to TorLauncherUtil, rearrangeBridges() which
         takes an array of items and returns a random permutation of that
       * CHANGE defaultBridges() getter to call this.rearrangeBridges()
         before returning the default bridges.  This causing the ordering of
         the default bridges in the torrc to vary among clients, resulting
         in a more even distribution of clients to default bridges.
  12. 15 Oct, 2015 1 commit
    • Kathleen Brade's avatar
      Bug 12967: Prompt for language during first run. · 919ccb92
      Kathleen Brade authored
      The intl.locale.matchOS pref is set to true by default so that the
        lanuage prompt is presented in the OS/system language.
      To skip the language prompt, set the TOR_SKIP_LOCALE_PROMPT env variable
        to 1 or set the hidden pref extensions.torlauncher.prompt_for_locale
        to false.
  13. 10 Apr, 2015 1 commit
    • Kathleen Brade's avatar
      Bug 15657: display host:port if HOSTADDR is provided by Tor. · b48d563e
      Kathleen Brade authored
      If a Tor bootstrap status message contains a HOSTADDR value, include
      it within the error alert that we display.
      Also fix a problem where the progress dialog stayed open after an error
      occurred (even though an error alert was displayed as soon as the user
      clicked the "Cancel" button).
  14. 14 Aug, 2014 1 commit
  15. 24 Jul, 2014 1 commit
  16. 27 Feb, 2014 3 commits
    • Kathleen Brade's avatar
      Bug #10418: Provide "Use Default Bridges" option. · f3804aad
      Kathleen Brade authored
      To enable this feature, add one or more preference values like:
      Other new preferences:
        extensions.torlauncher.default_bridge_type (stores chosen type)
      The text "(recommended)" is displayed next to the recommended type, and
      it is selected by default.  The default bridges are reconfigured each
      time the browser starts up; if no default bridges of the configured type
      are available, an error message is displayed and the user is placed on
      the bridge settings panel within the network configuration wizard.
    • Tails developers's avatar
    • Tails developers's avatar
      If TOR_CONFIGURE_ONLY=1, only configure Tor. · 2545a772
      Tails developers authored
      This option prevents Tor Launcher from starting a Tor process but it
      will try to configure any already started Tor process without taking
      ownership of it. This option is intended for situations where Tor
      Launcher is supposed to configure an already started, system-wide Tor
      Note that it's not the same as TOR_SKIP_LAUNCH (and, equivalently,
      `extensions.torlauncher.start_tor`), which prevents *both* start and
      configuration of Tor.
  17. 11 Feb, 2014 1 commit
  18. 22 Oct, 2013 1 commit
  19. 17 Apr, 2013 1 commit
  20. 10 Apr, 2013 1 commit
  21. 09 Apr, 2013 2 commits
  22. 28 Mar, 2013 1 commit