X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fcurl_xml.c;h=052ea1e61244d92d509501ea0daf800f19f454f3;hb=c591ba1d3171d08d194eeb6ea3540ff696a3392b;hp=062ad90a3ff3135f659b1be821a24af120958965;hpb=74525016b183d71f0a5685fa54507078f3f82640;p=collectd.git diff --git a/src/curl_xml.c b/src/curl_xml.c index 062ad90a..052ea1e6 100644 --- a/src/curl_xml.c +++ b/src/curl_xml.c @@ -555,7 +555,8 @@ static int cx_curl_perform (cx_t *db, CURL *curl) /* {{{ */ 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); @@ -734,6 +735,7 @@ static int cx_init_curl (cx_t *db) /* {{{ */ 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, @@ -761,9 +763,9 @@ static int cx_init_curl (cx_t *db) /* {{{ */ curl_easy_setopt (db->curl, CURLOPT_USERPWD, db->credentials); } - curl_easy_setopt (db->curl, CURLOPT_SSL_VERIFYPEER, db->verify_peer); + curl_easy_setopt (db->curl, CURLOPT_SSL_VERIFYPEER, db->verify_peer ? 1L : 0L); curl_easy_setopt (db->curl, CURLOPT_SSL_VERIFYHOST, - db->verify_host ? 2 : 0); + db->verify_host ? 2L : 0L); if (db->cacert != NULL) curl_easy_setopt (db->curl, CURLOPT_CAINFO, db->cacert); @@ -870,7 +872,7 @@ static int cx_config_add_url (oconfig_item_t *ci) /* {{{ */ ssnprintf (cb_name, sizeof (cb_name), "curl_xml-%s-%s", db->instance, db->url); - plugin_register_complex_read (cb_name, cx_read, + plugin_register_complex_read (/* group = */ NULL, cb_name, cx_read, /* interval = */ NULL, &ud); } else