[tor-bugs] #23819 [Core Tor/Tor]: Support IPv6 link-local interface addresses

Tor Bug Tracker & Wiki blackhole at torproject.org
Tue Oct 31 00:02:58 UTC 2017


#23819: Support IPv6 link-local interface addresses
-----------------------------+------------------------------------
 Reporter:  Zakhar           |          Owner:  (none)
     Type:  enhancement      |         Status:  needs_revision
 Priority:  Medium           |      Milestone:  Tor: 0.3.3.x-final
Component:  Core Tor/Tor     |        Version:
 Severity:  Normal           |     Resolution:
 Keywords:  ipv6 link-local  |  Actual Points:  1
Parent ID:                   |         Points:  1
 Reviewer:                   |        Sponsor:
-----------------------------+------------------------------------

Comment (by teor):

 Replying to [comment:8 Zakhar]:
 > Understood!
 >
 > So, since I'm apparently the first one looking into binding on ipv6
 link-local addresses, and doing so in Ubuntu 16.04 which is non-rolling-
 release/no-new-feature for what concerns Tor, I'll keep the present
 incomplete 0.2.9 patch for my own things, until I can provide a full patch
 on master.
 >
 > What I'll do next (after some holidays... and since it does not seem a
 lot of folk need binding ipv6!)
 > - rebase on master (I have already checked the part I patched didn't
 change, it's only at a different place in address.c)
 > - document on the %interface part (the explanation about "square
 brackets" was indeed added recently since it was not there in 0.2.9 where
 I checked)
 > - complete the patch with the "printing" bit that is indeed missing

 Sounds good!

 > - try to make it tor_local_addr_t or tor_non_routed_addr_t so that we
 don't propagate the scope_id to addresses that don't need it.
 >
 >
 > Bullets 1 and 2 are quite trivial.
 > Bullet 3 might take me some time to figure out from where the printing
 is done and how it is saving/restoring!

 tor_addr_fmt and similar functions would be helpful here.

 > Bullet 4 is all another story... and i didn't imagine you would like un-
 maintanable hacks like using zones not meant for that to store what we
 need! I'll look into the "proposal" process, and tor_dev mailing list,
 people might come with nice suggestions to handle these "local/non-routed"
 addresses.

 You could do something like this, and make all listener addresses
 `tor_listener_addr_t`:
 {{{
 typedef struct {
 tor_addr_t addr,
 int32_t ipv6_scope_id
 } tor_listener_addr_t;
 }}}

 And then define a different set of printing functions.

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/23819#comment:9>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list