libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit 6dd259d216c14ddd99b2b9b96beddfd1153b7387
parent 0ef1eadb3f46b71517fe444de0a5176272f6e26c
Author: Christian Grothoff <christian@grothoff.org>
Date:   Tue, 19 Jun 2012 17:44:15 +0000

Mike Crowe: 
According to the libcurl documentation the parameter to curl_version_info
should be CURLVERSION_NOW rather than a bit value from the features
bitmask.

Also, on my installation at least libssh_version is NULL so the check
segfaults. It would seem that ssl_version is a more appropriate field to
check.

Finally, if libcurl lacks SSL support them ssl_version may be NULL. Make sure we
don't segfault inside strcasestr if that is the case.



Diffstat:
Msrc/testcurl/https/tls_multi_thread_mode_test.c | 9++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/testcurl/https/tls_multi_thread_mode_test.c b/src/testcurl/https/tls_multi_thread_mode_test.c @@ -126,11 +126,18 @@ int main (int argc, char *const *argv) { unsigned int errorCount = 0; + const char *ssl_version; /* initialize random seed used by curl clients */ unsigned int iseed = (unsigned int) time (NULL); srand (iseed); - if (NULL != strcasestr (curl_version_info (CURL_VERSION_SSL)->libssh_version, "openssl")) + ssl_version = curl_version_info (CURLVERSION_NOW)->ssl_version; + if (NULL == ssl_version) + { + fprintf (stderr, "Curl does not support SSL. Cannot run the test.\n"); + return 0; + } + if (NULL != strcasestr (ssl_version, "openssl")) { fprintf (stderr, "Refusing to run test with OpenSSL. Please install libcurl-gnutls\n"); return 0;