Skip to content
  1. 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
  2. Nov 21, 2013
  3. Nov 12, 2013
  4. 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
  5. Sep 12, 2013
  6. Sep 04, 2013
  7. 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
  8. Aug 22, 2013
  9. 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
  10. Apr 27, 2013
  11. 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
  12. Mar 12, 2013
  13. Mar 11, 2013
  14. Sep 26, 2012
  15. Aug 27, 2012
  16. 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
  17. Aug 08, 2012
  18. 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
  19. Apr 18, 2012
  20. Apr 05, 2012
  21. Feb 14, 2012
    • Steve Holme's avatar
      smtp_mail: Added support to MAIL FROM for the optional AUTH parameter · 0cf0ab6f
      Steve Holme authored
      Added a new CURLOPT_MAIL_AUTH option that allows the calling program to
      set the optional AUTH parameter in the MAIL FROM command.
      
      When this option is specified and an authentication mechanism is used
      to communicate with the mail server then the AUTH parameter will be
      included in the MAIL FROM command. This is particularly useful when the
      calling program is acting as a relay in a trusted environment and
      performing server to server communication, as it allows the relaying
      server to specify the address of the mailbox that was used to
      authenticate and send the original email.
      0cf0ab6f
  22. Feb 09, 2012
    • Daniel Stenberg's avatar
      CURLOPT_SSL_OPTIONS: added · 2a699bc6
      Daniel Stenberg authored
      Allow an appliction to set libcurl specific SSL options. The first and
      only options supported right now is CURLSSLOPT_ALLOW_BEAST.
      
      It will make libcurl to disable any work-arounds the underlying SSL
      library may have to address a known security flaw in the SSL3 and TLS1.0
      protocol versions.
      
      This is a reaction to us unconditionally removing that behavior after
      this security advisory:
      
      http://curl.haxx.se/docs/adv_20120124B.html
      
      ... it did however cause a lot of programs to fail because of old
      servers not liking this work-around. Now programs can opt to decrease
      the security in order to interoperate with old servers better.
      2a699bc6
    • Dave Reisner's avatar
      add library support for tuning TCP_KEEPALIVE · 705f0f7a
      Dave Reisner authored
      This adds three new options to control the behavior of TCP keepalives:
      
      - CURLOPT_TCP_KEEPALIVE: enable/disable probes
      - CURLOPT_TCP_KEEPIDLE: idle time before sending first probe
      - CURLOPT_TCP_KEEPINTVL: delay between successive probes
      
      While not all operating systems support the TCP_KEEPIDLE and
      TCP_KEEPINTVL knobs, the library will still allow these options to be
      set by clients, silently ignoring the values.
      705f0f7a
  23. Jan 05, 2012
    • Daniel Stenberg's avatar
      curl.h: provide backwards compatible symbols · 52824ed1
      Daniel Stenberg authored
      In commit c834213a we re-used some obsolete error codes, and here are
      two defines that makes sure existing source codes that happen to use any
      of these deprecated ones will still compile.
      
      As usual, define CURL_NO_OLDIES to avoid getting these "precaution
      defines".
      52824ed1
  24. Dec 20, 2011
    • Gokhan Sengun's avatar
      FTP: perform active connections non-blocking · c834213a
      Gokhan Sengun authored
      1- Two new error codes are introduced.
      
      CURLE_FTP_ACCEPT_FAILED to be set whenever ACCEPTing fails because of
      FTP server connected.
      
      CURLE_FTP_ACCEPT_TIMEOUT to be set whenever ACCEPTing timeouts.
      
      Neither of these errors are considered fatal and control connection
      remains OK because it could just be a firewall blocking server to
      connect to the client.
      
      2- One new setopt option was introduced.
      
      CURLOPT_ACCEPTTIMEOUT_MS
      
      It sets the maximum amount of time FTP client is going to wait for a
      server to connect. Internal default accept timeout is 60 seconds.
      c834213a
    • Cédric Deltheil's avatar
      curl.h: add __ANDROID__ macro check · bedfafe3
      Cédric Deltheil authored
      When working with the Android Standalone Toolchain the compiler defines
      this macro:
      
        /path/to/arm-linux-androideabi-gcc -E -dM - < /dev/null \
        | grep -i android
        #define __ANDROID__ 1
      
      We really need to check both ANDROID and __ANDROID__ since I've observed
      that:
      
      * if you use Android.mk file(s) and the 'ndk-build' script (aka vanilla
      way), ANDROID is predefined (see -DANDROID extra C flag),
      
      * if you use the Android Standalone Toolchain, then __ANDROID__ is
      predefined as stated by the compiler
      bedfafe3
  25. Nov 17, 2011
  26. Oct 03, 2011
    • Daniel Stenberg's avatar
      share: don't use SSL unless enabled · 15e3e451
      Daniel Stenberg authored
      Don't even declare the struct members for disabled features
      
      Introducing the CURLSHE_NOT_BUILT_IN return code for the share interface
      when trying to set a sharing option that has been disabled (or not
      enabled) in the library.
      15e3e451
  27. Sep 26, 2011
  28. Sep 25, 2011
  29. Aug 26, 2011
    • Yang Tse's avatar
      NTLM single-sign on adjustments (X) · 407e08ba
      Yang Tse authored
      Functions renamed:
      
      Curl_output_ntlm_sso -> Curl_output_ntlm_wb
      sso_ntlm_close -> wb_ntlm_close
      sso_ntlm_response -> wb_ntlm_response
      sso_ntlm_initiate -> wb_ntlm_initiate
      
      Preprocessor symbols renamed:
      
      CURLAUTH_NTLM_SSO -> CURLAUTH_NTLM_WB
      CURL_VERSION_NTLM_SSO -> CURL_VERSION_NTLM_WB
      407e08ba
  30. Aug 09, 2011
  31. Aug 05, 2011
  32. Aug 04, 2011
  33. Aug 03, 2011
  34. Jul 18, 2011