Opened 6 years ago

Closed 5 years ago

#9097 closed task (duplicate)

Hidden service v0 and v1 INTRODUCE code should go away

Reported by: andrea Owned by:
Priority: Medium Milestone: Tor: 0.2.6.x-final
Component: Core Tor/Tor Version: Tor:
Severity: Keywords: tor-hs
Cc: andrea Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


Hidden service INTRODUCE cell formats v0 and v1 are obsolete; the current hidden service code (rend_service_update_descriptor() of rendservice.c) only advertises support for v2 and v3 in descriptors.

The client-side INTRODUCE code in rend_client_send_introduction() of rendclient.c doesn't appear to ever generate the v1 cell format. It generates v3 if supported, then v2 if not, or v0 if neither v2 or v3 is marked supported in the descriptor. It does not test if the descriptor supports v0, but always generates and sends a v0 cell if neither v2 or v3 is supported. This behavior is broken but in a way that probably can never manifest.

The server-side v0/v1 INTRODUCE parsing code triggers a false positive buffer overflow warning in Coverity scan - which turns out to always be safe because the string in question is always NUL-terminated by that point. Still, it's a bit hair-raising to see and there's no reason for that code to still exist.h

Child Tickets

Change History (4)

comment:1 Changed 6 years ago by rransom

INTRODUCE cells are not descriptors.

The v0 HS descriptor code should go away too.

comment:2 Changed 6 years ago by nickm

Keywords: tor-hs added

comment:3 Changed 5 years ago by nickm

Milestone: Tor: 0.2.5.x-finalTor: 0.2.6.x-final
Summary: Hidden service v0 and v1 descriptor code should go awayHidden service v0 and v1 INTRODUCE code should go away

Since dropping server-side support here would make a way to distinguish old vs new servers, it probably makes sense to do this stuff as part of our bigger hidden service revision efforts.

comment:4 Changed 5 years ago by nickm

Resolution: duplicate
Status: newclosed

Actually, closing as a duplicate of #6418

Note: See TracTickets for help on using tickets.