[tahoe-lafs-trac-stream] [Tahoe-LAFS] #517: make tahoe Tor- and I2P-friendly

Tahoe-LAFS trac at tahoe-lafs.org
Mon Sep 21 22:32:32 UTC 2015


#517: make tahoe Tor- and I2P-friendly
-------------------------+-------------------------------------------------
     Reporter:  warner   |      Owner:  ioerror
         Type:           |     Status:  new
  enhancement            |  Milestone:  undecided
     Priority:  minor    |    Version:  1.2.0
    Component:  code-    |   Keywords:  privacy anonymity anti-censorship
  network                |  i2p tor-protocol usability
   Resolution:           |
Launchpad Bug:           |
-------------------------+-------------------------------------------------

Comment (by str4d):

 Replying to [comment:47 warner]:
 > str4d: that's great! Are there any changes you'd like to see to the
 foolscap (client-side) API before I make a new release? Barring any, I
 plan to cut it later today, so we can make progress on the Tahoe side in
 tomorrow's meeting.

 For the in-client API, I think it is great. Once I remembered that only
 the client side was implemented :P it was a trivial patch (see above).

 For the plugin API, I have a few thoughts:

 * Implementing the API feels a little duplicate-y. It's only four lines
 (match regex, check for match, grab groups, fallback to None), but...
 * There is currently no restriction on the format of the location hints,
 so e.g. I could require different syntax in my I2P one than others. Is
 this flexibility that we want to allow?
 * By requiring plugins to check for themselves if a string is for them, it
 allows earlier plugins to intercept the strings of later plugins (but not
 to modify them).

 All three points would be "solved" by having a hint-parsing method that
 turns hints into groups, looking up an `IConnectionHintHandler`
 corresponding to the parsed hint type (via a dict that is filled when
 `addConnectionHintHandler()` is called), and passing the parsed groups to
 `hint_to_endpoint()` as kwargs. But this is basically re-implementing the
 Twisted endpoint string API. Is this worth the effort? Or am I over-
 engineering?

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


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