[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #15618 [Core Tor/Tor]: Tried to establish rendezvous on non-OR circuit with purpose Acting as rendevous (pending)
#15618: Tried to establish rendezvous on non-OR circuit with purpose Acting as
rendevous (pending)
-------------------------------------------------+-------------------------
Reporter: asn | Owner: dgoulet
Type: defect | Status:
| needs_information
Priority: Medium | Milestone: Tor:
| unspecified
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: tor-hs needs-insight needs- | Actual Points:
diagnosis |
Parent ID: | Points: 1
Reviewer: | Sponsor:
-------------------------------------------------+-------------------------
Comment (by asn):
IIUC, the only way for a client to send two `ESTABLISH_REND` on the same
circuit is to call `hs_client_circuit_has_opened()` twice, since that's
the func that calls `client_rendezvous_circ_has_opened()` and
`rend_client_rendcirc_has_opened()`. s7r seems to disprove this theory in
comment:18 but I don't see another way.
My suggestion would be to use the flag `circ->has_opened` that is set by
`circuit_has_opened()`, and make sure that we don't call
`hs_client_circuit_has_opened()` if the `has_opened` flag is already set
to make sure we dont call the func twice.
This will block the "double has_opened" theory. There might be other ways
to cause this bug, or it might just be a custom client, so there is still
work here...
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/15618#comment:51>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs