Opened 3 years ago

Closed 3 years ago

#18604 closed defect (implemented)

Deleting an ephemeral service doesn't always destroy intro circuits

Reported by: special Owned by:
Priority: Medium Milestone: Tor: 0.2.9.x-final
Component: Core Tor/Tor Version: Tor: 0.2.7.6
Severity: Normal Keywords: tor-hs
Cc: Actual Points: 0.1
Parent ID: Points: 1
Reviewer: special Sponsor: SponsorR-can

Description

On tor 0.2.7.6 with hidden services configured via ADD_ONION, this warning appeared several times:

    log_warn(LD_REND, "Unrecognized service ID %s on introduction circuit %u.",
             serviceid, (unsigned)circuit->base_.n_circ_id);

This happens when an introduction circuit finishes building and the service it was built for no longer exists.

When removing an ephemeral service, we close all S_ESTABLISH_INTRO or S_INTRO circuits that are CIRCUIT_STATE_OPEN. I suspect this warning happens when the service is removed before an introduction circuit reaches STATE_OPEN.

Child Tickets

Change History (6)

comment:1 Changed 3 years ago by dgoulet

Milestone: Tor: 0.2.9.x-final
Points: small
Sponsor: SponsorR-can
Version: Tor: 0.2.7.6

comment:2 Changed 3 years ago by isabela

Points: small1

comment:3 Changed 3 years ago by dgoulet

Actual Points: 0.1
Status: newneeds_review

Removing the requirement for the circuit to be in open state seems logical to me.

I think something like this could be a fix: bug18604_029_01

comment:4 Changed 3 years ago by special

Status: needs_reviewmerge_ready

comment:5 Changed 3 years ago by special

Reviewer: special

comment:6 Changed 3 years ago by nickm

Resolution: implemented
Status: merge_readyclosed

merged!

Note: See TracTickets for help on using tickets.