Просмотр исходного кода

Merge remote-tracking branch 'public/bug7189_tentative'

Nick Mathewson 11 лет назад
Родитель
Сommit
4a7962e439
2 измененных файлов с 10 добавлено и 2 удалено
  1. 5 0
      changes/bug7189_server_only
  2. 5 2
      src/common/tortls.c

+ 5 - 0
changes/bug7189_server_only

@@ -0,0 +1,5 @@
+  o Minor bugfixes:
+    - Only disable TLS session ticket support when running as a TLS
+      server.  It's important for clients to remain hard to distinguish
+      from regular firefox connections. Fixes bug 7189; bugfix on
+      Tor 0.2.3.23-rc.

+ 5 - 2
src/common/tortls.c

@@ -1193,10 +1193,13 @@ tor_tls_context_new(crypto_pk_t *identity, unsigned int key_lifetime,
   /* Disable TLS tickets if they're supported.  We never want to use them;
    * using them can make our perfect forward secrecy a little worse, *and*
    * create an opportunity to fingerprint us (since it's unusual to use them
-   * with TLS sessions turned off).
+   * with TLS sessions turned off).  Clients need to advertise support for
+   * them, though to avoid a TLS distinguishability vector.
    */
 #ifdef SSL_OP_NO_TICKET
-  SSL_CTX_set_options(result->ctx, SSL_OP_NO_TICKET);
+  if (! is_client) {
+    SSL_CTX_set_options(result->ctx, SSL_OP_NO_TICKET);
+  }
 #endif
 
   if (