X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fbind.c;h=19d95d41afeee416d840397ac6332bf5320de95a;hb=66b400ab01b8133e450bb002e175117a1ab6f9ae;hp=3d46e51e043846cf160298973d391727f56b2371;hpb=085a993e0f187ad73d3a28cea508ec6e56c39516;p=collectd.git diff --git a/src/bind.c b/src/bind.c index 3d46e51e..19d95d41 100644 --- a/src/bind.c +++ b/src/bind.c @@ -21,7 +21,11 @@ * Florian Forster **/ -#define _XOPEN_SOURCE 600 /* glibc2 needs this for strptime */ +#include "config.h" + +#ifndef _XOPEN_SOURCE +# define _XOPEN_SOURCE 600 /* glibc2 needs this for strptime */ +#endif #include "collectd.h" #include "common.h" @@ -787,7 +791,7 @@ static int bind_xml_stats_handle_view (int version, xmlDoc *doc, /* {{{ */ list_info_ptr_t list_info = { plugin_instance, - /* type = */ "dns_qtype_gauge" + /* type = */ "dns_qtype" }; ssnprintf (plugin_instance, sizeof (plugin_instance), "%s-qtypes", @@ -818,13 +822,14 @@ static int bind_xml_stats_handle_view (int version, xmlDoc *doc, /* {{{ */ doc, path_ctx, current_time, DS_TYPE_COUNTER); } /* }}} */ + /* Record types in the cache */ if (view->cacherrsets != 0) /* {{{ */ { char plugin_instance[DATA_MAX_NAME_LEN]; list_info_ptr_t list_info = { plugin_instance, - /* type = */ "dns_qtype_gauge" + /* type = */ "dns_qtype_cached" }; ssnprintf (plugin_instance, sizeof (plugin_instance), "%s-cache_rr_sets", @@ -1378,10 +1383,13 @@ static int bind_init (void) /* {{{ */ return (-1); } + curl_easy_setopt (curl, CURLOPT_NOSIGNAL, 1L); curl_easy_setopt (curl, CURLOPT_WRITEFUNCTION, bind_curl_callback); curl_easy_setopt (curl, CURLOPT_USERAGENT, PACKAGE_NAME"/"PACKAGE_VERSION); curl_easy_setopt (curl, CURLOPT_ERRORBUFFER, bind_curl_error); curl_easy_setopt (curl, CURLOPT_URL, (url != NULL) ? url : BIND_DEFAULT_URL); + curl_easy_setopt (curl, CURLOPT_FOLLOWLOCATION, 1L); + curl_easy_setopt (curl, CURLOPT_MAXREDIRS, 50L); return (0); } /* }}} int bind_init */ @@ -1397,7 +1405,7 @@ static int bind_read (void) /* {{{ */ } bind_buffer_fill = 0; - if (curl_easy_perform (curl) != 0) + if (curl_easy_perform (curl) != CURLE_OK) { ERROR ("bind plugin: curl_easy_perform failed: %s", bind_curl_error);