Go to file
Daniel Stenberg 8581e1928e
multi: track users of a socket better
They need to be removed from the socket hash linked list with more care.

When sh_delentry() is called to remove a sockethash entry, remove all
individual transfers from the list first. To enable this, each Curl_easy struct
now stores a pointer to the sockethash entry to know how to remove itself.

Reported-by: Tom van der Woerdt and Kunal Ekawde

Fixes #3952
Fixes #3904
Closes #3953
2019-05-28 12:17:02 +02:00
.github .github/FUNDING: mention our opencollective "home" [ci skip] 2019-05-23 11:16:23 +02:00
CMake cmake: restore C89 compatibility of CurlTests.c 2019-05-12 09:23:34 +02:00
docs nss: allow to specify TLS 1.3 ciphers if supported by NSS 2019-05-27 09:04:09 +02:00
include Revert all SASL authzid (new feature) commits 2019-05-25 23:36:11 +02:00
lib multi: track users of a socket better 2019-05-28 12:17:02 +02:00
m4 configure/cmake: check for if_nametoindex() 2019-05-22 09:49:19 +02:00
packages Revert all SASL authzid (new feature) commits 2019-05-25 23:36:11 +02:00
projects checksrc.bat: Ignore snprintf warnings in docs/examples 2019-05-11 02:32:49 -04:00
scripts scripts: fix typos 2019-03-31 22:55:09 +02:00
src Revert all SASL authzid (new feature) commits 2019-05-25 23:36:11 +02:00
tests HAProxy tests: add keywords 2019-05-27 14:48:37 +02:00
winbuild winbuild: Use two space indentation 2019-05-23 21:46:26 +01:00
.cirrus.yml cirrus: Customize the disabled tests per FreeBSD version 2019-04-01 10:16:10 +02:00
.dir-locals.el
.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
.mailmap URL and mailmap updates, remove an obsolete directory [ci skip] 2018-09-22 07:58:32 +00:00
.travis-iconv-env.sh
.travis.yml travis: add an osx http-only build 2019-05-16 15:32:42 +02:00
acinclude.m4 configure: add --with-amissl 2019-03-15 10:22:42 +01:00
appveyor.yml appveyor: also build "/ci" branches like travis 2019-05-13 08:17:10 +02:00
buildconf
buildconf.bat whitespace fixes 2018-09-23 22:24:02 +00:00
CHANGES
CMakeLists.txt configure/cmake: check for if_nametoindex() 2019-05-22 09:49:19 +02:00
configure.ac PolarSSL: deprecate support step 1. Removed from configure. 2019-05-22 10:00:56 +02:00
COPYING COPYING: it's 2019 2019-01-19 20:26:31 +01:00
curl-config.in curl-config.in: remove dependency on bc 2018-10-26 00:06:19 +02:00
GIT-INFO
libcurl.pc.in
MacOSX-Framework
Makefile.am scripts/completion.pl: also generate fish completion file 2019-03-02 11:31:18 +01:00
Makefile.dist build: remove the Borland specific makefiles 2018-06-02 11:23:40 +02:00
maketgz maketgz: delete .bak files, fix indentation 2018-06-15 23:28:34 +00:00
README docs: minor polish to the bug bounty / security docs 2019-04-29 08:09:10 +02:00
README.md docs: minor polish to the bug bounty / security docs 2019-04-29 08:09:10 +02:00
RELEASE-NOTES RELEASE-NOTES: synced 2019-05-26 11:24:01 +02:00

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

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 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]