Curl is a tool and libcurl is a library for transferring data with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TFTP, SCP, SFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3, RTSP and RTMP. libcurl offers a myriad of powerful features
Перейти к файлу
Tatsuhiro Tsujikawa 990bfdd7bc
ngtcp2: fix HTTP/3 upload stall and avoid busy loop
This commit fixes HTTP/3 upload stall if upload data is larger than
H3_SEND_SIZE.  Only check writability of socket if a stream is
writable to avoid busy loop when QUIC flow control window is filled
up, or upload buffer is full.

Closes #8688
2022-04-10 23:07:42 +02:00
.circleci CI: Do not use buildconf. Instead, just use: autoreconf -fi 2022-03-15 14:15:35 +01:00
.github GHA: move bearssl jobs over from zuul 2022-04-07 08:36:38 +02:00
.lift CI: Do not use buildconf. Instead, just use: autoreconf -fi 2022-03-15 14:15:35 +01:00
CMake msh3: add support for QUIC and HTTP/3 using msh3 2022-04-10 18:23:04 +02:00
docs msh3: add support for QUIC and HTTP/3 using msh3 2022-04-10 18:23:04 +02:00
include English: use American spelling consistently 2022-04-05 14:55:47 +02:00
lib ngtcp2: fix HTTP/3 upload stall and avoid busy loop 2022-04-10 23:07:42 +02:00
m4 configure: fix '--enable-code-coverage' typo 2022-02-10 16:13:43 +01:00
packages English: use American spelling consistently 2022-04-05 14:55:47 +02:00
plan9 copyright: fix year ranges 2020-11-05 08:22:10 +01:00
projects projects/README: converted to markdown 2022-03-30 23:21:03 +02:00
scripts GHA: move bearssl jobs over from zuul 2022-04-07 08:36:38 +02:00
src English: use American spelling consistently 2022-04-05 14:55:47 +02:00
tests data/DISABLED: disable test 313 on bearssl builds 2022-04-07 08:36:35 +02:00
winbuild msh3: add support for QUIC and HTTP/3 using msh3 2022-04-10 18:23:04 +02:00
zuul.d GHA: move bearssl jobs over from zuul 2022-04-07 08:36:38 +02:00
.azure-pipelines.yml CI: Do not use buildconf. Instead, just use: autoreconf -fi 2022-03-15 14:15:35 +01:00
.cirrus.yml cirrus: add --enable-headers-api for some windows builds 2022-03-22 08:24:26 +01: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 msh3: add support for QUIC and HTTP/3 using msh3 2022-04-10 18:23:04 +02:00
.lgtm.yml CI: Do not use buildconf. Instead, just use: autoreconf -fi 2022-03-15 14:15:35 +01:00
.mailmap strcase.h: add comment about the return code 2022-03-31 11:35:27 +02:00
CHANGES curl.se: new home 2020-11-04 23:59:47 +01:00
CMakeLists.txt msh3: add support for QUIC and HTTP/3 using msh3 2022-04-10 18:23:04 +02:00
COPYING COPYING: bump copyright year range 2022-01-05 23:14:15 +01:00
GIT-INFO GIT-INFO: rephrase to adapt to s/buildconf/autoreconf 2021-09-24 13:14:52 +02:00
MacOSX-Framework MacOSX-Framework: remove redundant ';' 2021-10-15 08:08:14 +02:00
Makefile.am msh3: add support for QUIC and HTTP/3 using msh3 2022-04-10 18:23:04 +02:00
Makefile.dist netware: remove support 2022-01-31 13:40:26 +01:00
README docs: reduce/avoid English contractions 2021-11-07 23:16:27 +01:00
README.md README: disable linkchecks for the sponsor links 2022-02-21 10:27:45 +01:00
RELEASE-NOTES RELEASE-NOTES: synced 2022-04-04 11:11:39 +02:00
SECURITY.md SECURITY.md: minor rephrase 2020-03-30 08:53:25 +02:00
acinclude.m4 misc: fix a few issues on MidnightBSD 2021-10-05 08:35:24 +02:00
appveyor.yml projects: Update VC version names for VS2017, VS2022 2022-03-29 03:39:36 -04: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 msh3: add support for QUIC and HTTP/3 using msh3 2022-04-10 18:23:04 +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 maketgz: return error if 'make dist' fails 2022-02-08 18:00:47 +01:00
mlc_config.json mlc_config.json: add file to ignore known troublesome URLs 2022-03-18 09:13:09 +01:00

README.md

curl logo

CII Best Practices Coverity passed AppVeyor Build Status Azure DevOps Build Status Cirrus Build Status Backers on Open Collective Sponsors on Open Collective Language Grade: C/C++ 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 visit the support page.

Website

Visit the curl website for the latest news and downloads.

Git

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

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

(you will 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]

Open Collective Backers

Sponsors

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

Open Collective Sponsor 0 Open Collective Sponsor 1 Open Collective Sponsor 2 Open Collective Sponsor 3 Open Collective Sponsor 4 Open Collective Sponsor 5 Open Collective Sponsor 6 Open Collective Sponsor 7 Open Collective Sponsor 8 Open Collective Sponsor 9