Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ticket27410 035 01 #360

Merged
merged 2 commits into from Sep 20, 2018
Merged

Conversation

Labels
None yet
Projects
None yet
4 participants
@asn-d6
Copy link
Member

@asn-d6 asn-d6 commented Sep 20, 2018

No description provided.

dgoulet-tor added 2 commits Sep 19, 2018
Client side, when a descriptor is finally fetched and stored in the cache, we
then go over all pending SOCKS request for that descriptor. If it turns out
that the intro points are unusable, we close the first SOCKS request but not
the others for the same .onion.

This commit makes it that we'll close all SOCKS requests so we don't let
hanging the other ones.

It also fixes another bug which is having a SOCKS connection in RENDDESC_WAIT
state but with a descriptor in the cache. At some point, tor will expire the
intro failure cache which will make that descriptor usable again. When
retrying all SOCKS connection (retry_all_socks_conn_waiting_for_desc()), we
won't end up in the code path where we have already the descriptor for a
pending request causing a BUG().

Bottom line is that we should never have pending requests (waiting for a
descriptor) with that descriptor in the cache (even if unusable).

Fixees #27410.

Signed-off-by: David Goulet <dgoulet@torproject.org>
That unit test makes sure we don't have pending SOCK request if the descriptor
turns out to be unusable.

Part of #27410.

Signed-off-by: David Goulet <dgoulet@torproject.org>
@coveralls
Copy link

@coveralls coveralls commented Sep 20, 2018

Coverage Status

Coverage increased (+0.06%) to 61.956% when pulling cb81a69 on asn-d6:ticket27410_035_01 into 1191596 on torproject:master.

@torproject-pusher torproject-pusher merged commit cb81a69 into torproject:master Sep 20, 2018
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment