[tor-bugs] #17840 [Tor]: Add a minimal implementation of ClientUseIPv4 so IPv6-only clients can bootstrap

Tor Bug Tracker & Wiki blackhole at torproject.org
Fri Jan 22 04:14:57 UTC 2016


#17840: Add a minimal implementation of ClientUseIPv4 so IPv6-only clients can
bootstrap
-------------------------------------+------------------------------------
 Reporter:  teor                     |          Owner:  teor
     Type:  defect                   |         Status:  needs_review
 Priority:  Medium                   |      Milestone:  Tor: 0.2.8.x-final
Component:  Tor                      |        Version:
 Severity:  Normal                   |     Resolution:
 Keywords:  ipv6, TorCoreTeam201601  |  Actual Points:
Parent ID:  #17811                   |         Points:
  Sponsor:                           |
-------------------------------------+------------------------------------

Comment (by teor):

 Replying to [comment:11 teor]:
 >
 > Replying to [comment:9 nickm]:
 > > Returning to 5ffe801801da Use fascist firewall and ClientUseIPv4 for
 bridge clients
 > >  * This whole thing is a bit scary.
 > >  * In the autobool conversion, did you grep for ClientUseIPv4 and
 ClientUseIPv6 to make sure you found them all?
 >
 > Yes, all ClientUseIPv6 instances.
 > ClientUseIPv4 was not changed in this patch.
 >
 > >  * In lieu of the majority of this patch, maybe it would be better to
 have the torrc's ClientUseIPv[46] options set or_options_t's
 ClientUseIPv[46]_option fields, and then have options_validate() or
 something set ClientUseIPv[46] based on that? Not sure.
 >
 > I agree it's messy.
 > I think we should do what we already do for ClientPreferIPv6OR/DirPort,
 and create an accessor function fascist_firewall_use_ipv6(). Then the
 logic is all in one place if we ever need to change it. (Done!)
 >
 > Now the only references to ClientUseIPv6 are in config.c
 (options_validate) and policy.c (fascist_firewall_use_ipv6), in a log
 message in connection.c, and in or.h and the unit tests.

 Which allows me to perform one last very neat trick:
 * If a user sets ClientUseIPv4 0, use IPv6 instead of IPv4.
 This makes configurations that disable both IPv4 and IPv6 impossible.

 Please see my branch feature17840-v11.

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


More information about the tor-bugs mailing list