Go to file
Daniel Stenberg a37fc62e8b
examples: safer and more proper read callback logic
The same callback code is used in:

 imap-append.c
 smtp-authzid.c
 smtp-mail.c
 smtp-multi.c
 smtp-ssl.c
 smtp-tls.c

It should not assume that it can copy full lines into the buffer as it
will encourage sloppy coding practices. Instead use byte-wise logic and
check/acknowledge the buffer size appropriately.

Reported-by: Harry Sintonen
Fixes #7330
Closes #7331
2021-07-01 14:27:12 +02:00
.circleci copyright: add boiler-plate headers to CI config files 2021-06-29 17:44:03 +02:00
.github GHA: run all tests for hyper too 2021-06-10 08:42:59 +02:00
.muse
CMake configure/cmake: remove checks for unused gethostbyaddr and gethostbyaddr_r 2021-06-18 13:52:21 +02:00
docs examples: safer and more proper read callback logic 2021-07-01 14:27:12 +02:00
include curl.h: include sys/select.h for NuttX RTOS 2021-06-22 14:35:24 +02:00
lib formdata: avoid "Argument cannot be negative" warning 2021-07-01 14:15:16 +02:00
m4 configure: inhibit the implicit-fallthrough warning on gcc-12 2021-06-29 11:58:25 +02:00
packages metalink: remove 2021-06-07 08:14:25 +02:00
plan9
projects copyright: update copyright year ranges to 2021 2021-03-27 23:00:14 +01:00
scripts zuul: use the new rustls directory name 2021-06-30 08:19:31 +02:00
src glob: pass an 'int' as len when using printf's %*s 2021-06-30 14:05:56 +02:00
tests test1519: adjusted to work with hyper 2021-07-01 14:26:06 +02:00
winbuild winbuild/README: VC should be set to 6 'or larger' 2021-06-14 16:26:25 +02:00
zuul.d zuul: use the new rustls directory name 2021-06-30 08:19:31 +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
.dir-locals.el
.gitattributes gitattributes: Set batch files to CRLF line endings on checkout 2021-01-14 15:59:56 -05:00
.gitignore
.lgtm.yml metalink: remove 2021-06-07 08:14:25 +02:00
.mailmap mailmap: Jon Rumsey 2021-02-05 08:46:11 +01: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.bat
CHANGES
CMakeLists.txt cmake: fix support for UnixSockets feature on Win32 2021-06-21 14:52:27 +02:00
configure.ac configure/cmake: remove checks for unused gethostbyaddr and gethostbyaddr_r 2021-06-18 13:52:21 +02:00
COPYING COPYING/configure: bump copyright year range 2021-01-01 00:52:28 +01:00
curl-config.in
GIT-INFO GIT-INFO: suggest using autoreconf instead of buildconf 2021-05-08 10:55:34 +02:00
libcurl.pc.in Revert "libcurl.pc: make it relocatable" 2020-11-09 09:13:06 +01:00
MacOSX-Framework
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
maketgz
README
README.md CI: remove travis details 2021-06-29 17:42:57 +02:00
RELEASE-NOTES RELEASE-NOTES: synced 2021-06-29 17:34:00 +02:00
SECURITY.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++ 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]