[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2490: anonymous friendly tahoe create-node/create-client

Tahoe-LAFS trac at tahoe-lafs.org
Wed Sep 21 01:13:08 UTC 2016


#2490: anonymous friendly tahoe create-node/create-client
--------------------------------+-------------------------------
     Reporter:  dawuud          |      Owner:  warner
         Type:  defect          |     Status:  assigned
     Priority:  normal          |  Milestone:  1.12.0
    Component:  code-nodeadmin  |    Version:  1.10.1
   Resolution:                  |   Keywords:  tor i2p anonymous
Launchpad Bug:                  |
--------------------------------+-------------------------------

Comment (by warner):

 I'm working on a branch which changes dawuud's !TorProvider to provide
 three methods:

 * `allocate_onion()` (run at create-node time, launches/connects-to Tor,
 creates onion service, listens long enough to get .onion address)
 * `get_tub_handler()` (run at start-node time): immediately returns a Tub
 handler for the configured tor-launch/connect method
 * `get_tub_listener()` (run at start-node time): immediately returns an
 Endpoint which the Tub should listen on

 But now I'm wondering if we should commit to the local port at create-node
 time, and then write the matching listener endpoint spec into `tub.port=`.
 That would:

 * not require any changes to the "`tub.port` and `tub.location` must
 either both be provided, or both disabled" requirement
 * remove the magic "surprise extra listener" that doesn't appear in
 `tub.port`

 It would also require that if we're doing an e.g. unix-domain listener, it
 gets put into tub.port as a string. It prevents the use of listeners that
 can't be represented as normal strings.

 So I think we'd either need to pick a TCP/unix-domain listening port at
 `allocate_onion()` time, or use some fancy `onion:` server endpoint string
 with enough arguments to rebuild it at start-node time (hopefully putting
 the private key in a file, rather than in the endpoint string).

 meejah: is txtorcon equipped to use pre-allocated keys/ports/onion-names?
 The `TCPHiddenServiceEndpoint` I'm looking at seems keen on generating all
 those values at construction time.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2490#comment:12>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list