cURL cURL > Mailing List > Monthly Index > Single Mail

curl-tracker Archives

[curl:bugs] #1463 libCurl crashes the program by throwing SSL read: error:00000000:lib(0):func(0):reason(0), errno 110".

From: Daniel Stenberg <bagder_at_users.sf.net>
Date: Tue, 09 Dec 2014 13:50:50 +0000

- **labels**: errno 110 --> errno 110, SSL/TLS, openssl
- **assigned_to**: Daniel Stenberg
- **Comment**:

"crash" means it doesn't return normally, but surely it did?

This is libcurl not being able to figure out an error that OpenSSL returns. What OpenSSL version is this?

What happens if you try the same OpenSSL and curl versions on a x86 linux? Does it happen with other OpenSSL versions? Does it happen against any publicly accessible URLs so that we can try to reproduce?

---
** [bugs:#1463] libCurl crashes the program by throwing SSL read: error:00000000:lib(0):func(0):reason(0), errno 110".**
**Status:** open
**Labels:** errno 110 SSL/TLS openssl 
**Created:** Tue Dec 09, 2014 12:18 PM UTC by kritpal singh
**Last Updated:** Tue Dec 09, 2014 12:18 PM UTC
**Owner:** Daniel Stenberg
**libcurl version** - 7.38.0
**platform** - openwrt arm7 
**protocol** - https 
**program code snippet**
if (curl) {
   curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);
   curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
   curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);
   curl_easy_setopt(curl, CURLOPT_TIMEOUT, 30);
   curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, read_data);
   //url_easy_setopt(curl, CURLOPT_WRITEDATA, client);
   curl_easy_setopt(curl, CURLOPT_URL, "https://***.com:1027/page");  
   curl_easy_setopt(curl, CURLOPT_HTTPPOST, formpost);
   curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 0);
   printf("sending perform request\n");
   try{
   res = curl_easy_perform(curl); // Perform the request, res will get the return code 
   printf("%s",curl_easy_strerror(res));
   }catch(int e){
       printf("catch the error\n");
       fflush(stdout);
   }
   printf("perform done");
   if (res != CURLE_OK) { /* Check for errors */
       fprintf(stderr, "curl_easy_perform() failed: %s\n",
               curl_easy_strerror(res));
       printf(" Uploading failed \n");
       fflush(stdout);
       result = 0;
   }
And i tried with this as well 
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 2);
    curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, true);
    curl_easy_setopt(curl, CURLOPT_CAINFO, "/server.cer");
**Output **
sending perform request
> POST /send_log HTTP/1.1
Host: cloud.securifi.com:1027
Accept: */*
Content-Length: 1028775
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------d7460292fcc7
< HTTP/1.1 100 Continue
* SSL read: error:00000000:lib(0):func(0):reason(0), errno 110
---
Sent from sourceforge.net because curl-tracker@cool.haxx.se is subscribed to https://sourceforge.net/p/curl/bugs/
To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/curl/admin/bugs/options.  Or, if this is a mailing list, you can unsubscribe from the mailing list.
Received on 2014-12-09

These mail archives are generated by hypermail.