Skip to content
  1. Nov 07, 2014
  2. Nov 02, 2014
  3. Oct 13, 2014
  4. Oct 07, 2014
    • Travis Burtrum's avatar
      SSL: implement public key pinning · 93e45079
      Travis Burtrum authored
      Option --pinnedpubkey takes a path to a public key in DER format and
      only connect if it matches (currently only implemented with OpenSSL).
      
      Provides CURLOPT_PINNEDPUBLICKEY for curl_easy_setopt().
      
      Extract a public RSA key from a website like so:
      openssl s_client -connect google.com:443 2>&1 < /dev/null | \
      sed -n '/-----BEGIN/,/-----END/p' | openssl x509 -noout -pubkey \
      | openssl rsa -pubin -outform DER > google.com.der
      93e45079
  5. Jul 31, 2014
  6. Jul 28, 2014
  7. Jul 23, 2014
    • Daniel Stenberg's avatar
      http2: more and better error checking · 81cd24ad
      Daniel Stenberg authored
      1 - fixes the warnings when built without http2 support
      
      2 - adds CURLE_HTTP2, a new error code for errors detected by nghttp2
      basically when they are about http2 specific things.
      81cd24ad
  8. Jul 22, 2014
  9. Jun 18, 2014
  10. Jun 17, 2014
  11. Apr 04, 2014
  12. Feb 13, 2014
  13. Feb 10, 2014
  14. Dec 14, 2013
  15. Dec 06, 2013
    • Christian Weisgerber's avatar
      curl.h: <sys/select.h> for OpenBSD · 92e607ab
      Christian Weisgerber authored
      curl.h should also include <sys/select.h> on OpenBSD to reliably
      pull in select().  Typically, including <sys/time.h> will be enough,
      but not if strict standards-compliance is requested (e.g. by defining
      _XOPEN_SOURCE).
      92e607ab
  16. Nov 30, 2013
    • Steve Holme's avatar
      curl_easy_getinfo: Post CURLINFO_TLS_SESSION tidy up · dc68120e
      Steve Holme authored
      1) Renamed curl_tlsinfo to curl_tlssessioninfo as discussed on the
      mailing list.
      2) Renamed curl_ssl_backend to curl_sslbackend so it doesn't follow our
      function naming convention.
      3) Updated sessioninfo.c example accordingly.
      dc68120e
  17. Nov 21, 2013
  18. Nov 12, 2013
  19. Oct 15, 2013
    • Gergely Nagy's avatar
      SSL: protocol version can be specified more precisely · ad34a2d5
      Gergely Nagy authored
      CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1,
      CURL_SSLVERSION_TLSv1_2 enum values are added to force exact TLS version
      (CURL_SSLVERSION_TLSv1 means TLS 1.x).
      
      axTLS:
      axTLS only supports TLS 1.0 and 1.1 but it cannot be set that only one
      of these should be used, so we don't allow the new enum values.
      
      darwinssl:
      Added support for the new enum values.
      
      SChannel:
      Added support for the new enum values.
      
      CyaSSL:
      Added support for the new enum values.
      Bug: The original CURL_SSLVERSION_TLSv1 value enables only TLS 1.0 (it
      did the same before this commit), because CyaSSL cannot be configured to
      use TLS 1.0-1.2.
      
      GSKit:
      GSKit doesn't seem to support TLS 1.1 and TLS 1.2, so we do not allow
      those values.
      Bugfix: There was a typo that caused wrong SSL versions to be passed to
      GSKit.
      
      NSS:
      TLS minor version cannot be set, so we don't allow the new enum values.
      
      QsoSSL:
      TLS minor version cannot be set, so we don't allow the new enum values.
      
      OpenSSL:
      Added support for the new enum values.
      Bugfix: The original CURL_SSLVERSION_TLSv1 value enabled only TLS 1.0,
      now it enables 1.0-1.2.
      
      Command-line tool:
      Added command line options for the new values.
      ad34a2d5
  20. Sep 12, 2013
  21. Sep 04, 2013
  22. Aug 25, 2013
    • Kyle L. Huff's avatar
      options: added basic SASL XOAUTH2 support · 06c1bea7
      Kyle L. Huff authored
      Added the ability to specify an XOAUTH2 bearer token [RFC6750] via the
      option CURLOPT_XOAUTH2_BEARER for authentication using RFC6749 "OAuth
      2.0 Authorization Framework".
      06c1bea7
  23. Aug 22, 2013
  24. Jul 18, 2013
    • Daniel Stenberg's avatar
      CURLOPT_XFERINFOFUNCTION: introducing a new progress callback · 12d01cb6
      Daniel Stenberg authored
      CURLOPT_XFERINFOFUNCTION is now the preferred progress callback function
      and CURLOPT_PROGRESSFUNCTION is considered deprecated.
      
      This new callback uses pure 'curl_off_t' arguments to pass on full
      resolution sizes. It otherwise retains the same characteristics: the
      same call rate, the same meanings for the arguments and the return code
      is used the same way.
      
      The progressfunc.c example is updated to show how to use the new
      callback for newer libcurls while supporting the older one if built with
      an older libcurl or even built with a newer libcurl while running with
      an older.
      12d01cb6
  25. Apr 27, 2013
  26. Mar 13, 2013
    • Linus Nielsen's avatar
      Multiple pipelines and limiting the number of connections. · 0f147887
      Linus Nielsen authored
      Introducing a number of options to the multi interface that
      allows for multiple pipelines to the same host, in order to
      optimize the balance between the penalty for opening new
      connections and the potential pipelining latency.
      
      Two new options for limiting the number of connections:
      
      CURLMOPT_MAX_HOST_CONNECTIONS - Limits the number of running connections
      to the same host. When adding a handle that exceeds this limit,
      that handle will be put in a pending state until another handle is
      finished, so we can reuse the connection.
      
      CURLMOPT_MAX_TOTAL_CONNECTIONS - Limits the number of connections in total.
      When adding a handle that exceeds this limit,
      that handle will be put in a pending state until another handle is
      finished. The free connection will then be reused, if possible, or
      closed if the pending handle can't reuse it.
      
      Several new options for pipelining:
      
      CURLMOPT_MAX_PIPELINE_LENGTH - Limits the pipeling length. If a
      pipeline is "full" when a connection is to be reused, a new connection
      will be opened if the CURLMOPT_MAX_xxx_CONNECTIONS limits allow it.
      If not, the handle will be put in a pending state until a connection is
      ready (either free or a pipe got shorter).
      
      CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE - A pipelined connection will not
      be reused if it is currently processing a transfer with a content
      length that is larger than this.
      
      CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE - A pipelined connection will not
      be reused if it is currently processing a chunk larger than this.
      
      CURLMOPT_PIPELINING_SITE_BL - A blacklist of hosts that don't allow
      pipelining.
      
      CURLMOPT_PIPELINING_SERVER_BL - A blacklist of server types that don't allow
      pipelining.
      
      See the curl_multi_setopt() man page for details.
      0f147887
  27. Mar 12, 2013
  28. Mar 11, 2013
  29. Sep 26, 2012
  30. Aug 27, 2012
  31. Aug 16, 2012
    • Gokhan Sengun's avatar
      ftp: active conn, allow application to set sockopt after accept() call · 23ef5e4b
      Gokhan Sengun authored
      For active FTP connections, applications may need setting the sockopt after accept() call returns successful. This fix gives a call to the callback registered with CURL_SOCKOPTFUNCTION option. Also a new sock type - CURLSOCKTYPE_ACCEPT - is added. This type is to be passed to application callbacks with - purpose - parameter. Applications may use this parameter to distinguish between socket types.
      23ef5e4b
  32. Aug 08, 2012
  33. Jun 11, 2012
    • Daniel Stenberg's avatar
      Revert: 634f7cfe partially · af0888aa
      Daniel Stenberg authored
      Make sure CURL_VERSION_SSPI is present and works as in previous releases
      for ABI and API compatibility reasons.
      af0888aa
    • Marc Hoersken's avatar
      version: Replaced SSPI feature information with version string details · 634f7cfe
      Marc Hoersken authored
      Added Windows SSPI version information to the curl version string when
      SCHANNEL SSL is not enabled, as the version of the library should also
      be included when SSPI is used to generate security contexts.
      
      Removed SSPI from the feature list as the features are GSS-Negotiate,
      NTLM and SSL depending on the usage of the SSPI library.
      634f7cfe
  34. Apr 18, 2012