aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2019-04-04 11:24:55 -0400
committerNick Mathewson <nickm@torproject.org>2019-04-04 11:24:55 -0400
commit1710f4bbd6bb100901e7f601a1c0f96b51845f86 (patch)
treea78f91603343f77e6f07b8ebfe9bcfdf5b5419a6 /src
parent54e249e269c63fd5f003dd8c15faa6a13902f8e4 (diff)
downloadtor-1710f4bbd6bb100901e7f601a1c0f96b51845f86.tar.gz
tor-1710f4bbd6bb100901e7f601a1c0f96b51845f86.zip
Do not cache bogus results from classifying client ciphers
When classifying a client's selection of TLS ciphers, if the client ciphers are not yet available, do not cache the result. Previously, we had cached the unavailability of the cipher list and never looked again, which in turn led us to assume that the client only supported the ancient V1 link protocol. This, in turn, was causing Stem integration tests to stall in some cases. Fixes bug 30021; bugfix on 0.2.4.8-alpha.
Diffstat (limited to 'src')
-rw-r--r--src/common/tortls.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/common/tortls.c b/src/common/tortls.c
index 1fbe3c663e..f79969d0da 100644
--- a/src/common/tortls.c
+++ b/src/common/tortls.c
@@ -1500,7 +1500,7 @@ tor_tls_classify_client_ciphers(const SSL *ssl,
smartlist_free(elts);
}
done:
- if (tor_tls)
+ if (tor_tls && peer_ciphers)
return tor_tls->client_cipher_list_type = res;
return res;