Opened 11 months ago

Last modified 8 days ago

#23576 needs_revision defect

Make service_intro_point_new() take a node instead of an extend_info

Reported by: teor Owned by: teor
Priority: Medium Milestone: Tor: 0.3.5.x-final
Component: Core Tor/Tor Version: Tor: 0.3.2.1-alpha
Severity: Normal Keywords: prop224, tor-hs, single-onion, ipv6, 034-triage-20180328, 034-removed-20180328, fast-fix
Cc: Actual Points:
Parent ID: #23493 Points: 1
Reviewer: asn Sponsor:

Description

service_intro_point_new() and hs_desc_link_specifier_new() need to take a node_t, so they can fill it in with IPv4 and IPv6 addresses.

Child Tickets

TicketStatusOwnerSummaryComponent
#26992needs_revisionteorAdd intro point IPv6 address to service descriptorsCore Tor/Tor

Change History (13)

comment:1 Changed 11 months ago by teor

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

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

comment:2 Changed 10 months ago by teor

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

    Remove buggy IPv6 support from pick_intro_point() and service_intro_point_new()
    
    The previous version of these functions had the following issues:
    * they can't supply both the IPv4 and IPv6 addresses in link specifiers,
    * they try to fall back to a 3-hop path when the address for a direct
      connection is unreachable, but this isn't supported by
      launch_rendezvous_point_circuit(), so it fails.
    But we can't fix these things in a bugfix release.
    
    Instead, always put IPv4 addresses in link specifiers.
    And if a v3 single onion service can't reach any intro points, fail.

comment:3 Changed 7 months ago by dgoulet

Owner: set to dgoulet
Status: newassigned

comment:4 Changed 7 months ago by dgoulet

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

Move 033 ticket I own to 034

comment:5 Changed 5 months ago by nickm

Keywords: 034-triage-20180328 added

comment:6 Changed 5 months ago by nickm

Keywords: 034-removed-20180328 added

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

comment:7 Changed 4 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:8 Changed 3 weeks ago by teor

Milestone: Tor: unspecifiedTor: 0.3.5.x-final
Owner: changed from dgoulet to teor
Version: Tor: 0.3.2.1-alpha

We can implement this ticket easily by replacing the link specifier part of service_intro_point_new() with get_lspecs_from_node().

This refactor completes part of #23759.

comment:9 Changed 3 weeks ago by teor

Status: assignedneeds_review

See my branch bug23576 on https://github.com/teor2345/tor.git

This refactor also puts intro IPv6 link specifiers in onion service descriptors (#26992).

It passes make check and make test-network-all on my machine, but will probably fail Appveyor CI due to #26986.

comment:10 Changed 3 weeks ago by teor

Keywords: fast-fix added

comment:12 Changed 2 weeks ago by asn

Reviewer: asn

comment:13 Changed 8 days ago by asn

Status: needs_reviewneeds_revision

This looks good and I like the code simplification!

I left a few nitpicks on the PR that you might want to handle.

Also, should we try to rebase this so that we can see the appveyor green checkmark (now that #26986 got fixed)?

Note: See TracTickets for help on using tickets.