Skip to content
  1. Oct 30, 2015
    • Matt Caswell's avatar
      Implement Client TLS state machine · 8723588e
      Matt Caswell authored
      
      
      This swaps the implementation of the client TLS state machine to use the
      new state machine code instead.
      
      Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      8723588e
    • Matt Caswell's avatar
      Split client message reading and writing functions · b9908bf9
      Matt Caswell authored
      
      
      The new state machine code will split up the reading and writing of
      hanshake messages into discrete phases. In order to facilitate that the
      existing "get" type functions will be split into two halves: one to get
      the message and one to process it. The "send" type functions will also have
      all work relating to constructing the message split out into a separate
      function just for that. For some functions there will also be separate
      pre and post "work" phases to prepare or update state.
      
      Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      b9908bf9
    • Matt Caswell's avatar
      Add initial state machine rewrite code · f8e0a557
      Matt Caswell authored
      
      
      This is the first drop of the new state machine code.
      
      The rewrite has the following objectives:
      - Remove duplication of state code between client and server
      - Remove duplication of state code between TLS and DTLS
      - Simplify transitions and bring the logic together in a single location
        so that it is easier to validate
      - Remove duplication of code between each of the message handling functions
      - Receive a message first and then work out whether that is a valid
        transition - not the other way around (the other way causes lots of issues
        where we are expecting one type of message next but actually get something
        else)
      - Separate message flow state from handshake state (in order to better
        understand each)
        - message flow state = when to flush buffers; handling restarts in the
          event of NBIO events; handling the common flow of steps for reading a
          message and the common flow of steps for writing a message etc
        - handshake state = what handshake message are we working on now
      - Control complexity: only the state machine can change state: keep all
        the state changes local to a file
      
      This builds on previous state machine related work:
      - Surface CCS processing in the state machine
      - Version negotiation rewrite
      
      Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      f8e0a557
    • Matt Caswell's avatar
      Split ssl3_get_message · 9ab930b2
      Matt Caswell authored
      
      
      The function ssl3_get_message gets a whole message from the underlying bio
      and returns it to the state machine code. The new state machine code will
      split this into two discrete steps: get the message header and get the
      message body. This commit splits the existing function into these two
      sub steps to facilitate the state machine implementation.
      
      Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      9ab930b2
  2. Oct 29, 2015
  3. Oct 28, 2015
    • Rich Salz's avatar
      Remove SSLeay history, etc., from docs · a528d4f0
      Rich Salz authored
      
      
      If something was "present in all versions" of SSLeay, or if it was
      added to a version of SSLeay (and therefore predates OpenSSL),
      remove mention of it.  Documentation history now starts with OpenSSL.
      
      Remove mention of all history before OpenSSL 0.9.8, inclusive.
      
      Remove all AUTHOR sections.
      
      Reviewed-by: default avatarTim Hudson <tjh@openssl.org>
      a528d4f0
  4. Oct 27, 2015
  5. Oct 26, 2015
  6. Oct 25, 2015
  7. Oct 24, 2015
  8. Oct 23, 2015
  9. Oct 22, 2015
  10. Oct 21, 2015
  11. Oct 18, 2015
  12. Oct 17, 2015
  13. Oct 16, 2015
  14. Oct 15, 2015