Opened 3 years ago

Closed 3 years ago

#22810 closed enhancement (invalid)

prop224: Make the client/service extend properly to the IP/RP

Reported by: dgoulet Owned by: dgoulet
Priority: Very High Milestone: Tor: 0.3.3.x-final
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-hs, prop224-extra
Cc: Actual Points:
Parent ID: Points: 1
Reviewer: Sponsor: SponsorR-must


For a prop224 service to extend to a rendezvous point (RP) or a client to extend to a introduction point (IP), we need two things to change in the tor code.

1) The extend_info_t object needs to support a list of "extra" link specifiers that should be put in the EXTEND2 cell if present. From proposal 224:

   The hidden service SHOULD NOT reject any LSTYPE fields which it
   doesn't recognize; instead, it should use them verbatim in its EXTEND
   request to the rendezvous point.

2) The ed25519 identity link specifier (LSTYPE=03, see prop220), needs to be mandatory for both introduction and rendezvous points as detailed in prop224. So we need a way to tell the circuit subsystem that "this EXTEND2 cell is for IP or RP so put the ed25519 id in it".

Child Tickets

Change History (8)

comment:1 Changed 3 years ago by dgoulet

Status: newneeds_review

Branch: ticket22810_032_01.
Gitlab review:

There are potential controversial changes in _two_ commits here ;).

Side note, if #22804 is merged upstream before, conflicts will arise.

comment:2 Changed 3 years ago by asn

Oh man. This is indeed some unforeseen changes that need to happen. The branch also changes lots of core circuitbuild code that I'm not very familiar with.

I'll make a naughty suggestion for the sake of forward progress:

  • For 0.3.2, we forget about this ticket, and hidden services only use link specifiers they recognize and ignore all others.
  • Then in prop224-extra, we implement the functionality of this ticket.

Do you think that's nuts? Or it might cause forward-compatibility problems? AFAIK there are no other link specifier types in the design -- I guess the next ones might be PQ stuff?

If you think that's not the right approach, I will start reviewing this branch ASAP.

comment:3 Changed 3 years ago by dgoulet

Status: needs_reviewneeds_revision

Woa, ok #22804 merged so I need to go back to the drawing board here and address the git merge conflicts.

comment:4 Changed 3 years ago by dgoulet

Keywords: circuit removed
Status: needs_revisionneeds_review

Ok I've rebased this on master.

Branch: ticket22810_032_01
Oniongit review:

This is missing the IPv6 extend support which we should have at the very least for hidden service.

comment:5 Changed 3 years ago by nickm

Keywords: review-group-21 added

comment:6 Changed 3 years ago by asn

Keywords: review-group-21 removed
Status: needs_reviewneeds_revision

Removing this from review-group-21 for now, since there are more important prop224 branches to review and we don't want to waste precious review points.
Let's handle this ticket after the core prop224 has been merged.

comment:7 Changed 3 years ago by dgoulet

Keywords: prop224-extra added; prop224 removed
Milestone: Tor: 0.3.2.x-finalTor: 0.3.3.x-final
Parent ID: #21888

Moving to prop224-extra. HS v3 works without this and we are too close to 032 freeze to consider something that core.

comment:8 Changed 3 years ago by dgoulet

Resolution: invalid
Status: needs_revisionclosed

I'm closing this. Part of it is wrong and most of it gets superseded with the work in #22781 and the IPv6 effort.

Note: See TracTickets for help on using tickets.