[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2293: I2P client endpoint parameter concaternator

Tahoe-LAFS trac at tahoe-lafs.org
Fri Sep 5 18:21:03 UTC 2014


#2293: I2P client endpoint parameter concaternator
---------------------+---------------------------
 Reporter:  dawuud   |          Owner:  daira
     Type:  defect   |         Status:  new
 Priority:  normal   |      Milestone:  undecided
Component:  unknown  |        Version:  1.10.0
 Keywords:           |  Launchpad Bug:
---------------------+---------------------------
 note: this ticket description is inspired by str4d's commit here:
 https://github.com/david415/tahoe-
 lafs/commit/21cc326f6bd8aedbb3d9478c8591234c3c0b08a0

 As discussed on IRC with str4d... the client side of the native I2P
 integration for Tahoe-LAFS would need a way to pass the I2P endpoint
 object some private client parameters. str4d proposes a solution:
 transform the endpoint string before passing it to clientFromString.

 That very transpormation should take place in Tahoe-LAFS and it should
 append the user specified parameters to the Twisted endpoint string.

 Clients may need to extend client side Twisted endpoint strings.
 This seems like a reasonable feature for several Twisted endpoint types.
 {{{
 tcp:example.org:1337:timeout=60
 ssl:example.org:443:caCertsDir=/etc/ssl/certs
 i2p:longstring.b32.i2p:tunnelNick=tahoe:inport=10000
 }}}

 These should be set in ``tahoe.cfg`` like this:
 {{{
 [node]
 clientEndpointParams =
 tcp:timeout=60,ssl:caCertsDir=/etc/ssl/certs,i2p:tunnelNick=tahoe:inport=10000
 }}}

 str4d wrote:

 Tahoe parses, keeps an internal map, applies the relevant params to a
 client endpoint string before connecting
 * Client endpoint string whitelisting
     * Server publishes an endpoint string for a client to connect to
     * A malicious server could publish strings containing client-specific
 parameters that compromise the user
         * Unsure what parameters could actually be used maliciously on
 their own, but definitely possible in concert with other attacks.
     * The client should not accept strings that contain client-specific
 parameters
         * How to tell the difference? Tahoe can't keep a list of
 everything that is safe.
         * Maybe an endpoint API method that takes a client endpoint string
 and returns a safe one.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2293>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


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