cURL / Mailing Lists / curl-library / Single Mail


SSL read error 10054

From: Jeff McKay <>
Date: Mon, 01 Oct 2012 09:55:53 -0700

I have a Windows C++ application using libcurl 7.26. For one particular
customer, the
application runs normally for quite a while, then on a POST, we receive
this error:

SSL read: error:00000000:lib(0):func(0):reason(0), errno 10054

There is an approximately 2 minute delay from the time of the POST to when
the error occurs. I understand that the error 10054 comes from the
tcp layer and means that the peer shut down the connection, so at first
this does not seem to be a libcurl problem. However this customer is also
using a previous version of our software, which uses a much older libcurl
(not sure which version, but at least 3 years earlier than 7.26). And of
course the error does not happen with that version. There may be some
other differences in the curl options we set, but very little, if any. This
customer is using a proxy server, if that has any bearing. Does anybody
an idea what could cause this error, that is under my control to fix?
The options we are setting for the POST are shown below.

curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_USERAGENT, gAgent);
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1);
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 30);
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1);
curl_easy_setopt(curl, CURLOPT_MAXREDIRS, 50);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteMemoryCallback);
curl_easy_setopt(curl, CURLOPT_READFUNCTION, ReadMemoryCallback);
curl_easy_setopt(curl, CURLOPT_SSLENGINE_DEFAULT, 1);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1);
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1);
curl_easy_setopt(curl, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
curl_easy_setopt(curl, CURLOPT_USERPWD, userpass);
curl_easy_setopt(curl, CURLOPT_POST, 1);
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, NULL);
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, gslist);
curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, (curl_off_t)fsize);
curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, HttpHeaderData);
curl_easy_setopt(curl, CURLOPT_PROXY, proxy);
curl_easy_setopt(curl, CURLOPT_PROXYUSERPWD, proxyuserpwd);

List admin:
Received on 2012-10-01