curl/docs
Daniel Stenberg 265b14d6b3
metalink: remove
Warning: this will make existing curl command lines that use metalink to
stop working.

Reasons for removal:

1. We've found several security problems and issues involving the
   metalink support in curl. The issues are not detailed here. When
   working on those, it become apparent to the team that several of the
   problems are due to the system design, metalink library API and what
   the metalink RFC says. They are very hard to fix on the curl side
   only.

2. The metalink usage with curl was only very briefly documented and was
   not following the "normal" curl usage pattern in several ways, making
   it surprising and non-intuitive which could lead to further security
   issues.

3. The metalink library was last updated 6 years ago and wasn't so
   active the years before that either. An unmaintained library means
   there's a security problem waiting to happen. This is probably reason
   enough.

4. Metalink requires an XML parsing library, which is complex code (even
   the smaller alternatives) and to this day often gets security
   updates.

5. Metalink is not a widely used curl feature. In the 2020 curl user
   survey, only 1.4% of the responders said that they'd are using it. In
   2021 that number was 1.2%. Searching the web also show very few
   traces of it being used, even with other tools.

6. The torrent format and associated technology clearly won for
   downloading large files from multiple sources in parallel.

Cloes #7176
2021-06-07 08:14:25 +02:00
..
cmdline-opts metalink: remove 2021-06-07 08:14:25 +02:00
examples metalink: remove 2021-06-07 08:14:25 +02:00
libcurl test269: disable for hyper 2021-06-03 23:11:11 +02:00
.gitignore gitignore: Ignore man page dist files 2017-03-07 23:27:31 +01:00
ALTSVC.md alt-svc: enable by default 2020-10-25 23:08:54 +01:00
BINDINGS.md BINDINGS: PureBasic, Net::Curl for perl and Nim 2019-09-29 22:39:31 +02:00
BUFREF.md docs: fix typos 2021-05-31 12:47:15 +02:00
BUG-BOUNTY.md BUG-BOUNTY: removed the cooperation mention 2021-02-03 14:24:25 +01:00
BUGS.md BUGS: language polish 2021-02-18 08:47:27 +01:00
CHECKSRC.md checksrc: complain on == NULL or != 0 checks in conditions 2021-04-22 09:10:17 +02:00
CIPHERS.md schannel: Support strong crypto option 2021-04-22 17:40:19 -04:00
CMakeLists.txt curl.se: new home 2020-11-04 23:59:47 +01:00
CODE_OF_CONDUCT.md docs: Update to secure URL versions 2017-09-04 14:08:54 +00:00
CODE_REVIEW.md docs: Fix some typos 2020-12-12 09:59:28 -08:00
CODE_STYLE.md CODE_STYLE.md: fix broken link to INTERNALS 2021-02-21 23:34:13 +01:00
CONTRIBUTE.md docs/tests: remove freenode references 2021-05-24 00:21:00 +02:00
CURL-DISABLE.md define: re-add CURL_DISABLE_NTLM and corresponding ifdefs 2021-06-02 08:55:00 +02:00
DEPRECATE.md polarssl: removed 2020-01-16 11:55:56 +01:00
DYNBUF.md docs: enable syntax highlighting in several docs files 2020-12-11 18:06:41 +01:00
ECH.md curl.se: new home 2020-11-04 23:59:47 +01:00
EXPERIMENTAL.md hsts: enable by default 2021-04-19 08:22:16 +02:00
FAQ docs/tests: remove freenode references 2021-05-24 00:21:00 +02:00
FEATURES.md metalink: remove 2021-06-07 08:14:25 +02:00
GOVERNANCE.md GOVERNANCE: add 'user', 'committer' and 'contributor' 2021-05-31 15:42:39 +02:00
HELP-US.md docs: Fix some typos 2020-12-12 09:59:28 -08:00
HISTORY.md docs: camelcase it like GitHub everywhere 2021-04-28 08:16:20 +02:00
HSTS.md HSTS: not experimental anymore 2021-05-28 12:34:07 +02:00
HTTP-COOKIES.md curl.se: new home 2020-11-04 23:59:47 +01:00
HTTP2.md HTTP2: remove the outdated remark about multiplexing for the tool 2021-03-16 00:35:38 +01:00
HTTP3.md HTTP3: make the ngtcp2 build use the quictls fork 2021-05-07 22:43:54 +02:00
HYPER.md test269: disable for hyper 2021-06-03 23:11:11 +02:00
INSTALL INSTALL: converted to markdown => INSTALL.md 2016-10-21 15:57:29 +02:00
INSTALL.cmake TLS naming: fix more Winssl and Darwinssl leftovers 2020-08-08 00:19:21 +02:00
INSTALL.md docs/INSTALL: remove mentions of configure --with-darwin-ssl 2021-06-06 23:55:32 +02:00
INTERNALS.md docs: improve INTERNALS.md regarding getsock cb 2021-05-19 00:39:06 +02:00
KNOWN_BUGS KNOWN_BUGS: add two HTTP/2 bugs 2021-05-03 17:27:35 +02:00
MAIL-ETIQUETTE curl.se: new home 2020-11-04 23:59:47 +01:00
MANUAL.md metalink: remove 2021-06-07 08:14:25 +02:00
MQTT.md docs/MQTT: remove outdated paaragraphs 2020-09-21 11:02:32 +02:00
Makefile.am bufref: buffer reference support 2021-04-22 09:05:53 +02:00
NEW-PROTOCOL.md docs: fix typos in NEW-PROTOCOL.md 2021-01-17 12:56:03 +01:00
PARALLEL-TRANSFERS.md docs: fix typos 2019-11-28 12:58:47 +01:00
README.md curl.se: new home 2020-11-04 23:59:47 +01:00
RELEASE-PROCEDURE.md docs: camelcase it like GitHub everywhere 2021-04-28 08:16:20 +02:00
ROADMAP.md ROADMAP: refreshed 2021-01-14 09:49:17 +01:00
RUSTLS.md rustls: switch read_tls and write_tls to callbacks 2021-05-24 16:40:59 +02:00
SECURITY-PROCESS.md SECURITY-PROCESS: disclose on hackerone 2020-12-03 22:29:34 +01:00
SSL-PROBLEMS.md docs: Fix typos 2021-02-25 09:28:00 +01:00
SSLCERTS.md curl.se: new home 2020-11-04 23:59:47 +01:00
THANKS THANKS: added contributors from 7.77.0 cycle 2021-05-26 08:18:11 +02:00
THANKS-filter THANKS: added contributors from 7.77.0 cycle 2021-05-26 08:18:11 +02:00
TODO TODO: Support rate-limiting for MQTT 2021-06-04 15:57:02 +02:00
TheArtOfHttpScripting.md docs/TheArtOfHttpScripting: fix markdown links 2021-05-19 09:10:11 +02:00
URL-SYNTAX.md URL-SYNTAX.md: document the new 'localhost' treatment 2021-05-31 15:37:37 +02:00
VERSIONS.md docs: enable syntax highlighting in several docs files 2020-12-11 18:06:41 +01:00
curl-config.1 curl.se: new home 2020-11-04 23:59:47 +01:00
mk-ca-bundle.1 curl.se: new home 2020-11-04 23:59:47 +01:00
options-in-versions schannel: Disable auto credentials; add an option to enable it 2021-04-22 16:53:37 -04:00

README.md

curl logo

Documentation

You'll find a mix of various documentation in this directory and subdirectories, using several different formats. Some of them are not ideal for reading directly in your browser.

If you'd rather see the rendered version of the documentation, check out the curl website's documentation section for general curl stuff or the libcurl section for libcurl related documentation.