mirror of
https://github.com/curl/curl.git
synced 2024-11-27 05:50:21 +08:00
1328f69d53
Let's add a compile time safe API to select an SSL backend. This function needs to be called *before* curl_global_init(), and can be called only once. Side note: we do not explicitly test that it is called before curl_global_init(), but we do verify that it is not called multiple times (even implicitly). If SSL is used before the function was called, it will use whatever the CURL_SSL_BACKEND environment variable says (or default to the first available SSL backend), and if a subsequent call to curl_global_sslset() disagrees with the previous choice, it will fail with CURLSSLSET_TOO_LATE. The function also accepts an "avail" parameter to point to a (read-only) NULL-terminated list of available backends. This comes in real handy if an application wants to let the user choose between whatever SSL backends the currently available libcurl has to offer: simply call curl_global_sslset(-1, NULL, &avail); which will return CURLSSLSET_UNKNOWN_BACKEND and populate the avail variable to point to the relevant information to present to the user. Just like with the HTTP/2 push functions, we have to add the function declaration of curl_global_sslset() function to the header file *multi.h* because VMS and OS/400 require a stable order of functions declared in include/curl/*.h (where the header files are sorted alphabetically). This looks a bit funny, but it cannot be helped. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> |
||
---|---|---|
.. | ||
cmdline-opts | ||
examples | ||
libcurl | ||
.gitignore | ||
BINDINGS.md | ||
BUGS | ||
CHECKSRC.md | ||
CIPHERS.md | ||
CMakeLists.txt | ||
CODE_OF_CONDUCT.md | ||
CODE_STYLE.md | ||
CONTRIBUTE.md | ||
curl-config.1 | ||
FAQ | ||
FEATURES | ||
HISTORY.md | ||
HTTP2.md | ||
HTTP-COOKIES.md | ||
INSTALL | ||
INSTALL.cmake | ||
INSTALL.md | ||
INTERNALS.md | ||
KNOWN_BUGS | ||
LICENSE-MIXING.md | ||
MAIL-ETIQUETTE | ||
Makefile.am | ||
MANUAL | ||
mk-ca-bundle.1 | ||
README.cmake | ||
README.md | ||
README.netware | ||
README.win32 | ||
RELEASE-PROCEDURE | ||
RESOURCES | ||
ROADMAP.md | ||
SECURITY.md | ||
SSL-PROBLEMS.md | ||
SSLCERTS.md | ||
THANKS | ||
THANKS-filter | ||
TheArtOfHttpScripting | ||
TODO | ||
VERSIONS |
Documentation
You'll find a mix of various documentation in this directory and subdirectories, using several different formats. Some of them are not ideal for reading directly in your browser.
If you'd rather see the rendered version of the documentation, check out the curl web site's documentation section for general curl stuff or the libcurl section for libcurl related documentation.