[tahoe-lafs-trac-stream] [tahoe-lafs] #1010: use only 127.0.0.1 as local address

tahoe-lafs trac at tahoe-lafs.org
Sun Jul 31 13:00:13 PDT 2011


#1010: use only 127.0.0.1 as local address
-------------------------+-------------------------------------------------
     Reporter:  duck     |      Owner:  warner
         Type:           |     Status:  new
  enhancement            |  Milestone:  1.9.0
     Priority:  minor    |    Version:  1.6.1
    Component:  code-    |   Keywords:  privacy anonymity test docs anti-
  network                |  censorship reviewed
   Resolution:           |
Launchpad Bug:           |
-------------------------+-------------------------------------------------

Comment (by warner):

 whoops, I *really* lost track of this one.

 DS> I meant, what is lost by only having 127.0.0.1 in the list of
 DS> addresses, all the time?

 Um, if everyone in the grid only publishes 127.0.0.1, then how will
 distant nodes ever connect to each other? Since we don't have UPnP or
 NAT traversal, we need everyone (well, N-1) to have+publish a public IP
 address.

 This patch needs docs: in addition to making sure people can
 successfully use this feature, we need to a place to answer the user
 confusion that's likely to occur when someone assumes that
 "tub.location=" should behave the same way as "#tub.location=". (I'm not
 as sure that ["tub.location=" == anonymous] is the best UI for this, at
 least not as sure as I was 15 months ago. The whole-config "anonymous"
 flag feels like an important addition.)

 gdt's observation in comment:18 is a good one. Ideally, pure-clients
 should be able to hang out behind NAT and not admit to having a real
 address. (I *think* the FURL location-hint format will tolerate this,
 but I haven't actually tested it). We've always been on the fence about
 whether Tahoe is a client-server system or a P2P system. Having clients
 announce their addresses makes it more P2Pish.

 I've had topology problems (servers behind NAT) which made me glad that
 it's possible for servers to connect to clients too. To actually enable
 this, I had to make my "clients" pretend to be servers (but with
 storage.readonly=true): otherwise the servers wouldn't hear about the
 client and wouldn't try to connect. Nodes only actually publish their
 storage FURLs to the Introducer if they're configured as servers (see
 {{{init_storage()}}} in client.py). But they'll reveal their FURLs
 (along with their IP address) in any reference that passes over the
 wire.


 So anyways, I'm ok with this patch if it includes a paragraph in
 docs/configuration.rst (in the section on tub.location) explaining what
 happens when you use "tub.location=" and why you might want to do that.
 If we find that it's hard to explain this feature in there, then maybe
 it's not a good feature to add.

-- 
Ticket URL: <http://tahoe-lafs.org/trac/tahoe-lafs/ticket/1010#comment:22>
tahoe-lafs <http://tahoe-lafs.org>
secure decentralized storage


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