Opened 10 months ago

Last modified 6 weeks ago

#23588 assigned defect

Write fascist_firewall_choose_address_ls() and use it in hs_get_extend_info_from_lspecs()

Reported by: teor Owned by: neel
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: prop224, tor-hs, single-onion, ipv6, 034-triage-20180328, 034-removed-20180328
Cc: neel@… Actual Points:
Parent ID: #23493 Points: 1
Reviewer: Sponsor:


Currently, the address choice logic is:

  • if we have an IPv6 address and can reach the ls IPv6 address, and prefer IPv6, use it
  • if we have an IPv4 address and can reach the ls IPv4 address, use it

But it needs to be:

  • if we have both addresses and can reach both, then use whatever we prefer
  • if we have one address and can reach it, use it

This doesn't matter until clients put IPv6 addresses in the link specifier.

Child Tickets

Change History (7)

comment:1 Changed 10 months ago by teor

These tickets aren't urgent, and they involve major refactoring.
Deferring to 0.3.3

comment:2 Changed 9 months ago by teor

In my commit 20b0e9e07d in my branch bug23820_032 (#23820), I ripped out IPv6 support in hs_get_extend_info_from_lspecs(). We'll need to revert that commit, and then fix the issues in the function.

Remove buggy IPv6 support from hs_get_extend_info_from_lspecs()

The previous version of this function has the following issues:
* it doesn't choose between IPv4 and IPv6 addresses correctly, and
* it doesn't fall back to a 3-hop path when the address for a direct
  connection is unreachable.
But we can't fix these things in a bugfix release.

Instead, treat IPv6 addresses like any other unrecognised link specifier
and ignore them. If there is no IPv4 address, return NULL.

comment:3 Changed 5 months ago by nickm

Milestone: Tor: 0.3.3.x-finalTor: 0.3.4.x-final

Defer a small handful of non-enhancement "new" tickets to 0.3.4

comment:4 Changed 4 months ago by nickm

Keywords: 034-triage-20180328 added

comment:5 Changed 4 months ago by nickm

Keywords: 034-removed-20180328 added

Per our triage process, these tickets are pending removal from 0.3.4.

comment:6 Changed 3 months ago by nickm

Milestone: Tor: 0.3.4.x-finalTor: unspecified

These tickets, tagged with 034-removed-*, are no longer in-scope for 0.3.4. We can reconsider any of them, if time permits.

comment:7 Changed 6 weeks ago by neel

Cc: neel@… added
Owner: set to neel
Status: newassigned
Note: See TracTickets for help on using tickets.