Skip to content
Snippets Groups Projects
  1. Aug 01, 2016
  2. Jun 22, 2016
  3. Jun 01, 2016
    • Ivan Avdeev's avatar
      vtls: fix ssl session cache race condition · 31c521b0
      Ivan Avdeev authored
      Sessionid cache management is inseparable from managing individual
      session lifetimes. E.g. for reference-counted sessions (like those in
      SChannel and OpenSSL engines) every session addition and removal
      should be accompanied with refcount increment and decrement
      respectively. Failing to do so synchronously leads to a race condition
      that causes symptoms like use-after-free and memory corruption.
      This commit:
       - makes existing session cache locking explicit, thus allowing
         individual engines to manage lock's scope.
       - fixes OpenSSL and SChannel engines by putting refcount management
         inside this lock's scope in relevant places.
       - adds these explicit locking calls to other engines that use
         sessionid cache to accommodate for this change. Note, however,
         that it is unknown whether any of these engines could also have
         this race.
      
      Bug: https://github.com/curl/curl/issues/815
      Fixes #815
      Closes #847
      31c521b0
  4. May 30, 2016
  5. May 24, 2016
  6. May 17, 2016
  7. May 09, 2016
    • Daniel Stenberg's avatar
      TLS: move the ALPN/NPN enable bits to the connection · f6767f54
      Daniel Stenberg authored
      Only protocols that actually have a protocol registered for ALPN and NPN
      should try to get that negotiated in the TLS handshake. That is only
      HTTPS (well, http/1.1 and http/2) right now. Previously ALPN and NPN
      would wrongly be used in all handshakes if libcurl was built with it
      enabled.
      
      Reported-by: Jay Satiro
      
      Fixes #789
      f6767f54
  8. Apr 28, 2016
  9. Apr 25, 2016
  10. Apr 07, 2016
  11. Apr 03, 2016
  12. Mar 19, 2016
  13. Mar 06, 2016
  14. Feb 10, 2016
  15. Feb 09, 2016
  16. Feb 02, 2016
  17. Jan 18, 2016
    • Jay Satiro's avatar
      mbedtls: Fix pinned key return value on fail · d58ba66e
      Jay Satiro authored
      - Switch from verifying a pinned public key in a callback during the
      certificate verification to inline after the certificate verification.
      
      The callback method had three problems:
      
      1. If a pinned public key didn't match, CURLE_SSL_PINNEDPUBKEYNOTMATCH
      was not returned.
      
      2. If peer certificate verification was disabled the pinned key
      verification did not take place as it should.
      
      3. (related to #2) If there was no certificate of depth 0 the callback
      would not have checked the pinned public key.
      
      Though all those problems could have been fixed it would have made the
      code more complex. Instead we now verify inline after the certificate
      verification in mbedtls_connect_step2.
      
      Ref: http://curl.haxx.se/mail/lib-2016-01/0047.html
      Ref: https://github.com/bagder/curl/pull/601
      d58ba66e
  18. Jan 09, 2016
  19. Jan 07, 2016
    • Jay Satiro's avatar
      mbedtls: Fix ALPN support · 89a1eb7b
      Jay Satiro authored
      - Fix ALPN reply detection.
      
      - Wrap nghttp2 code in ifdef USE_NGHTTP2.
      
      
      Prior to this change ALPN and HTTP/2 did not work properly in mbedTLS.
      89a1eb7b
  20. Dec 13, 2015
  21. Oct 29, 2015
  22. Oct 23, 2015
  23. Oct 22, 2015
  24. Oct 20, 2015
Loading