Skip to content
Snippets Groups Projects
  1. Jun 22, 2016
  2. 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
  3. 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
  4. Apr 03, 2016
  5. Feb 14, 2016
  6. Feb 08, 2016
  7. Feb 04, 2016
  8. Feb 02, 2016
  9. Dec 13, 2015
  10. Nov 24, 2015
  11. Nov 13, 2015
  12. Sep 23, 2015
  13. Sep 22, 2015
    • Mike Crowe's avatar
      gnutls: Support CURLOPT_KEYPASSWD · 6b56901b
      Mike Crowe authored
      
      The gnutls vtls back-end was previously ignoring any password set via
      CURLOPT_KEYPASSWD. Presumably this was because
      gnutls_certificate_set_x509_key_file did not support encrypted keys.
      
      gnutls now has a gnutls_certificate_set_x509_key_file2 function that
      does support encrypted keys. Let's determine at compile time whether the
      available gnutls supports this new function. If it does then use it to
      pass the password. If it does not then emit a helpful diagnostic if a
      password is set. This is preferable to the previous behaviour of just
      failing to read the certificate without giving a reason in that case.
      
      Signed-off-by: default avatarMike Crowe <mac@mcrowe.com>
      6b56901b
  14. Sep 19, 2015
  15. Jul 01, 2015
  16. Jun 01, 2015
    • Jay Satiro's avatar
      curl_setup: Add macros for FOPEN_READTEXT, FOPEN_WRITETEXT · e8423f9c
      Jay Satiro authored
      - Change fopen calls to use FOPEN_READTEXT instead of "r" or "rt"
      - Change fopen calls to use FOPEN_WRITETEXT instead of "w" or "wt"
      
      This change is to explicitly specify when we need to read/write text.
      Unfortunately 't' is not part of POSIX fopen so we can't specify it
      directly. Instead we now have FOPEN_READTEXT, FOPEN_WRITETEXT.
      
      Prior to this change we had an issue on Windows if an application that
      uses libcurl overrides the default file mode to binary. The default file
      mode in Windows is normally text mode (translation mode) and that's what
      libcurl expects.
      
      Bug: https://github.com/bagder/curl/pull/258#issuecomment-107093055
      Reported-by: Orgad Shaneh
      e8423f9c
  17. May 20, 2015
  18. May 04, 2015
  19. Mar 21, 2015
  20. Mar 20, 2015
  21. Mar 17, 2015
  22. Mar 10, 2015
  23. Mar 07, 2015
  24. Mar 03, 2015
  25. Feb 19, 2015
  26. Jan 17, 2015
  27. Jan 16, 2015
  28. Dec 25, 2014
  29. Dec 24, 2014
  30. Dec 08, 2014
  31. Oct 23, 2014
Loading