From bbd99a277bf05bd8c1f6fa682e20646f29ac1de4 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 29 Jun 2016 15:57:44 +0200 Subject: [PATCH] curl_global_init.3: expand on the SSL and WIN32 bits purpose Reported-by: Richard Gray Bug: https://curl.haxx.se/mail/lib-2016-06/0136.html --- docs/libcurl/curl_global_init.3 | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/docs/libcurl/curl_global_init.3 b/docs/libcurl/curl_global_init.3 index d56df5b39..01e670793 100644 --- a/docs/libcurl/curl_global_init.3 +++ b/docs/libcurl/curl_global_init.3 @@ -64,10 +64,23 @@ Initialize everything possible. This sets all known bits except \fBCURL_GLOBAL_ACK_EINTR\fP. .TP .B CURL_GLOBAL_SSL -Initialize SSL +Initialize SSL. + +The implication here is that if this bit is not set, the initialization of the +SSL layer needs to be done by the application or at least outside of +libcurl. The exact procedure how to do SSL initializtion depends on the TLS +backend libcurl uses. + +Doing TLS based transfers without having the TLS layer initialized may lead to +unexpected behaviors. .TP .B CURL_GLOBAL_WIN32 Initialize the Win32 socket libraries. + +The implication here is that if this bit is not set, the initialization of +winsock has to be done by the application or you risk getting undefined +behaviors. This option exists for when the initialization is handled outside +of libcurl so there's no need for libcurl to do it again. .TP .B CURL_GLOBAL_NOTHING Initialise nothing extra. This sets no bit.