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
Перейти к файлу
Jay Satiro 0edf75865a setopt: Fix ALPN / NPN user option when built without HTTP2
- Stop treating lack of HTTP2 as an unknown option error result for
  CURLOPT_SSL_ENABLE_ALPN and CURLOPT_SSL_ENABLE_NPN.

Prior to this change it was impossible to disable ALPN / NPN if libcurl
was built without HTTP2. Setting either option would result in
CURLE_UNKNOWN_OPTION and the respective internal option would not be
set. That was incorrect since ALPN and NPN are used independent of
HTTP2.

Reported-by: Shailesh Kapse

Fixes https://github.com/curl/curl/issues/4668
Closes https://github.com/curl/curl/pull/4672
2019-12-05 18:38:40 -05:00
.github github action/azure pipeline: run 'make test-nonflaky' for tests 2019-12-03 19:30:34 +01:00
CMake CMake: add support for building with the NSS vtls backend 2019-12-04 21:34:02 +00:00
docs CURLOPT_VERBOSE.3: see also ERRORBUFFER 2019-12-04 09:30:57 +01:00
include openssl: CURLSSLOPT_NO_PARTIALCHAIN can disable partial cert chains 2019-12-03 16:28:50 +01:00
lib setopt: Fix ALPN / NPN user option when built without HTTP2 2019-12-05 18:38:40 -05:00
m4 ESNI: initial build/setup 2019-10-02 12:33:08 +02:00
packages multi: add curl_multi_wakeup() 2019-11-25 15:45:56 +01:00
plan9 plan9: fix installation instructions 2019-08-29 19:24:59 +02:00
projects checksrc.bat: Add a check for vquic and vssh directories 2019-11-24 03:16:25 -05:00
scripts scripts/contributors: make committers get included too 2019-11-08 09:45:58 +01:00
src etag: allow both --etag-compare and --etag-save in same cmdline 2019-12-05 22:57:24 +01:00
tests etag: allow both --etag-compare and --etag-save in same cmdline 2019-12-05 22:57:24 +01:00
winbuild build: Disable Visual Studio warning "conditional expression is constant" 2019-12-01 19:01:02 -05:00
.azure-pipelines.yml azure: add more builds 2019-12-04 09:32:54 +01:00
.cirrus.yml cirrus: switch off blackhole status on the freebsd CI machines 2019-10-09 14:16:28 +02:00
.dir-locals.el Add .dir-locals and set c-basic-offset to 2. 2015-12-23 10:16:14 +01:00
.gitattributes .gitattributes: make tabs in indentation a visible error 2018-12-06 20:21:17 +01:00
.gitignore scripts/completion.pl: also generate fish completion file 2019-03-02 11:31:18 +01:00
.lgtm.yml CI: remove duplicate configure flag for LGTM.com 2019-08-31 11:40:09 +02:00
.mailmap mailmap: Niall O'Reilly's name 2019-11-28 12:52:00 +01:00
.travis-iconv-env.sh travis: add build with iconv enabled 2018-02-15 14:18:34 +01:00
.travis.yml azure: add more builds 2019-12-04 09:32:54 +01:00
CHANGES CHANGES: spell fix, use correct path to script 2017-02-07 08:22:37 +01:00
CMakeLists.txt CMake: add support for building with the NSS vtls backend 2019-12-04 21:34:02 +00:00
COPYING COPYING: it's 2019 2019-01-19 20:26:31 +01:00
GIT-INFO CHANGES.0: removed 2017-02-07 08:20:10 +01:00
MacOSX-Framework includes: remove curl/curlbuild.h and curl/curlrules.h 2017-06-14 11:07:33 +02:00
Makefile.am TLS: add BearSSL vtls implementation 2019-11-26 08:32:23 +01:00
Makefile.dist build: remove the Borland specific makefiles 2018-06-02 11:23:40 +02:00
README docs: minor polish to the bug bounty / security docs 2019-04-29 08:09:10 +02:00
README.md README: minor grammar fix 2019-09-26 23:28:10 +02:00
RELEASE-NOTES RELEASE-NOTES: synced 2019-11-28 13:28:14 +01:00
SECURITY.md SECURITY.md: created 2019-06-10 10:16:02 +02:00
acinclude.m4 configure: add --with-amissl 2019-03-15 10:22:42 +01:00
appveyor.yml appveyor: publish artifacts on appveyor 2019-10-30 09:41:38 +01:00
buildconf includes: remove curl/curlbuild.h and curl/curlrules.h 2017-06-14 11:07:33 +02:00
buildconf.bat copyrights: update all copyright notices to 2019 on files changed this year 2019-11-02 23:15:56 +01:00
configure.ac configure: enable IPv6 support without `getaddrinfo` 2019-12-03 21:37:41 +01:00
curl-config.in curl-config.in: remove dependency on bc 2018-10-26 00:06:19 +02:00
libcurl.pc.in URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
maketgz maketgz: delete .bak files, fix indentation 2018-06-15 23:28:34 +00:00

README.md

curl logo

CII Best Practices Coverity passed Travis-CI Build Status AppVeyor Build Status Cirrus Build Status Coverage 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 and similar. If you distribute curl binaries or other binaries that involve libcurl, you might enjoy the LICENSE-MIXING document.

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.

Website

Visit the curl web site 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]