Commit ede517bc by Carlos Martín Nieto

curl: add CHANGELOG and THREADING entries

parent 8dea1c21
...@@ -72,6 +72,9 @@ support for HTTPS connections insead of OpenSSL. ...@@ -72,6 +72,9 @@ support for HTTPS connections insead of OpenSSL.
* The race condition mitigations described in `racy-git.txt` have been * The race condition mitigations described in `racy-git.txt` have been
implemented. implemented.
* If libcurl is installed, we will use it to connect to HTTP(S)
servers.
### API additions ### API additions
* The `git_merge_options` gained a `file_flags` member. * The `git_merge_options` gained a `file_flags` member.
......
...@@ -47,9 +47,14 @@ you. ...@@ -47,9 +47,14 @@ you.
On Mac OS X On Mac OS X
----------- -----------
On OS X, the library makes use of CommonCrypto and SecureTransport for By default we use libcurl to perform the encryption. The
cryptographic support. These are thread-safe and you do not need to do system-provided libcurl uses SecureTransport, so no special steps are
anything special. necessary. If you link against another libcurl (e.g. from homebrew)
refer to the general case.
If the option to use libcurl was deactivated, the library makes use of
CommonCrypto and SecureTransport for cryptographic support. These are
thread-safe and you do not need to do anything special.
Note that libssh2 may still use OpenSSL itself. In that case, the Note that libssh2 may still use OpenSSL itself. In that case, the
general case still affects you if you use ssh. general case still affects you if you use ssh.
...@@ -57,12 +62,15 @@ general case still affects you if you use ssh. ...@@ -57,12 +62,15 @@ general case still affects you if you use ssh.
General Case General Case
------------ ------------
On the rest of the platforms, libgit2 uses OpenSSL to be able to use By default we use libcurl, which has its own ![recommendations for
HTTPS as a transport. This library is made to be thread-implementation thread safety](http://curl.haxx.se/libcurl/c/libcurl-tutorial.html#Multi-threading).
agnostic, and the users of the library must set which locking function
it should use. This means that libgit2 cannot know what to set as the If libcurl was not found or was disabled, libgit2 uses OpenSSL to be
user of libgit2 may use OpenSSL independently and the locking settings able to use HTTPS as a transport. This library is made to be
must survive libgit2 shutting down. thread-implementation agnostic, and the users of the library must set
which locking function it should use. This means that libgit2 cannot
know what to set as the user of libgit2 may use OpenSSL independently
and the locking settings must survive libgit2 shutting down.
libgit2 does provide a last-resort convenience function libgit2 does provide a last-resort convenience function
`git_openssl_set_locking()` (available in `sys/openssl.h`) to use the `git_openssl_set_locking()` (available in `sys/openssl.h`) to use the
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment