1
0
mirror of https://github.com/moparisthebest/curl synced 2025-02-28 17:31:46 -05:00
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
..
2017-03-26 23:56:23 +02:00
2017-08-23 23:58:49 +02:00
2014-11-13 23:06:44 +01:00
2008-02-09 02:37:31 +00:00
2017-05-09 21:52:05 +02:00
2016-03-06 16:22:49 +01:00
2017-05-08 23:24:43 +02:00
2017-05-08 23:24:43 +02:00
2017-05-08 23:24:43 +02:00
2014-04-03 11:49:49 +02:00
2014-04-03 11:49:49 +02:00
2017-05-08 23:24:43 +02:00
2017-05-09 21:52:05 +02:00
2017-05-08 23:24:43 +02:00
2017-05-08 23:24:43 +02:00
2017-05-08 23:24:43 +02:00
2015-03-16 15:01:15 +01:00
2009-12-24 12:04:33 +00:00
2009-12-24 12:04:33 +00:00
2014-04-03 11:49:49 +02:00
2017-08-03 10:04:16 +02:00
2007-12-08 22:56:17 +00:00
2007-12-08 22:56:17 +00:00
2007-12-08 22:56:17 +00:00
2007-12-08 22:56:17 +00:00
2007-12-08 22:56:17 +00:00
2007-12-08 22:56:17 +00:00
2007-12-08 22:56:17 +00:00
2007-12-08 22:56:17 +00:00
2013-06-25 09:55:49 +02:00
2008-07-31 02:51:44 +00:00
2008-01-05 12:15:41 +00:00
2014-04-03 11:49:49 +02:00
2008-10-08 01:17:51 +00:00
2014-04-03 11:49:49 +02:00
2013-06-25 09:55:49 +02:00
2008-01-07 19:54:40 +00:00
2010-01-18 20:20:07 +00:00
2010-01-18 20:20:07 +00:00
2010-01-18 20:20:07 +00:00
2010-05-27 23:45:18 +02:00
2011-10-21 16:52:14 +02:00
2017-07-06 11:49:50 +02:00
2008-08-26 20:11:12 +00:00
2008-08-26 20:11:12 +00:00
2008-08-26 20:11:12 +00:00
2008-08-26 20:11:12 +00:00
2008-08-26 20:21:59 +00:00
2008-08-26 20:11:12 +00:00
2011-10-21 16:52:14 +02:00
2017-02-07 02:39:15 -05:00
2017-03-26 23:56:23 +02:00
2016-11-11 15:32:07 +01:00
2011-04-28 10:06:49 +02:00
2011-05-18 22:56:46 +02:00
2014-04-03 11:49:49 +02:00
2013-04-25 23:42:38 +02:00
2014-04-03 11:49:48 +02:00
2017-03-26 23:56:23 +02:00
2017-03-26 23:56:23 +02:00
2017-03-26 23:56:23 +02:00
2017-03-26 23:56:23 +02:00
2017-08-23 23:58:49 +02:00
2016-11-07 10:36:23 +01:00
2014-04-03 11:49:48 +02:00
2017-03-26 23:56:23 +02:00
2017-03-26 23:56:23 +02:00
2017-03-26 23:56:23 +02:00
2017-03-26 23:56:23 +02:00
2013-11-17 00:20:58 +00:00
2014-04-03 11:49:48 +02:00
2014-04-03 11:49:48 +02:00
2013-11-17 12:52:42 +00:00
2015-03-21 01:27:44 +01:00
2017-03-26 23:56:23 +02:00
2017-03-26 23:56:23 +02:00
2017-03-26 23:56:23 +02:00
2017-03-26 23:56:23 +02:00
2007-10-25 21:04:51 +00:00
2015-11-06 10:55:30 +01:00
2017-08-04 10:01:23 +02:00
2008-06-01 22:04:09 +00:00
2008-06-01 22:04:09 +00:00
2008-08-14 19:18:18 +00:00
2008-08-14 19:18:18 +00:00
2008-08-14 19:18:18 +00:00
2008-08-14 19:18:18 +00:00
2008-08-14 19:18:18 +00:00
2008-06-01 22:04:09 +00:00
2008-06-01 22:04:09 +00:00
2017-05-20 19:00:16 +02:00
2008-07-31 02:51:44 +00:00
2008-07-31 02:38:51 +00:00
2008-09-22 21:33:18 +00:00
2010-03-31 22:22:37 -07:00
2010-10-19 20:20:06 +02:00
2014-04-03 11:49:49 +02:00
2011-04-20 16:51:44 -07:00
2014-04-03 11:49:49 +02:00
2014-04-03 11:49:49 +02:00
2014-04-03 11:49:49 +02:00
2017-08-28 14:56:59 +02:00
2017-06-15 11:09:48 +02:00
2017-06-16 09:45:26 +02:00
2010-08-25 16:43:26 -07:00
2010-08-25 16:43:26 -07:00
2010-08-25 16:43:26 -07:00
2013-04-12 23:59:37 +02:00
2014-04-03 11:49:49 +02:00
2014-04-03 11:49:49 +02:00
2013-08-16 11:55:04 +02:00
2016-11-14 08:35:40 +01:00
2016-11-15 08:22:54 +01:00
2016-12-24 23:35:54 +01:00
2017-03-12 20:32:46 +01:00
2016-10-31 09:37:54 +01:00
2011-01-04 23:13:10 +01:00
2011-01-04 23:13:10 +01:00
2011-06-13 22:32:00 +02:00
2011-08-04 17:48:45 +02:00
2011-12-16 11:39:53 +01:00
2011-12-23 14:46:20 +01:00
2017-07-28 15:51:36 +02:00
2012-01-18 22:20:33 +01:00
2014-04-03 11:49:49 +02:00
2017-03-26 23:56:23 +02:00
2017-03-26 23:56:23 +02:00
2017-03-26 23:56:23 +02:00
2017-04-27 22:34:12 +02:00
2017-06-30 11:34:05 +02:00
2017-07-07 11:00:26 +02:00
2017-08-23 09:03:13 +02:00
2015-05-23 16:28:09 +02:00
2015-12-26 17:25:59 +01:00
2016-04-20 10:02:22 +02:00
2015-02-03 20:37:44 +01:00
2015-02-03 23:05:55 +01:00
2017-04-06 17:38:23 +02:00
2016-06-19 23:59:52 +02:00
2016-06-19 23:59:52 +02:00
2016-06-19 23:59:52 +02:00
2015-11-06 10:55:30 +01:00
2015-11-06 10:55:30 +01:00
2015-11-06 10:55:30 +01:00
2017-03-04 12:50:30 +01:00
2017-08-13 00:00:39 +02:00
2017-08-11 23:53:47 +02:00
2015-07-01 19:43:47 +02:00
2015-08-22 21:57:14 -04:00
2016-09-18 15:33:15 -04:00