Go to file
David Benjamin 1c92b5b609 openssl: fix thread-safety bugs in error-handling
ERR_error_string with NULL parameter is not thread-safe. The library
writes the string into some static buffer. Two threads doing this at
once may clobber each other and run into problems. Switch to
ERR_error_string_n which avoids this problem and is explicitly
bounds-checked.

Also clean up some remnants of OpenSSL 0.9.5 around here. A number of
comments (fixed buffer size, explaining that ERR_error_string_n was
added in a particular version) date to when ossl_strerror tried to
support pre-ERR_error_string_n OpenSSLs.

Closes #1424
2017-04-17 23:20:30 +02:00
.github .github/stale.yml: enable the stale bot 2017-04-09 00:08:51 +02:00
CMake spelling fixes 2017-03-26 23:56:23 +02:00
docs libcurl-thread.3: fixed a bad macro that caused test 1140 to fail 2017-04-10 07:42:22 +02:00
include system.h: fix mingw section 2017-04-11 15:54:42 +02:00
lib openssl: fix thread-safety bugs in error-handling 2017-04-17 23:20:30 +02:00
m4 curl-compilers.m4: turn implicit function declarations into errors 2017-04-15 21:17:56 +02:00
packages spelling fixes 2017-03-26 23:56:23 +02:00
projects checksrc.bat: Ignore curl_config.h.in, curl_config.h 2017-03-02 02:51:13 -05:00
scripts updatemanpages.pl: Update man pages to use current date and versions 2017-03-07 23:27:31 +01:00
src poll: prefer <poll.h> over <sys/poll.h> 2017-04-11 08:31:38 +02:00
tests code: fix typos and style in comments 2017-04-17 23:17:50 +02:00
winbuild winbuild: add basic support for OpenSSL 1.1.x 2017-03-13 16:05:33 -04:00
.dir-locals.el Add .dir-locals and set c-basic-offset to 2. 2015-12-23 10:16:14 +01:00
.gitattributes .gitattributes: force shell scripts to LF 2017-04-17 08:32:13 +02:00
.gitignore build: Install zsh completion 2015-11-24 22:22:01 +01:00
.travis.yml travis: run tests-nonflaky instead of tests-full 2017-03-22 10:55:10 +01:00
acinclude.m4 Revert "configure: prefer 'long long' to int64_t for curl_off_t" 2017-04-05 15:08:33 +02:00
appveyor.yml Appveyor: Updates for options - CURL_STATICLIB/BUILD_TESTING 2016-07-01 09:53:22 +02:00
buildconf URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
buildconf.bat dist: ship buildconf.bat too 2016-02-12 16:45:25 +01:00
CHANGES CHANGES: spell fix, use correct path to script 2017-02-07 08:22:37 +01:00
CMakeLists.txt cmake: build manual pages (including curl.1) 2017-03-21 14:49:53 +01:00
configure.ac configure.ac: ignore CR after version numbers 2017-04-17 08:32:45 +02:00
COPYING COPYING: update the generic copyright year range 2017-01-07 20:25:43 +01:00
curl-config.in URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
GIT-INFO CHANGES.0: removed 2017-02-07 08:20:10 +01:00
libcurl.pc.in URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
MacOSX-Framework MacOSX-Framework: sdk regex fix for sdk 10.10 and later 2015-10-25 12:35:49 +01:00
Makefile.am dist: add missing files to the tarball 2017-03-31 00:05:31 +02:00
Makefile.dist VC: remove the makefile.vc6 build infra 2017-01-23 14:27:32 +01:00
maketgz maketgz: Run updatemanpages.pl to update man pages 2017-03-07 23:36:17 +01:00
README URLs: follow GitHub project rename (also Travis CI) 2016-02-04 23:01:38 +01:00
README.md README.md: add coverity and travis badges 2017-03-10 14:50:29 +01:00
RELEASE-NOTES RELEASE-NOTES: synced with 1451271e0 2017-04-16 10:37:18 +02:00

curl logo CII Best Practices Coverity passed Build 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 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 off 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)

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.