#26183 closed defect (invalid)

Close control connection (socket and io.streams) on failure

Reported by: cypherpunks Owned by: brade
Priority: Medium Milestone:
Component: Applications/Tor Launcher Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

_openAuthenticatedConnection returns null connection on failure while keeping socket and io.streams open.
It fails if can't to connect to control port or authenticate failed.

Example log for refused connection:

TorLauncher DBUG: Opening control connection to 127.0.0.1:9151
TorLauncher DBUG: Sending Tor command: AUTHENTICATE 5d3a59467366772f65463d6874786b4f
TorLauncher NOTE: failed to open authenticated connection: [Exception... "Component returned failure code: 0x804b000d (NS_ERROR_CONNECTION_REFUSED) [nsIBinaryOutputStream.writeBytes]"  nsresult: "0x804b000d (NS_ERROR_CONNECTION_REFUSED)"  location: "JS frame :: jar:file:///path/tor-browser/Browser/TorBrowser/Data/Browser/profile.default/extensions/tor-launcher@torproject.org.xpi!/components/tl-protocol.js :: TorProtocolService.prototype._sendCommand :: line 889"  data: no]

About dozen connections in case of very slow starting Tor.

Child Tickets

Change History (2)

comment:1 Changed 19 months ago by cypherpunks

    catch(e)
    {
      TorLauncherLogger.safelog(4,
                             "failed to open authenticated connection: ", e);
+     if (conn)
+       this._closeConnection(conn);
      return null;
    }
      if (!this.TorCommandSucceeded(reply))
      {
        TorLauncherLogger.log(4, "authenticate failed");
+       this._closeConnection(conn);
        return null;
      }

comment:2 Changed 19 months ago by cypherpunks

Resolution: invalid
Status: newclosed

Socket and streams will be garbage collected later which will close everything if there is no reference.

Note: See TracTickets for help on using tickets.