diff --git a/src/curl_xml.c b/src/curl_xml.c
index c10955cb973a803902968781cdc73573d32f46b4..052ea1e61244d92d509501ea0daf800f19f454f3 100644 (file)
--- a/src/curl_xml.c
+++ b/src/curl_xml.c
curl_easy_getinfo(curl, CURLINFO_EFFECTIVE_URL, &url);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &rc);
- if (rc != 200)
+ /* The response code is zero if a non-HTTP transport was used. */
+ if ((rc != 0) && (rc != 200))
{
ERROR ("curl_xml plugin: curl_easy_perform failed with response code %ld (%s)",
rc, url);
return (-1);
}
+ curl_easy_setopt (db->curl, CURLOPT_NOSIGNAL, 1);
curl_easy_setopt (db->curl, CURLOPT_WRITEFUNCTION, cx_curl_callback);
curl_easy_setopt (db->curl, CURLOPT_WRITEDATA, db);
curl_easy_setopt (db->curl, CURLOPT_USERAGENT,