Skip to content
  1. May 20, 2016
    • Matt Caswell's avatar
      Add an async io test · d7295cd6
      Matt Caswell authored
      
      
      This adds an async IO test. There are two test runs. The first one does
      a normal handshake with lots of async IO events. The second one does the
      same but this time breaks up all the written records into multiple records
      of one byte in length. We do this all the way up until the CCS.
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      d7295cd6
    • Matt Caswell's avatar
      Ensure async IO works with new state machine · 1689e7e6
      Matt Caswell authored
      
      
      In the new state machine if using nbio and we get the header of a
      handshake message is one record with the body in the next, with an nbio
      event in the middle, then the connection was failing. This is because
      s->init_num was getting reset. We should only reset it after we have
      read the whole message.
      
      RT#4394
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      1689e7e6
    • David Benjamin's avatar
      Tighten up logic around ChangeCipherSpec. · 1257adec
      David Benjamin authored
      
      
      ChangeCipherSpec messages have a defined value. They also may not occur
      in the middle of a handshake message. The current logic will accept a
      ChangeCipherSpec with value 2. It also would accept up to three bytes of
      handshake data before the ChangeCipherSpec which it would discard
      (because s->init_num gets reset).
      
      Instead, require that s->init_num is 0 when a ChangeCipherSpec comes in.
      
      RT#4391
      
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      Reviewed-by: default avatarMatt Caswell <matt@openssl.org>
      1257adec
    • Matt Caswell's avatar
      Simplify SSL BIO buffering logic · 46417569
      Matt Caswell authored
      The write BIO for handshake messages is bufferred so that we only write
      out to the network when we have a complete flight. There was some
      complexity in the buffering logic so that we switched buffering on and
      off at various points through out the handshake. The only real reason to
      do this was historically it complicated the state machine when you wanted
      to flush because you had to traverse through the "flush" state (in order
      to cope with NBIO). Where we knew up front that there was only going to
      be one message in the flight we switched off buffering to avoid that.
      
      In the new state machine there is no longer a need for a flush state so
      it is simpler just to have buffering on for the whole handshake. This
      also gives us the added benefit that we can simply call flush after every
      flight even if it only has one message in it. This means that BIO authors
      can implement their own buffering strategies and not have to be aware of
      the state of the SSL object (previously they would h...
      46417569
    • Richard Levitte's avatar
      Fixup READLINE case · 72106aaa
      Richard Levitte authored
      
      
      RT#4543
      
      Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
      Reviewed-by: default avatarAndy Polyakov <appro@openssl.org>
      72106aaa
    • Rich Salz's avatar
      Fix nits in pod files. · 1bc74519
      Rich Salz authored
      
      
      Add doc-nit-check to help find future issues.
      Make podchecker be almost clean.
      Remove trailing whitespace.
      Tab expansion
      
      Reviewed-by: default avatarRichard Levitte <levitte@openssl.org>
      1bc74519
  2. May 19, 2016
  3. May 18, 2016