Tags: dscho/curl
Tags
Runtime-configurable SSL backend
This topic branch on top of cURL 7.55.1 adds the ability to choose an
SSL backend at runtime, such as OpenSSL or Secure Channel.
Two methods are available to choose: the environment variable
CURL_SSL_BACKEND, and the newly-introduced API function
curl_global_sslset(curl_sslbackend <id>, const char *<name>,
const curl_ssl_backend ***<avail>);
where either the id is specified, or name (while -1 is passed as first
parameter). Upon success, it returns CURLSSLSET_OK. If the function
returns CURLSSLSET_UNKNOWN_BACKEND, a pointer to a NULL-terminated list
of available SSL backends is assigned to the third parameter (unless
NULL is passed as that parameter).
The motivation for implementing this feature is to allow Git for Windows
to choose the SSL backend to use at runtime, without having to juggle
multiple cURL builds around.
For good measure, two other patches have been cherry-picked that let
cURL build on Windows even when configured with --enable-maintainer-mode
and --enable-werror.
These patches (apart from the two last patches) have been submitted for
inclusion into cURL proper as
curl#1601
and they have been accepted into cURL's master branch already.
This tag points at the changes backported to 7.55.1, along with the
fixes to make HTTPS proxies work again, as submitted here:
curl#1871
Runtime-configurable SSL backend This topic branch on top of cURL 7.55.0 adds the ability to choose an SSL backend at runtime, such as OpenSSL or Secure Channel. Two methods are available to choose: the environment variable CURL_SSL_BACKEND, and the newly-introduced API function curl_global_sslset(curl_sslbackend <id>, const char *<name>, const curl_ssl_backend ***<avail>); where either the id is specified, or name (while -1 is passed as first parameter). Upon success, it returns CURLSSLSET_OK. If the function returns CURLSSLSET_UNKNOWN_BACKEND, a pointer to a NULL-terminated list of available SSL backends is assigned to the third parameter (unless NULL is passed as that parameter). The motivation for implementing this feature is to allow Git for Windows to choose the SSL backend to use at runtime, without having to juggle multiple cURL builds around. For good measure, two other patches have been cherry-picked that let cURL build on Windows even when configured with --enable-maintainer-mode and --enable-werror. These patches (apart from the two last patches) have been submitted for inclusion into cURL proper as curl#1601 and it looks as if cURL 7.56.0 might ship with this feature out of the box.
Runtime-configurable SSL backend This topic branch on top of cURL 7.54.1 adds the ability to choose an SSL backend at runtime, such as OpenSSL or Secure Channel. Two methods are available to choose: the environment variable CURL_SSL_BACKEND, and the newly-introduced API function curl_global_sslset(curl_sslbackend <id>, const char *<name>, const curl_ssl_backend ***<avail>); where either the id is specified, or name (while -1 is passed as first parameter). Upon success, it returns CURLSSLSET_OK. If the function returns CURLSSLSET_UNKNOWN_BACKEND, a pointer to a NULL-terminated list of available SSL backends is assigned to the third parameter (unless NULL is passed as that parameter). The motivation for implementing this feature is to allow Git for Windows to choose the SSL backend to use at runtime, without having to juggle multiple cURL builds around. For good measure, two other patches have been cherry-picked that let cURL build on Windows even when configured with --enable-maintainer-mode and --enable-werror. These patches (apart from the two last patches) have been submitted for inclusion into cURL proper as curl#1601 and it looks as if cURL 7.56.0 might ship with this feature out of the box.
Request for guidance: runtime-choosable SSL backends This was the first attempt proposed in curl#1601
PreviousNext