Go to file
Richard Whitehouse 0842175fa4
multi: alter transfer timeout ordering
- Check whether a connection has succeded before checking whether it's
  timed out.

  This means if we've connected quickly, but subsequently been
  descheduled, we allow the connection to succeed. Note, if we timeout,
  but between checking the timeout, and connecting to the server the
  connection succeeds, we will allow it to go ahead. This is viewed as
  an acceptable trade off.

- Add additional failf logging around failed connection attempts to
  propogate the cause up to the caller.

Co-Authored-by: Martin Howarth
Closes #7178
2021-06-24 15:51:39 +02:00
.circleci CI: add .circleci/config.yml 2021-06-11 16:34:12 +02:00
.github GHA: run all tests for hyper too 2021-06-10 08:42:59 +02:00
.muse CI: Add muse CI config 2020-08-04 09:52:52 +02:00
CMake configure/cmake: remove checks for unused gethostbyaddr and gethostbyaddr_r 2021-06-18 13:52:21 +02:00
docs --socks4[a]: clarify where the host name is resolved 2021-06-17 23:07:39 +02:00
include curl.h: include sys/select.h for NuttX RTOS 2021-06-22 14:35:24 +02:00
lib multi: alter transfer timeout ordering 2021-06-24 15:51:39 +02:00
m4 hostip: (macOS) free returned memory of SCDynamicStoreCopyProxies 2021-06-21 14:05:49 +02:00
packages metalink: remove 2021-06-07 08:14:25 +02:00
plan9 copyright: fix year ranges 2020-11-05 08:22:10 +01:00
projects copyright: update copyright year ranges to 2021 2021-03-27 23:00:14 +01:00
scripts travis: remove the hyper build 2021-06-07 17:31:14 +02:00
src single_transfer: ignore blank --output-dir 2021-06-11 12:50:46 +02:00
tests test677: IMAP CONNECT_ONLY, custom command and then exit 2021-06-24 09:07:40 +02:00
winbuild winbuild/README: VC should be set to 6 'or larger' 2021-06-14 16:26:25 +02:00
zuul.d zuul: add two missing CI jobs 2021-06-15 17:13:50 +02:00
.azure-pipelines.yml CI/azure: increase verbosity and fix outdated task names 2021-05-16 11:23:59 +02:00
.cirrus.yml metalink: remove 2021-06-07 08:14:25 +02:00
.dcignore .dcignore: ignore tests and docs directories 2020-06-27 00:07:37 +02:00
.dir-locals.el curl.se: new home 2020-11-04 23:59:47 +01:00
.gitattributes gitattributes: Set batch files to CRLF line endings on checkout 2021-01-14 15:59:56 -05:00
.gitignore .gitignore: add directory containing the stats repo 2020-06-05 19:54:34 +02:00
.lgtm.yml metalink: remove 2021-06-07 08:14:25 +02:00
.mailmap mailmap: Jon Rumsey 2021-02-05 08:46:11 +01:00
.travis.yml travis: remove jobs that have migrated to zuul 2021-06-14 10:55:32 +02:00
CHANGES curl.se: new home 2020-11-04 23:59:47 +01:00
CMakeLists.txt cmake: fix support for UnixSockets feature on Win32 2021-06-21 14:52:27 +02:00
COPYING COPYING/configure: bump copyright year range 2021-01-01 00:52:28 +01:00
GIT-INFO GIT-INFO: suggest using autoreconf instead of buildconf 2021-05-08 10:55:34 +02:00
MacOSX-Framework curl.se: new home 2020-11-04 23:59:47 +01:00
Makefile.am Revert "libcurl.pc: make it relocatable" 2020-11-09 09:13:06 +01:00
Makefile.dist configure: provide --with-openssl, deprecate --with-ssl 2021-04-15 09:08:34 +02:00
README curl.se: new home 2020-11-04 23:59:47 +01:00
README.md README: link to the commercial support option 2021-04-23 08:59:08 +02:00
RELEASE-NOTES RELEASE-NOTES: synced 2021-06-21 10:12:00 +02:00
SECURITY.md SECURITY.md: minor rephrase 2020-03-30 08:53:25 +02:00
acinclude.m4 configure: include <time.h> unconditionally 2021-04-07 16:08:01 +02:00
appveyor.yml ci: adapt to configure requiring an explicit TLS choice 2021-04-22 23:19:47 +02:00
buildconf buildconf: exec autoreconf to avoid additional process 2020-08-29 21:43:49 +02:00
buildconf.bat curl.se: new home 2020-11-04 23:59:47 +01:00
configure.ac configure/cmake: remove checks for unused gethostbyaddr and gethostbyaddr_r 2021-06-18 13:52:21 +02:00
curl-config.in curl.se: new home 2020-11-04 23:59:47 +01:00
libcurl.pc.in Revert "libcurl.pc: make it relocatable" 2020-11-09 09:13:06 +01:00
maketgz copyright: fix year ranges 2020-11-05 08:22:10 +01:00

README.md

curl logo

CII Best Practices Coverity passed Travis-CI Build Status AppVeyor Build Status Azure DevOps Build Status Cirrus Build Status Backers on Open Collective Sponsors on Open Collective Language Grade: C/C++ Codacy Badge Fuzzing Status

Curl is a command-line tool for transferring data specified with URL syntax. Find out how to use curl by reading the curl.1 man page or the MANUAL document. Find out how to install Curl by reading the INSTALL document.

libcurl is the library curl is using to do its job. It is readily available to be used by your software. Read the libcurl.3 man page to learn how!

You can find answers to the most frequent questions we get in the FAQ document.

Study the COPYING file for distribution terms.

Contact

If you have problems, questions, ideas or suggestions, please contact us by posting to a suitable mailing list.

All contributors to the project are listed in the THANKS document.

Commercial support

For commercial support, maybe private and dedicated help with your problems or applications using (lib)curl: https://curl.se/support.html

Website

Visit the curl website for the latest news and downloads.

Git

To download the very latest source from the Git server do this:

git clone https://github.com/curl/curl.git

(you'll get a directory named curl created, filled with the source code)

Security problems

Report suspected security problems via our HackerOne page and not in public!

Notice

Curl contains pieces of source code that is Copyright (c) 1998, 1999 Kungliga Tekniska Högskolan. This notice is included here to comply with the distribution terms.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]