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
Find a file
Daniel Stenberg 11c14b5ca5
urlapi: verify the last letter of a scheme when set explictly
A logic error made the function not check the last character, which thus
could make it accept invalid schemes.

Added test 1965 to verify

Reported-by: Otis Cui Lei

Closes #20893
2026-03-11 23:48:53 +01:00
.circleci
.github
CMake badwords: avoid 'simply' 2026-03-10 19:34:06 +01:00
docs docs: minor wording tweaks 2026-03-11 08:46:01 +01:00
include RELEASE-NOTES: synced 2026-03-11 08:49:39 +01:00
lib urlapi: verify the last letter of a scheme when set explictly 2026-03-11 23:48:53 +01:00
LICENSES
m4 badwords: avoid 'simply' 2026-03-10 19:34:06 +01:00
projects badwords: avoid 'simply' 2026-03-10 19:34:06 +01:00
scripts badwords: combine the whitelisting into a single regex 2026-03-11 08:45:54 +01:00
src badwords: avoid 'simply' 2026-03-10 19:34:06 +01:00
tests urlapi: verify the last letter of a scheme when set explictly 2026-03-11 23:48:53 +01:00
.clang-tidy.yml
.dir-locals.el
.editorconfig
.git-blame-ignore-revs
.gitattributes
.gitignore
.mailmap
acinclude.m4
appveyor.sh
appveyor.yml
buildconf
CHANGES.md
CMakeLists.txt
configure.ac
COPYING
curl-config.in
Dockerfile
GIT-INFO.md
libcurl.pc.in
Makefile.am
README
README.md
RELEASE-NOTES RELEASE-NOTES: synced 2026-03-11 08:49:39 +01:00
renovate.json
REUSE.toml badwords: avoid 'simply' 2026-03-10 19:34:06 +01:00
SECURITY.md

curl logo

curl is a command-line tool for transferring data from or to a server using URLs. It supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, MQTTS, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.

Learn how to use curl by reading the man page or everything curl.

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 man page to learn how.

Open Source

curl is Open Source and is distributed under an MIT-like license.

Contact

Contact us on a suitable mailing list or use GitHub issues/ pull requests/ discussions.

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.

Source code

Download the latest source from the Git server:

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

Security problems

Report suspected security problems privately and not in public.

Backers

Thank you to all our backers 🙏 Become a backer.

Sponsors

Support this project by becoming a sponsor.