* Florian Forster <octo at verplant.org>
**/
-/* Set to C99 and POSIX code */
-#ifndef _ISOC99_SOURCE
-# define _ISOC99_SOURCE
-#endif
-#ifndef _POSIX_SOURCE
-# define _POSIX_SOURCE
-#endif
-#ifndef _POSIX_C_SOURCE
-# define _POSIX_C_SOURCE 200112L
-#endif
-#ifndef _REENTRANT
-# define _REENTRANT
-#endif
+#include "config.h"
+
#ifndef _XOPEN_SOURCE
-# define _XOPEN_SOURCE 600
-#endif
-#ifndef _BSD_SOURCE
-# define _BSD_SOURCE
+# define _XOPEN_SOURCE 600 /* glibc2 needs this for strptime */
#endif
#include "collectd.h"
#include "plugin.h"
#include "configfile.h"
+/* Some versions of libcurl don't include this themselves and then don't have
+ * fd_set available. */
+#if HAVE_SYS_SELECT_H
+# include <sys/select.h>
+#endif
+
#include <curl/curl.h>
#include <libxml/parser.h>
#include <libxml/xpath.h>
return (-1);
}
- *ret_value = timegm(&tm);
+ *ret_value = mktime(&tm);
xmlXPathFreeObject (xpathObj);
return (0);
list_info_ptr_t list_info =
{
plugin_instance,
- /* type = */ "dns_qtype_gauge"
+ /* type = */ "dns_qtype"
};
ssnprintf (plugin_instance, sizeof (plugin_instance), "%s-qtypes",
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",
return (-1);
}
+ curl_easy_setopt (curl, CURLOPT_NOSIGNAL, 1);
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, 1);
return (0);
} /* }}} int bind_init */