X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fapache.c;h=ad5975c015bdf737860a16df41eefe4a5887414e;hb=103f05e098865196fc5f28df51e99b64fd6b5202;hp=202b73cfdc258f451b463a15ecfe9ca5b026865d;hpb=7a6887ad7eef33e04bcb0720c213d05fd9be8a59;p=collectd.git diff --git a/src/apache.c b/src/apache.c index 202b73cf..ad5975c0 100644 --- a/src/apache.c +++ b/src/apache.c @@ -18,7 +18,7 @@ * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * * Authors: - * Florian octo Forster + * Florian octo Forster * Florent EppO Monbillard * - connections/lighttpd extension * Amit Gupta @@ -402,7 +402,7 @@ static int init_host (apache_t *st) /* {{{ */ curl_easy_setopt (st->curl, CURLOPT_WRITEHEADER, st); } - curl_easy_setopt (st->curl, CURLOPT_USERAGENT, PACKAGE_NAME"/"PACKAGE_VERSION); + curl_easy_setopt (st->curl, CURLOPT_USERAGENT, COLLECTD_USERAGENT); curl_easy_setopt (st->curl, CURLOPT_ERRORBUFFER, st->apache_curl_error); if (st->user != NULL) @@ -426,6 +426,7 @@ static int init_host (apache_t *st) /* {{{ */ curl_easy_setopt (st->curl, CURLOPT_URL, st->url); curl_easy_setopt (st->curl, CURLOPT_FOLLOWLOCATION, 1L); + curl_easy_setopt (st->curl, CURLOPT_MAXREDIRS, 50L); if (st->verify_peer != 0) { @@ -611,7 +612,7 @@ static int apache_read_host (user_data_t *user_data) /* {{{ */ assert (st->curl != NULL); st->apache_buffer_fill = 0; - if (curl_easy_perform (st->curl) != 0) + if (curl_easy_perform (st->curl) != CURLE_OK) { ERROR ("apache: curl_easy_perform failed: %s", st->apache_curl_error); @@ -670,9 +671,18 @@ static int apache_read_host (user_data_t *user_data) /* {{{ */ return (0); } /* }}} int apache_read_host */ +static int apache_init (void) /* {{{ */ +{ + /* Call this while collectd is still single-threaded to avoid + * initialization issues in libgcrypt. */ + curl_global_init (CURL_GLOBAL_SSL); + return (0); +} /* }}} int apache_init */ + void module_register (void) { plugin_register_complex_config ("apache", config); + plugin_register_init ("apache", apache_init); } /* void module_register */ /* vim: set sw=8 noet fdm=marker : */