curl / Mailing Lists / curl-library / Single Mail


Re: Enabled multiple SSL backends

From: Richard Gray <>
Date: Wed, 30 Aug 2017 09:53:17 -0400

Daniel Stenberg wrote:
> On Mon, 28 Aug 2017, Rich Gray wrote:
>> I am curious about the manpage statement "This function can only be called
>> once". Shouldn't this be something more like "This function can only be
>> used to select an SSL library once."
> Correct. I'll edit that paragraph.
>> Is the avail list a list of all possible libcurl backends or a list of
>> backends supported by the current library or a the valid libraries on the
>> current system?
> It returns the list that this specific build supports. In a future that
> might return SSL backends we don't even know the name of today.
>> I suspect the first case, given there appear to be CURLSSLBACKEND_* defines
>> for each library. This is also the only sane way the ID#s in the example
>> could be stable? They don't change, do they?
> Right, they are fixed and will never change.

I see I failed to notice that curl_ssl_backend must be a typedef of a struct
or something when I was looking at the example. Perhaps the manpage should
describe the curl_ssl_backend struct as containing .id and .name fields?
Yeah, I'm not using The Source (Luke,) just looking at what is presented
externally here. One should be able to code without having to look at source,

Now the manpage prototype confuses me.

   CURLsslset curl_global_sslset(curl_sslbackend id , const char * name ,
curl_ssl_backend *** avail );

Should the first argument be an int?
OH, I failed to notice the difference between curl_sslbackend (one underscore)
and curl_ssl_backend (two underscores). That's mighty subtle...


Received on 2017-08-30