1. 30 7月, 2015 26 次提交
  2. 29 7月, 2015 1 次提交
  3. 28 7月, 2015 3 次提交
  4. 27 7月, 2015 2 次提交
    • M
      Add test for SSL_set_session_ticket_ext · 3b848c64
      Matt Caswell 提交于
      The function SSL_set_session_ticket_ext sets the ticket data to be sent in
      the ClientHello. This is useful for EAP-FAST. This commit adds a test to
      ensure that when this function is called the expected ticket data actually
      appears in the ClientHello.
      Reviewed-by: NViktor Dukhovni <viktor@openssl.org>
      3b848c64
    • M
      Remove support for SSL3_FLAGS_DELAY_CLIENT_FINISHED · 57787ac8
      Matt Caswell 提交于
      This flag was not set anywhere within the codebase (only read). It could
      only be set by an app reaching directly into s->s3->flags and setting it
      directly. However that method became impossible when libssl was opaquified.
      
      Even in 1.0.2/1.0.1 if an app set the flag directly it is only relevant to
      ssl3_connect(), which calls SSL_clear() during initialisation that clears
      any flag settings. Therefore it could take effect if the app set the flag
      after the handshake has started but before it completed. It seems quite
      unlikely that any apps really do this (especially as it is completely
      undocumented).
      
      The purpose of the flag is suppress flushing of the write bio on the client
      side at the end of the handshake after the client has written the Finished
      message whilst resuming a session. This enables the client to send
      application data as part of the same flight as the Finished message.
      
      This flag also controls the setting of a second flag SSL3_FLAGS_POP_BUFFER.
      There is an interesting comment in the code about this second flag in the
      implementation of ssl3_write:
      
      	/* This is an experimental flag that sends the
      	 * last handshake message in the same packet as the first
      	 * use data - used to see if it helps the TCP protocol during
      	 * session-id reuse */
      
      It seems the experiment did not work because as far as I can tell nothing
      is using this code. The above comment has been in the code since SSLeay.
      
      This commit removes support for SSL3_FLAGS_DELAY_CLIENT_FINISHED, as well
      as the associated SSL3_FLAGS_POP_BUFFER.
      Reviewed-by: NRich Salz <rsalz@openssl.org>
      57787ac8
  5. 23 7月, 2015 3 次提交
  6. 21 7月, 2015 4 次提交
  7. 20 7月, 2015 1 次提交
    • R
      Rewrite crypto/ex_data · 7e5363ab
      Rich Salz 提交于
      Removed ability to set ex_data impl at runtime.  This removed these
      three functions:
          const CRYPTO_EX_DATA_IMPL *CRYPTO_get_ex_data_implementation(void);
          int CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i);
          int CRYPTO_ex_data_new_class(void);
      It is no longer possible to change the ex_data implementation at
      runtime.  (Luckily those functions were never documented :)
      
      Also removed the ability to add new exdata "classes."  We don't believe
      this received much (if any) use, since you can't add it to OpenSSL objects,
      and there are probably better (native) methods for developers to add
      their own extensible data, if they really need that.
      
      Replaced the internal hash table (of per-"class" stacks) with a simple
      indexed array.  Reserved an index for "app" application.
      
      Each API used to take the lock twice; now it only locks once.
      
      Use local stack storage for function pointers, rather than malloc,
      if possible (i.e., number of ex_data items is under a dozen).
      
      Make CRYPTO_EX_DATA_FUNCS opaque/internal.
      
      Also fixes RT3710; index zero is reserved.
      Reviewed-by: NRichard Levitte <levitte@openssl.org>
      7e5363ab