1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-05 09:05:04 -05:00
curl/docs/libcurl
Johannes Schindelin 1328f69d53
vtls: introduce curl_global_sslset()
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>
2017-08-28 14:56:59 +02:00
..
opts CURLOPT_USERPWD.3: see also CURLOPT_PROXYUSERPWD 2017-08-24 10:09:28 +02:00
.gitignore gitignore: Ignore man page dist files 2017-03-07 23:27:31 +01:00
ABI ABI doc: use secure URL 2015-07-30 15:02:44 +02:00
CMakeLists.txt cmake: fix build with cmake 2.8.12.2 2017-03-30 23:43:35 +02:00
curl_easy_cleanup.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_easy_duphandle.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_easy_escape.3 docs: fix typo funtion -> function 2017-08-12 14:56:37 +02:00
curl_easy_getinfo.3 getinfo: return sizes as curl_off_t 2017-06-19 09:27:42 +02:00
curl_easy_init.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_easy_pause.3 curl_easy_pause.3: fix man page reference 2016-05-01 23:24:09 +02:00
curl_easy_perform.3 docs: unified man page references to use \fI 2016-05-02 09:09:59 +02:00
curl_easy_recv.3 curl_easy_recv: Improve documentation and example program 2016-12-18 12:56:23 +01:00
curl_easy_reset.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_easy_send.3 curl_easy_recv: Improve documentation and example program 2016-12-18 12:56:23 +01:00
curl_easy_setopt.3 ssh: add the ability to enable compression (for SCP/SFTP) 2017-08-17 03:32:00 -04:00
curl_easy_strerror.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_easy_unescape.3 unescape: avoid integer overflow 2016-10-31 08:46:35 +01:00
curl_escape.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_formadd.3 curl_formadd.3: CURLFORM_CONTENTSLENGTH not needed when chunked 2016-12-28 11:49:00 +01:00
curl_formfree.3 docs: unified man page references to use \fI 2016-05-02 09:09:59 +02:00
curl_formget.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_free.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_getdate.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_getenv.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_global_cleanup.3 curl_global_cleanup.3: don't unload the lib with sub threads running 2016-09-20 23:00:52 +02:00
curl_global_init_mem.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_global_init.3 curl_global_init.3: improved formatting of the flags 2016-06-29 16:00:46 +02:00
curl_mprintf.3 curl/mprintf.h: remove support for _MPRINTF_REPLACE 2016-04-01 10:46:36 +02:00
curl_multi_add_handle.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_multi_assign.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_multi_cleanup.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_multi_fdset.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_multi_info_read.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_multi_init.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_multi_perform.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_multi_remove_handle.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_multi_setopt.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_multi_socket_action.3 curl_multi_socket_action.3: Fix rewording 2016-06-09 02:10:22 -04:00
curl_multi_socket_all.3 The inital early embryos to describe the curl_multi_socket() API. Committed 2005-12-22 15:11:11 +00:00
curl_multi_socket.3 curl_multi_socket.3: fix typo 2016-12-15 17:26:23 +01:00
curl_multi_strerror.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_multi_timeout.3 docs: unified man page references to use \fI 2016-05-02 09:09:59 +02:00
curl_multi_wait.3 curl_multi_wait.3: add example 2016-03-09 08:35:17 +01:00
curl_share_cleanup.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_share_init.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_share_setopt.3 curl_share_setopt.3: Add min ver needed for ssl session lock 2016-05-29 16:27:44 -04:00
curl_share_strerror.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_slist_append.3 curl_slist_append.3: clarify a NULL input creates a new list 2017-05-05 13:54:56 +02:00
curl_slist_free_all.3 tests/server: run checksrc by default in debug-builds 2017-05-05 15:51:25 +02:00
curl_strequal.3 curl_strequal.3: fix typo in SYNOPSIS 2017-06-29 01:16:56 +02:00
curl_strnequal.3 prepend the man3 dir to the file name to work better. 2004-04-02 11:04:34 +00:00
curl_unescape.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
curl_version_info.3 curl_version_info: add CURL_VERSION_HTTPS_PROXY 2016-11-26 17:28:53 +01:00
curl_version.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
getinfo-times getinfo-times: Typo fixed 2014-08-29 16:41:17 +02:00
index.html libcurl-thread.3: Consolidate thread safety info 2015-07-28 13:57:06 +02:00
libcurl-easy.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
libcurl-errors.3 errors: new alias CURLE_WEIRD_SERVER_REPLY (8) 2016-09-07 21:24:27 -04:00
libcurl-multi.3 http-proxy: do the HTTP CONNECT process entirely non-blocking 2017-06-14 23:43:52 +02:00
libcurl-share.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
libcurl-thread.3 docs/comments: Update to secure URL versions 2017-08-08 21:41:07 +02:00
libcurl-tutorial.3 fix some typos in the doc (#1306) 2017-03-04 15:50:33 +01:00
libcurl.3 URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
libcurl.m4 libcurl.m4: Avoid obsolete warning 2016-05-20 16:05:39 +02:00
Makefile.am cmake: add more missing files to the dist 2017-03-30 08:12:37 +02:00
Makefile.inc make install: add 8 missing man pages to the installation 2017-08-09 11:31:10 +02:00
mksymbolsmanpage.pl URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
symbols-in-versions vtls: introduce curl_global_sslset() 2017-08-28 14:56:59 +02:00
symbols.pl URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00