Skip to content
  1. Nov 01, 2018
    • Daniel Stenberg's avatar
      axtls: removed · 302d125b
      Daniel Stenberg authored
      As has been outlined in the DEPRECATE.md document, the axTLS code has
      been disabled for 6 months and is hereby removed.
      
      Use a better supported TLS library!
      
      Assisted-by: Daniel Gustafsson
      Closes #3194
      302d125b
  2. Oct 30, 2018
  3. Sep 08, 2018
    • Daniel Stenberg's avatar
      URL-API · fb30ac5a
      Daniel Stenberg authored
      See header file and man pages for API. All documented API details work
      and are tested in the 1560 test case.
      
      Closes #2842
      fb30ac5a
  4. Sep 07, 2018
  5. Sep 06, 2018
  6. May 31, 2018
  7. May 29, 2018
    • Daniel Stenberg's avatar
      setopt: add TLS 1.3 ciphersuites · 050c93c4
      Daniel Stenberg authored
      Adds CURLOPT_TLS13_CIPHERS and CURLOPT_PROXY_TLS13_CIPHERS.
      
      curl: added --tls13-ciphers and --proxy-tls13-ciphers
      
      Fixes #2435
      Reported-by: zzq1015 on github
      Closes #2607
      050c93c4
  8. May 28, 2018
    • Patrick Monnerat's avatar
      psl: use latest psl and refresh it periodically · 8541d02c
      Patrick Monnerat authored
      The latest psl is cached in the multi or share handle. It is refreshed
      before use after 72 hours.
      New share lock CURL_LOCK_DATA_PSL controls the psl cache sharing.
      If the latest psl is not available, the builtin psl is used.
      
      Reported-by: Yaakov Selkowitz
      Fixes #2553
      Closes #2601
      8541d02c
  9. May 24, 2018
  10. May 17, 2018
    • Philip Prindeville's avatar
      getinfo: add microsecond precise timers for various intervals · ce2140a8
      Philip Prindeville authored
      Provide a set of new timers that return the time intervals using integer
      number of microseconds instead of floats.
      
      The new info names are as following:
      
      CURLINFO_APPCONNECT_TIME_T
      CURLINFO_CONNECT_TIME_T
      CURLINFO_NAMELOOKUP_TIME_T
      CURLINFO_PRETRANSFER_TIME_T
      CURLINFO_REDIRECT_TIME_T
      CURLINFO_STARTTRANSFER_TIME_T
      CURLINFO_TOTAL_TIME_T
      
      Closes #2495
      ce2140a8
  11. Mar 17, 2018
    • Rick Deist's avatar
      resolve: add CURLOPT_DNS_SHUFFLE_ADDRESSES · d95f3dc0
      Rick Deist authored
      This patch adds CURLOPT_DNS_SHUFFLE_ADDRESSES to explicitly request
      shuffling of IP addresses returned for a hostname when there is more
      than one. This is useful when the application knows that a round robin
      approach is appropriate and is willing to accept the consequences of
      potentially discarding some preference order returned by the system's
      implementation.
      
      Closes #1694
      d95f3dc0
    • Lawrence Matthews's avatar
      CURLOPT_HAPROXYPROTOCOL: support the HAProxy PROXY protocol · 6baeb6df
      Lawrence Matthews authored
      Add --haproxy-protocol for the command line tool
      
      Closes #2162
      6baeb6df
  12. Feb 22, 2018
    • Francisco Sedano's avatar
      url: Add option CURLOPT_RESOLVER_START_FUNCTION · 23713645
      Francisco Sedano authored
      - Add new option CURLOPT_RESOLVER_START_FUNCTION to set a callback that
        will be called every time before a new resolve request is started
        (ie before a host is resolved) with a pointer to backend-specific
        resolver data. Currently this is only useful for ares.
      
      - Add new option CURLOPT_RESOLVER_START_DATA to set a user pointer to
        pass to the resolver start callback.
      
      Closes https://github.com/curl/curl/pull/2311
      23713645
  13. Feb 21, 2018
    • Jay Satiro's avatar
      lib: CURLOPT_HAPPY_EYEBALLS_TIMEOUT => CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS · dd027c80
      Jay Satiro authored
      - In keeping with the naming of our other connect timeout options rename
        CURLOPT_HAPPY_EYEBALLS_TIMEOUT to CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS.
      
      This change adds the _MS suffix since the option expects milliseconds.
      This is more intuitive for our users since other connect timeout options
      that expect milliseconds use _MS such as CURLOPT_TIMEOUT_MS,
      CURLOPT_CONNECTTIMEOUT_MS, CURLOPT_ACCEPTTIMEOUT_MS.
      
      The tool option already uses an -ms suffix, --happy-eyeballs-timeout-ms.
      
      Follow-up to 2427d94c which added the lib and tool option yesterday.
      
      Ref: https://github.com/curl/curl/pull/2260
      dd027c80
  14. Feb 20, 2018
    • Anders Bakken's avatar
      url: Add option CURLOPT_HAPPY_EYEBALLS_TIMEOUT · 2427d94c
      Anders Bakken authored
      - Add new option CURLOPT_HAPPY_EYEBALLS_TIMEOUT to set libcurl's happy
        eyeball timeout value.
      
      - Add new optval macro CURL_HET_DEFAULT to represent the default happy
        eyeballs timeout value (currently 200 ms).
      
      - Add new tool option --happy-eyeballs-timeout-ms to expose
        CURLOPT_HAPPY_EYEBALLS_TIMEOUT. The -ms suffix is used because the
        other -timeout options in the tool expect seconds not milliseconds.
      
      Closes https://github.com/curl/curl/pull/2260
      2427d94c
  15. Feb 15, 2018
  16. Jan 30, 2018
  17. Dec 08, 2017
  18. Dec 01, 2017
  19. Nov 27, 2017
  20. Nov 05, 2017
    • Patrick Monnerat's avatar
      HTTP: implement Brotli content encoding · 11bf1796
      Patrick Monnerat authored
      This uses the brotli external library (https://github.com/google/brotli).
      Brotli becomes a feature: additional curl_version_info() bit and
      structure fields are provided for it and CURLVERSION_NOW bumped.
      
      Tests 314 and 315 check Brotli content unencoding with correct and
      erroneous data.
      
      Some tests are updated to accomodate with the now configuration dependent
      parameters of the Accept-Encoding header.
      11bf1796
  21. Sep 27, 2017
    • Daniel Stenberg's avatar
      curl.h: include <sys/select.h> on cygwin too · 6aa86c49
      Daniel Stenberg authored
      When building with -std=c++14 on cygwin, this header won't be
      automatically included as it otherwise is.
      
      The <sys/select.h> include decision should ideally be reversed and be
      avoided where that header file doesn't exist.
      
      Reported-by: Ian Fette
      Fixes #1925
      6aa86c49
  22. Sep 22, 2017
  23. Sep 12, 2017
  24. Sep 05, 2017
  25. Sep 04, 2017
  26. Sep 03, 2017
  27. Sep 02, 2017
    • Patrick Monnerat's avatar
      mime: new MIME API. · ce0881ed
      Patrick Monnerat authored
      Available in HTTP, SMTP and IMAP.
      Deprecates the FORM API.
      See CURLOPT_MIMEPOST.
      Lib code and associated documentation.
      ce0881ed
  28. Aug 30, 2017
  29. Aug 28, 2017
    • Johannes Schindelin's avatar
      version: add the CURL_VERSION_MULTI_SSL feature flag · 9d96a5f0
      Johannes Schindelin authored
      
      
      This new feature flag reports When cURL was built with multiple SSL
      backends.
      
      Signed-off-by: default avatarJohannes Schindelin <johannes.schindelin@gmx.de>
      9d96a5f0
    • Johannes Schindelin's avatar
      vtls: introduce curl_global_sslset() · 1328f69d
      Johannes Schindelin authored
      
      
      Let's add a compile time safe API to select an SSL backend. This
      function needs to be called *before* curl_global_init(), and can be
      called only once.
      
      Side note: we do not explicitly test that it is called before
      curl_global_init(), but we do verify that it is not called multiple times
      (even implicitly).
      
      If SSL is used before the function was called, it will use whatever the
      CURL_SSL_BACKEND environment variable says (or default to the first
      available SSL backend), and if a subsequent call to
      curl_global_sslset() disagrees with the previous choice, it will fail
      with CURLSSLSET_TOO_LATE.
      
      The function also accepts an "avail" parameter to point to a (read-only)
      NULL-terminated list of available backends. This comes in real handy if
      an application wants to let the user choose between whatever SSL backends
      the currently available libcurl has to offer: simply call
      
      	curl_global_sslset(-1, NULL, &avail);
      
      which will return CURLSSLSET_UNKNOWN_BACKEND and populate the avail
      variable to point to the relevant information to present to the user.
      
      Just like with the HTTP/2 push functions, we have to add the function
      declaration of curl_global_sslset() function to the header file
      *multi.h* because VMS and OS/400 require a stable order of functions
      declared in include/curl/*.h (where the header files are sorted
      alphabetically). This looks a bit funny, but it cannot be helped.
      
      Signed-off-by: default avatarJohannes Schindelin <johannes.schindelin@gmx.de>
      1328f69d
    • Johannes Schindelin's avatar
      vtls: refactor out essential information about the SSL backends · b59288f8
      Johannes Schindelin authored
      
      
      There is information about the compiled-in SSL backends that is really
      no concern of any code other than the SSL backend itself, such as which
      function (if any) implements SHA-256 summing.
      
      And there is information that is really interesting to the user, such as
      the name, or the curl_sslbackend value.
      
      Let's factor out the latter into a publicly visible struct. This
      information will be used in the upcoming API to set the SSL backend
      globally.
      
      Signed-off-by: default avatarJohannes Schindelin <johannes.schindelin@gmx.de>
      b59288f8