Go to file
Patrick Monnerat eb559c8056
mime: relax easy/mime structures binding
Deprecation and removal of codeset conversion support from the library
have released the strict need for an early binding of mime structures to
an easy handle (https://github.com/curl/curl/commit/2610142).

This constraint currently forces to create the handle before the mime
structure and the latter cannot be attached to another handle once
created (see https://curl.se/mail/lib-2022-08/0027.html).

This commit removes the handle pointers from the mime structures
allowing more flexibility on their use.

When an easy handle is duplicated, bound mime structures must however
still be duplicated too as their components hold send-time dynamic
information.

Closes #9927
2022-11-28 09:09:54 +01:00
.circleci CI: skip make, do make install at once for dependencies 2022-09-13 15:42:10 +02:00
.github GHA: NSS use clang instead of clang-9 2022-11-25 08:59:22 +01:00
.lift copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
.reuse packaging: remove traces of deleted files 2022-11-23 12:12:59 +01:00
CMake OtherTests.cmake: check for cross-compile, not for toolchain 2022-11-16 16:05:44 +01:00
docs mime: relax easy/mime structures binding 2022-11-28 09:09:54 +01:00
include CURLOPT_QUICK_EXIT: don't wait for DNS thread on exit 2022-11-18 00:17:27 +01:00
lib mime: relax easy/mime structures binding 2022-11-28 09:09:54 +01:00
LICENSES examples/curlx.c: remove 2022-08-18 00:00:12 +02:00
m4 curl-rustls.m4: on macOS, rustls also needs the Security framework 2022-11-10 17:50:51 +01:00
packages packaging: remove traces of deleted files 2022-11-23 12:12:59 +01:00
plan9 copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
projects headers: add endif comments 2022-11-09 00:36:33 +01:00
scripts scripts/delta: adapt to curl.h changes for the opt counter 2022-11-17 14:41:04 +01:00
src tool_operate: override the numeric locale and set "C" by force 2022-11-25 08:32:23 +01:00
tests test416: verify growing FTP file support 2022-11-26 17:06:28 +01:00
winbuild winidn: drop WANT_IDN_PROTOTYPES 2022-10-26 09:45:23 +00:00
zuul.d misc: typo and grammar fixes 2022-10-27 10:01:30 +02:00
.azure-pipelines.yml test972: verify the output without using external tool 2022-09-22 13:46:40 +02:00
.cirrus.yml CI/cirrus: remove superfluous double-quotes and sudo 2022-10-30 22:52:07 +01: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: unify Stefan Eissing 2022-11-07 12:24:07 +01:00
acinclude.m4 functypes: provide the recv and send arg and return types 2022-09-28 09:06:11 +02:00
appveyor.yml CI: report AppVeyor build status for each job 2022-10-20 20:48:13 +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 lib: sync guard for Curl_getaddrinfo_ex() definition and use 2022-11-01 22:40:36 +00:00
configure.ac configure: require fork for NTLM-WB 2022-11-06 00:04:47 +01:00
COPYING COPYING: bump copyright year range 2022-01-05 23:14:15 +01:00
curl-config.in curl-config: quote directories with potential space 2022-08-10 14:35:40 +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 scripts: use grep -E instead of egrep 2022-09-13 10:18:50 +02:00
Makefile.am copyright: make repository REUSE compliant 2022-06-13 09:13:00 +02:00
Makefile.dist Makefile.mk: portable Makefile.m32 2022-11-22 08:28:41 +00:00
maketgz maketgz: set the right version in lib/libcurl.plist 2022-11-08 10:46:12 +01:00
mlc_config.json mlc: curl.zuul.vexxhost.dev is reachable again 2022-04-24 23:29:38 +02:00
README docs: minor grammar fixes 2022-09-29 10:44:12 +02:00
README.md README.md: remove badges and xmas-tree garnish 2022-11-01 16:57:37 +01:00
RELEASE-NOTES RELEASE-NOTES: synced 2022-11-25 08:40:19 +01:00
SECURITY.md docs: spellfixes 2022-09-21 15:20:08 +02:00

curl logo

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]

Sponsors

Support this project by becoming a sponsor.