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
Viktor Szakats 70adb81c6f
rand: stop detecting /dev/urandom in cross-builds
- Prevent CMake to auto-detect /dev/urandom when cross-building.
  Before this patch, it would detect it in a cross-build scenario on *nix
  hosts with this device present. This was a problem for example with
  Windows builds, but it could affect any target system with this device
  missing. This also syncs detection behaviour with autotools, which also
  skips it for cross-builds.
- Also, make sure to never use the file RANDOM_FILE as entropy for libcurl's
  fallback random number generator on Windows. Windows does not have the
  concept of reading a random stream from a filename, nor any guaranteed
  non-world-writable path on disk. With this, a manual misconfiguration or
  an overeager auto-detection can no longer result in a user-controllable
  seed source.

Reviewed-by: Daniel Stenberg
Closes #9038
2022-06-22 09:35:46 +00:00
.circleci copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
.github ci: avoid cmake -Hpath 2022-06-22 10:43:07 +02:00
.lift copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
.reuse reuse/dep5: adjusted to parse better 2022-06-14 14:07:02 +02:00
CMake copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
docs INTERNALS: bring back the "Library symbols" section 2022-06-22 10:38:03 +02:00
include version: rename threadsafe-init to threadsafe 2022-06-13 18:59:45 +00:00
lib rand: stop detecting /dev/urandom in cross-builds 2022-06-22 09:35:46 +00:00
LICENSES copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
m4 copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
packages version: rename threadsafe-init to threadsafe 2022-06-13 18:59:45 +00:00
plan9 copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
projects projects: fix third-party SSL library build paths for Visual Studio 2022-06-20 08:22:24 +02:00
scripts ci: avoid cmake -Hpath 2022-06-22 10:43:07 +02:00
src Makefile.m32: stop forcing XP target with ipv6 enabled [ci skip] 2022-06-22 00:06:48 +00:00
tests runtests: add "threadsafe" to detected features 2022-06-21 03:17:56 -04:00
winbuild copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
zuul.d copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
.azure-pipelines.yml CI/azure: reduce flakiness by retrying install/prepare steps 2022-06-16 20:37:06 +02:00
.cirrus.yml CI: bump FreeBSD 13.0 to 13.1 2022-06-18 12:47:17 +02:00
.dcignore copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
.dir-locals.el copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
.git-blame-ignore-revs git: ignore large commit making the curl REUSE compliant 2022-06-13 09:14:07 +02:00
.gitattributes copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
.gitignore copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
.lgtm.yml copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
.mailmap mailmap: Max Mehl 2022-06-13 09:14:07 +02:00
acinclude.m4 copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
appveyor.yml copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
buildconf copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
buildconf.bat buildconf.bat: update copyright year range 2022-06-14 14:06:55 +02:00
CHANGES curl.se: new home 2020-11-04 23:59:47 +01:00
CMakeLists.txt rand: stop detecting /dev/urandom in cross-builds 2022-06-22 09:35:46 +00:00
configure.ac configure: warn about rustls being experimental 2022-06-15 23:33:00 +02:00
COPYING COPYING: bump copyright year range 2022-01-05 23:14:15 +01:00
curl-config.in copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
GIT-INFO GIT-INFO: rephrase to adapt to s/buildconf/autoreconf 2021-09-24 13:14:52 +02:00
libcurl.pc.in copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
MacOSX-Framework copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
Makefile.am copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
Makefile.dist copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
maketgz copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
mlc_config.json mlc: curl.zuul.vexxhost.dev is reachable again 2022-04-24 23:29:38 +02:00
README docs: reduce/avoid English contractions 2021-11-07 23:16:27 +01:00
README.md README.md: use the common "Copyright" style formatting 2022-06-14 14:06:43 +02:00
RELEASE-NOTES RELEASE-NOTES: synced 2022-06-18 12:21:48 +02:00
SECURITY.md copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00

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 REUSE 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