A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. libcurl offers a myriad of powerful features
Go to file
Stefan Eissing 5c58cb0212
http2: fix EOF handling on uploads with auth negotiation
- doing a POST with `--digest` does an override on the initial request
  with `Content-Length: 0`, but the http2 filter was unaware of that
  and expected the originally request body. It did therefore not
  send a final DATA frame with EOF flag to the server.
- The fix overrides any initial notion of post size when the `done_send`
  event is triggered by the transfer loop, leading to the EOF that
  is necessary.
- refs #11194. The fault did not happen in testing, as Apache httpd
  never tries to read the request body of the initial request,
  sends the 401 reply and closes the stream. The server used in the
  reported issue however tried to read the EOF and timed out on the
  request.

Reported-by: Aleksander Mazur
Fixes #11194
Cloes #11200
2023-05-25 08:26:18 +02:00
.circleci CI: update wolfssl / wolfssh to 5.5.4 / 1.4.12 2023-02-13 17:13:32 +01:00
.github workflows/macos: add a job using gcc + debug + secure transport 2023-05-21 14:02:31 +02:00
.lift tests/http: more tests with specific clients 2023-04-26 23:24:46 +02:00
.reuse mlc_config.json: remove this linkcheck CI job config file 2023-05-15 13:23:54 +02:00
CMake cmake: speed up and extend picky clang/gcc options 2023-04-16 22:28:25 +00:00
docs misc: fix spelling mistakes 2023-05-23 10:42:09 +02:00
include RELEASE-NOTES: synced 2023-05-23 11:12:50 +02:00
lib http2: fix EOF handling on uploads with auth negotiation 2023-05-25 08:26:18 +02:00
LICENSES copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
m4 misc: fix spelling mistakes 2023-05-23 10:42:09 +02:00
packages misc: fix spelling mistakes 2023-05-23 10:42:09 +02:00
plan9 copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
projects build-openssl.bat: keep OpenSSL 3 engine binaries 2023-02-18 19:02:24 -05:00
scripts scripts/singleuse.pl: add more API calls 2023-05-23 11:08:51 +02:00
src misc: fix spelling mistakes 2023-05-23 10:42:09 +02:00
tests http2: fix EOF handling on uploads with auth negotiation 2023-05-25 08:26:18 +02:00
winbuild winbuild: fix makefile clean 2023-02-23 03:49:37 -05:00
.azure-pipelines.yml CI: don't run CI jobs if only another CI was changed 2023-04-24 20:46:09 -07:00
.cirrus.yml CI: add an Alpine build with MUSL 2023-05-22 16:00:08 -07:00
.dcignore copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
.dir-locals.el copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
.git-blame-ignore-revs copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
.gitattributes copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
.gitignore copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
.mailmap rtsp: skip malformed RTSP interleaved frame data 2023-03-30 09:59:09 +02:00
acinclude.m4 copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
appveyor.yml CI: use another glob syntax for matching files on Appveyor 2023-04-28 10:31:28 -07:00
buildconf copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
buildconf.bat copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
CHANGES curl.se: new home 2020-11-04 23:59:47 +01:00
CMakeLists.txt cmake: avoid list(PREPEND) for compatibility 2023-05-20 11:50:40 +00:00
configure.ac configure: quote the assignments for run-compiler 2023-05-23 10:46:44 +02:00
COPYING copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
curl-config.in copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
GIT-INFO GIT-INFO: add --with-openssl 2023-05-14 23:22:23 +02:00
libcurl.pc.in copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
MacOSX-Framework copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
Makefile.am cmake: speed up and extend picky clang/gcc options 2023-04-16 22:28:25 +00:00
Makefile.dist copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
maketgz copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
README docs: minor grammar fixes 2022-09-29 10:44:12 +02:00
README.md copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
RELEASE-NOTES RELEASE-NOTES: synced 2023-05-23 11:12:50 +02:00
SECURITY.md copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00

curl logo

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]

Sponsors

Support this project by becoming a sponsor.