hs-v3: Don't assert if we don't have the intro point descriptor #358
Conversation
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
When sending the INTRODUCE1 cell, we lookup the intro point onion key but
there is a possibility that between opening the circuit and sending the cell
the relay descriptor of the node could have been removed leading to not
finding the onion key and a non fatal assert client side which also closes the
SOCKS connection without trying anything else.
We now look for that missing onion key and recover gracefully by closing the
intro point circuit, noting down the error in the failure cache and tor then
tries a new intro point.
Note that the send introduce1 function now makes sure to close the intro
circuit in case of an error because the caller is expecting it by validating
it with a non fatal assert. It is especially important so we can recover and
select a new intro point.
Fixes #27774
Signed-off-by: David Goulet dgoulet@torproject.org
The text was updated successfully, but these errors were encountered: