if (curlver) {
log.debug("libcurl %s initialization complete", curlver->version);
if (!(curlver->features & CURL_VERSION_SSL)) {
- log.warn("libcurl lacks TLS/SSL support, this will greatly limit functionality");
+ log.crit("libcurl lacks TLS/SSL support, this will greatly limit functionality");
+ } else if (curlver->ssl_version && !strstr(curlver->ssl_version, "OpenSSL")) {
+ log.crit("libcurl lacks OpenSSL-specific options, this will greatly limit functionality");
}
}
else {
// Make the call.
log.debug("sending SOAP message to %s", m_endpoint.c_str());
- if (curl_easy_perform(m_handle) != CURLE_OK) {
+ CURLcode code = curl_easy_perform(m_handle);
+ if (code != CURLE_OK) {
+ if (code == CURLE_SSL_CIPHER) {
+ log.error("on Red Hat 6+, make sure libcurl used is built with OpenSSL");
+ }
throw IOException(
string("CURLSOAPTransport failed while contacting SOAP endpoint (") + m_endpoint + "): " +
(curl_errorbuf[0] ? curl_errorbuf : "no further information available"));
default:
fLog.error("error while fetching %s: (%d) %s", fURL.c_str(), msg->data.result, fError);
+ if (msg->data.result == CURLE_SSL_CIPHER) {
+ fLog.error("on Red Hat 6+, make sure libcurl used is built with OpenSSL");
+ }
ThrowXML1(NetAccessorException, XMLExcepts::NetAcc_InternalError, fURL.c_str());
break;
}