Skip to content
  1. Oct 01, 2013
  2. Sep 25, 2013
  3. Sep 24, 2013
  4. Sep 22, 2013
  5. Sep 20, 2013
  6. Sep 18, 2013
    • Dr. Stephen Henson's avatar
      Fix warning. · 7560f639
      Dr. Stephen Henson authored
      7560f639
    • Dr. Stephen Henson's avatar
      DTLS version usage fixes. · 1dfb1b10
      Dr. Stephen Henson authored
      Make DTLS behave like TLS when negotiating version: record layer has
      DTLS 1.0, message version is 1.2.
      
      Tolerate different version numbers if version hasn't been negotiated
      yet.
      (cherry picked from commit 40088d8b)
      1dfb1b10
    • Dr. Stephen Henson's avatar
      DTLS trace support. · 6e1987ca
      Dr. Stephen Henson authored
      Add DTLS record header parsing, different client hello format and add
      HelloVerifyRequest message type.
      
      Add code to d1_pkt.c to send message headers to the message callback.
      (cherry picked from commit 890f2f8b)
      
      Conflicts:
      
      	ssl/ssl_locl.h
      6e1987ca
    • Dr. Stephen Henson's avatar
      Suite B support for DTLS 1.2 · d3071769
      Dr. Stephen Henson authored
      Check for Suite B support using method flags instead of version numbers:
      anything supporting TLS 1.2 cipher suites will also support Suite B.
      
      Return an error if an attempt to use DTLS 1.0 is made in Suite B mode.
      (cherry picked from commit 4544f0a6)
      d3071769
    • Dr. Stephen Henson's avatar
      Always return errors in ssl3_get_client_hello · c391a742
      Dr. Stephen Henson authored
      If we successfully match a cookie don't set return value to 2 as this
      results in other error conditions returning 2 as well.
      
      Instead set return value to -2 which can be checked later if everything
      else is OK.
      (cherry picked from commit c56f5b8e)
      c391a742
    • Dr. Stephen Henson's avatar
      Dual DTLS version methods. · 65a87d3c
      Dr. Stephen Henson authored
      Add new methods DTLS_*_method() which support both DTLS 1.0 and DTLS 1.2 and
      pick the highest version the peer supports during negotiation.
      
      As with SSL/TLS options can change this behaviour specifically
      SSL_OP_NO_DTLSv1 and SSL_OP_NO_DTLSv1_2.
      (cherry picked from commit c6913eeb)
      
      Conflicts:
      
      	CHANGES
      65a87d3c
    • Dr. Stephen Henson's avatar
      Enable TLS 1.2 ciphers in DTLS 1.2. · b60b9e7a
      Dr. Stephen Henson authored
      Port TLS 1.2 GCM code to DTLS. Enable use of TLS 1.2 only ciphers when in
      DTLS 1.2 mode too.
      (cherry picked from commit 4221c0dd)
      b60b9e7a
    • Dr. Stephen Henson's avatar
      Update fixed DH requirements. · 919834dc
      Dr. Stephen Henson authored
      The relaxed signing requirements for fixed DH certificates apply to DTLS 1.2
      too.
      (cherry picked from commit fbbaacca)
      919834dc
    • Dr. Stephen Henson's avatar
      DTLS 1.2 cached record support. · efc17286
      Dr. Stephen Henson authored
      Add DTLS1.2 support for cached records when computing handshake macs
      instead of the MD5+SHA1 case for DTLS < 1.2 (this is a port of the
      equivalent TLS 1.2 code to DTLS).
      (cherry picked from commit 04fac500)
      efc17286
    • Dr. Stephen Henson's avatar
      Provisional DTLS 1.2 support. · acec5a62
      Dr. Stephen Henson authored
      Add correct flags for DTLS 1.2, update s_server and s_client to handle
      DTLS 1.2 methods.
      
      Currently no support for version negotiation: i.e. if client/server selects
      DTLS 1.2 it is that or nothing.
      (cherry picked from commit c3b344e3)
      
      Conflicts:
      
      	apps/s_server.c
      acec5a62
    • Dr. Stephen Henson's avatar
      Remove versions test from dtls1_buffer_message · 68039af3
      Dr. Stephen Henson authored
      Since this is always called from DTLS code it is safe to assume the header
      length should be the DTLS value. This avoids the need to check the version
      number and should work with any version of DTLS (not just 1.0).
      (cherry picked from commit 9cf0f187)
      68039af3
    • Dr. Stephen Henson's avatar
      Extend DTLS method macros. · da1247d6
      Dr. Stephen Henson authored
      Extend DTLS method creation macros to support version numbers and encryption
      methods. Update existing code.
      (cherry picked from commit cfd298b7)
      da1247d6
    • Dr. Stephen Henson's avatar
      Enable various DTLS extensions. · 052d0358
      Dr. Stephen Henson authored
      Some TLS extensions were disabled for DTLS. Possibly because they caused
      problems with the old duplicated code. Enable them again.
      (cherry picked from commit 874a18cf)
      052d0358
    • Dr. Stephen Henson's avatar
      Use enc_flags when deciding protocol variations. · 1b6ab411
      Dr. Stephen Henson authored
      Use the enc_flags field to determine whether we should use explicit IV,
      signature algorithms or SHA256 default PRF instead of hard coding which
      versions support each requirement.
      (cherry picked from commit cbd64894)
      
      Conflicts:
      
      	ssl/ssl_locl.h
      1b6ab411
    • Dr. Stephen Henson's avatar
      Use appropriate versions of SSL3_ENC_METHOD · d88d98ed
      Dr. Stephen Henson authored
      (cherry picked from commit 6de2649a)
      d88d98ed
    • Dr. Stephen Henson's avatar
      DTLS revision. · 741c9959
      Dr. Stephen Henson authored
      Revise DTLS code. There was a *lot* of code duplication in the
      DTLS code that generates records. This makes it harder to maintain and
      sometimes a TLS update is omitted by accident from the DTLS code.
      
      Specifically almost all of the record generation functions have code like
      this:
      
      some_pointer = buffer + HANDSHAKE_HEADER_LENGTH;
      ... Record creation stuff ...
      set_handshake_header(ssl, SSL_MT_SOMETHING, message_len);
      
      ...
      
      write_handshake_message(ssl);
      
      Where the "Record creation stuff" is identical between SSL/TLS and DTLS or
      in some cases has very minor differences.
      
      By adding a few fields to SSL3_ENC to include the header length, some flags
      and function pointers for handshake header setting and handshake writing the
      code can cope with both cases.
      
      (cherry picked from commit 173e72e6)
      741c9959