[tor-commits] [tor/maint-0.3.5] Do not cache bogus results from classifying client ciphers

teor at torproject.org teor at torproject.org
Fri Apr 5 23:35:26 UTC 2019


commit 1710f4bbd6bb100901e7f601a1c0f96b51845f86
Author: Nick Mathewson <nickm at torproject.org>
Date:   Thu Apr 4 11:24:55 2019 -0400

    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.
---
 changes/bug30021    | 8 ++++++++
 src/common/tortls.c | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/changes/bug30021 b/changes/bug30021
new file mode 100644
index 000000000..2a887f3cf
--- /dev/null
+++ b/changes/bug30021
@@ -0,0 +1,8 @@
+  o Minor bugfixes (TLS protocol, integration tests):
+    - 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.
diff --git a/src/common/tortls.c b/src/common/tortls.c
index 1fbe3c663..f79969d0d 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;





More information about the tor-commits mailing list