#754 closed enhancement (fixed)

merge manually specified tub location with autodetected tub location

Reported by: zooko Owned by: chatcannon
Priority: major Milestone: 1.10.1
Component: code-network Version: 1.4.1
Keywords: firewall availability usability review-needed Cc: chatcannon
Launchpad Bug:

Description (last modified by daira)

I'm configuring a laptop which is behind a home NAT to have a specified tub.location which says the IP address of my home network. (As described in docs/configuration.rst.)

However, sometimes I take this laptop to other networks, and it would be nice if it would do the process of auto-detecting its current IP address and advertise both that and the manually-configured IP address that I am putting in, so that if clients can connect to it either way then they win.

Change History (17)

comment:1 Changed at 2009-07-11T22:56:45Z by warner

maybe we could use a magic value, like tub.location = auto+1.2.3.4:1234, which is interpreted to mean "merge 1.2.3.4:1234 with the auto-detected location".

comment:2 Changed at 2009-07-25T21:35:37Z by robk

I pretty much just asked this question of zooko (he was online at the time)

in part it was because I hadn't found the docs/configuration.txt file - because I naturally go looking for info on the web, hence trac, hence had to go digging to find config instructions. (but that's another matter)

tub.location="some manually crafted stuff" handles the case I'm facing.

but "auto+some_manual_cruft" would be nice.

sign me up for a minor-priority vote in favour ;-)

comment:3 Changed at 2009-07-28T21:53:24Z by warner

maybe tub.location = AUTO,1.2.3.4:1234 since Tub locations are supposed to be comma-separated anyways, and "AUTO" doesn't parse as a valid location (no colon).

robk: maybe we should have a Trac page that points at source:docs/configuration.txt ? Or, we've kicked around the idea of automatically copying the files in docs/ into wiki pages (since most of them use wikiformatting anyways), so maybe it should point at something like docs/configuration.txt? instead.

comment:4 Changed at 2009-09-19T22:10:57Z by zooko

If you like this ticket, you may also like #49 (UPnP), #59 (STUNT/ICE), #169 (tcp hole-punching!), #445 (implement relay: allow storage servers behind NAT).

comment:5 Changed at 2009-09-19T22:11:36Z by zooko

Oops that should be #50 (STUNT/ICE).

comment:6 Changed at 2009-12-13T02:01:02Z by davidsarah

  • Keywords firewall availability usability added

comment:7 Changed at 2015-02-01T00:55:46Z by daira

  • Cc chatcannon added
  • Description modified (diff)

chatcannon filed a pull request: https://github.com/tahoe-lafs/tahoe-lafs/pull/139

comment:8 Changed at 2015-02-01T00:56:12Z by daira

  • Keywords review-needed added

comment:9 Changed at 2015-02-01T00:56:51Z by daira

  • Milestone changed from undecided to eventually

comment:10 Changed at 2015-02-01T00:57:31Z by daira

  • Keywords test-needed added

comment:11 Changed at 2015-02-09T01:42:33Z by daira

The implementation in https://github.com/tahoe-lafs/tahoe-lafs/pull/139 looks good. To test it, look at TestCase.test_location2 at src/allmydata/test/test_node.py#L55 and add a similar test_location_auto -- it should be easy to adapt.

comment:12 Changed at 2015-02-09T01:46:04Z by daira

  • Keywords review-needed removed
  • Owner changed from warner to chatcannon

comment:13 Changed at 2015-02-10T17:20:25Z by daira

  • Keywords review-needed added; test-needed removed

comment:14 Changed at 2015-02-10T18:29:43Z by daira

  • Description modified (diff)
  • Resolution set to fixed
  • Status changed from new to closed

comment:15 Changed at 2015-02-10T18:31:40Z by daira

  • Milestone changed from eventually to 1.10.1

comment:16 Changed at 2015-02-10T18:31:58Z by daira

Thanks chatcannon!

comment:17 Changed at 2015-03-27T10:43:09Z by daira

Note that as an intended side-effect of this fix, setting tub.location without including "AUTO" will skip the local IP auto-detection code entirely, thus allowing a workaround for any platform- or system-specific problems with that code.

Note: See TracTickets for help on using tickets.