| commit | 0bb8465b1e529f4ac1f764baa56117ea1fd73fe4 | [log] [tgz] |
|---|---|---|
| author | Daniel Stenberg <daniel@haxx.se> | Wed Mar 12 11:22:49 2025 +0100 |
| committer | Daniel Stenberg <daniel@haxx.se> | Wed Mar 12 23:16:46 2025 +0100 |
| tree | fe1f4517550c3358ec3fe453d6f7986923ffb4c1 | |
| parent | 886569e2db200c31073895a2626d20e0712e5207 [diff] |
multi: call protocol handler done() if PROTOCONNECT or later The protocol handlers' done() function would previous get called unconditionally in multi_done(), no matter how far the easy handle's state machine has transitioned. This caused problems in IMAP which in imap_connect() initializes things that the imap_done() function assumes has occured. I think that seems like a correct assumption and we should rather make sure that the done() function is only called if we have reached the PROTOCONNECT state. This problem was found using OSS-Fuzz. Assisted-by: Catena cyber Closes #16681
curl is a command-line tool for transferring data specified with URL syntax. Learn how to use curl by reading the manpage 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 manpage to learn how.
curl is Open Source and is distributed under an MIT-like license.
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.
For commercial support, maybe private and dedicated help with your problems or applications using (lib)curl visit the support page.
Visit the curl website for the latest news and downloads.
Download the latest source from the Git server:
git clone https://github.com/curl/curl.git
Report suspected security problems via our HackerOne page and not in public.
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.
Thank you to all our backers 🙏 Become a backer.
Support this project by becoming a sponsor.