projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mqtt, gps: add name parameter to plugin_thread_create()
[collectd.git]
/
src
/
powerdns.c
diff --git
a/src/powerdns.c
b/src/powerdns.c
index
e215a8c
..
b5d4a32
100644
(file)
--- a/
src/powerdns.c
+++ b/
src/powerdns.c
@@
-28,7
+28,6
@@
#include "common.h"
#include "plugin.h"
#include "common.h"
#include "plugin.h"
-#include "configfile.h"
#include "utils_llist.h"
#include <sys/stat.h>
#include "utils_llist.h"
#include <sys/stat.h>
@@
-44,6
+43,7
@@
# define UNIX_PATH_MAX sizeof (((struct sockaddr_un *)0)->sun_path)
#endif
#define FUNC_ERROR(func) do { char errbuf[1024]; ERROR ("powerdns plugin: %s failed: %s", func, sstrerror (errno, errbuf, sizeof (errbuf))); } while (0)
# define UNIX_PATH_MAX sizeof (((struct sockaddr_un *)0)->sun_path)
#endif
#define FUNC_ERROR(func) do { char errbuf[1024]; ERROR ("powerdns plugin: %s failed: %s", func, sstrerror (errno, errbuf, sizeof (errbuf))); } while (0)
+#define SOCK_ERROR(func, sockpath) do { char errbuf[1024]; ERROR ("powerdns plugin: Socket `%s` %s failed: %s", sockpath, func, sstrerror (errno, errbuf, sizeof (errbuf))); } while (0)
#define SERVER_SOCKET LOCALSTATEDIR"/run/pdns.controlsocket"
#define SERVER_COMMAND "SHOW * \n"
#define SERVER_SOCKET LOCALSTATEDIR"/run/pdns.controlsocket"
#define SERVER_COMMAND "SHOW * \n"
@@
-51,7
+51,7
@@
#define RECURSOR_SOCKET LOCALSTATEDIR"/run/pdns_recursor.controlsocket"
#define RECURSOR_COMMAND "get noerror-answers nxdomain-answers " \
"servfail-answers sys-msec user-msec qa-latency cache-entries cache-hits " \
#define RECURSOR_SOCKET LOCALSTATEDIR"/run/pdns_recursor.controlsocket"
#define RECURSOR_COMMAND "get noerror-answers nxdomain-answers " \
"servfail-answers sys-msec user-msec qa-latency cache-entries cache-hits " \
- "cache-misses questions\n"
+ "cache-misses questions
\n"
struct list_item_s;
typedef struct list_item_s list_item_t;
struct list_item_s;
typedef struct list_item_s list_item_t;
@@
-301,10
+301,10
@@
static char *local_sockpath = NULL;
/* <https://doc.powerdns.com/md/recursor/stats/> */
static void submit (const char *plugin_instance, /* {{{ */
/* <https://doc.powerdns.com/md/recursor/stats/> */
static void submit (const char *plugin_instance, /* {{{ */
- const char *pdns_type, const char *value)
+ const char *pdns_type, const char *value
_str
)
{
value_list_t vl = VALUE_LIST_INIT;
{
value_list_t vl = VALUE_LIST_INIT;
- value_t value
s[1]
;
+ value_t value;
const char *type = NULL;
const char *type_instance = NULL;
const char *type = NULL;
const char *type_instance = NULL;
@@
-319,7
+319,7
@@
static void submit (const char *plugin_instance, /* {{{ */
if (i >= lookup_table_length)
{
INFO ("powerdns plugin: submit: Not found in lookup table: %s = %s;",
if (i >= lookup_table_length)
{
INFO ("powerdns plugin: submit: Not found in lookup table: %s = %s;",
- pdns_type, value);
+ pdns_type, value
_str
);
return;
}
return;
}
@@
-346,16
+346,15
@@
static void submit (const char *plugin_instance, /* {{{ */
return;
}
return;
}
- if (0 != parse_value (value
, &values[0]
, ds->ds[0].type))
+ if (0 != parse_value (value
_str, &value
, ds->ds[0].type))
{
ERROR ("powerdns plugin: Cannot convert `%s' "
{
ERROR ("powerdns plugin: Cannot convert `%s' "
- "to a number.", value);
+ "to a number.", value
_str
);
return;
}
return;
}
- vl.values =
values
;
+ vl.values =
&value
;
vl.values_len = 1;
vl.values_len = 1;
- sstrncpy (vl.host, hostname_g, sizeof (vl.host));
sstrncpy (vl.plugin, "powerdns", sizeof (vl.plugin));
sstrncpy (vl.type, type, sizeof (vl.type));
if (type_instance != NULL)
sstrncpy (vl.plugin, "powerdns", sizeof (vl.plugin));
sstrncpy (vl.type, type, sizeof (vl.type));
if (type_instance != NULL)
@@
-378,7
+377,6
@@
static int powerdns_get_data_dgram (list_item_t *item, /* {{{ */
struct sockaddr_un sa_unix = { 0 };
struct sockaddr_un sa_unix = { 0 };
- struct timeval stv_timeout;
cdtime_t cdt_timeout;
sd = socket (PF_UNIX, item->socktype, 0);
cdtime_t cdt_timeout;
sd = socket (PF_UNIX, item->socktype, 0);
@@
-396,7
+394,7
@@
static int powerdns_get_data_dgram (list_item_t *item, /* {{{ */
status = unlink (sa_unix.sun_path);
if ((status != 0) && (errno != ENOENT))
{
status = unlink (sa_unix.sun_path);
if ((status != 0) && (errno != ENOENT))
{
-
FUNC_ERROR ("unlink"
);
+
SOCK_ERROR ("unlink", sa_unix.sun_path
);
close (sd);
return (-1);
}
close (sd);
return (-1);
}
@@
-408,7
+406,7
@@
static int powerdns_get_data_dgram (list_item_t *item, /* {{{ */
status = bind (sd, (struct sockaddr *) &sa_unix, sizeof (sa_unix));
if (status != 0)
{
status = bind (sd, (struct sockaddr *) &sa_unix, sizeof (sa_unix));
if (status != 0)
{
-
FUNC_ERROR ("bind"
);
+
SOCK_ERROR ("bind", sa_unix.sun_path
);
break;
}
break;
}
@@
-416,7
+414,7
@@
static int powerdns_get_data_dgram (list_item_t *item, /* {{{ */
status = chmod (sa_unix.sun_path, 0666);
if (status != 0)
{
status = chmod (sa_unix.sun_path, 0666);
if (status != 0)
{
-
FUNC_ERROR ("chmod"
);
+
SOCK_ERROR ("chmod", sa_unix.sun_path
);
break;
}
break;
}
@@
-424,12
+422,12
@@
static int powerdns_get_data_dgram (list_item_t *item, /* {{{ */
if (cdt_timeout < TIME_T_TO_CDTIME_T (2))
cdt_timeout = TIME_T_TO_CDTIME_T (2);
if (cdt_timeout < TIME_T_TO_CDTIME_T (2))
cdt_timeout = TIME_T_TO_CDTIME_T (2);
- CDTIME_T_TO_TIMEVAL (cdt_timeout, &stv_timeout);
-
-
status = setsockopt (sd, SOL_SOCKET, SO_RCVTIMEO, &stv_timeout, sizeof (stv_timeout
));
+ status = setsockopt (sd, SOL_SOCKET, SO_RCVTIMEO,
+ &CDTIME_T_TO_TIMEVAL(cdt_timeout),
+
sizeof(struct timeval
));
if (status != 0)
{
if (status != 0)
{
-
FUNC_ERROR ("setsockopt"
);
+
SOCK_ERROR ("setsockopt", sa_unix.sun_path
);
break;
}
break;
}
@@
-437,21
+435,21
@@
static int powerdns_get_data_dgram (list_item_t *item, /* {{{ */
sizeof (item->sockaddr));
if (status != 0)
{
sizeof (item->sockaddr));
if (status != 0)
{
-
FUNC_ERROR ("connect"
);
+
SOCK_ERROR ("connect", sa_unix.sun_path
);
break;
}
status = send (sd, item->command, strlen (item->command), 0);
if (status < 0)
{
break;
}
status = send (sd, item->command, strlen (item->command), 0);
if (status < 0)
{
-
FUNC_ERROR ("send"
);
+
SOCK_ERROR ("send", sa_unix.sun_path
);
break;
}
status = recv (sd, temp, sizeof (temp), /* flags = */ 0);
if (status < 0)
{
break;
}
status = recv (sd, temp, sizeof (temp), /* flags = */ 0);
if (status < 0)
{
-
FUNC_ERROR ("recv"
);
+
SOCK_ERROR ("recv", sa_unix.sun_path
);
break;
}
buffer_size = status + 1;
break;
}
buffer_size = status + 1;
@@
-514,7
+512,7
@@
static int powerdns_get_data_stream (list_item_t *item, /* {{{ */
sizeof (item->sockaddr));
if (status != 0)
{
sizeof (item->sockaddr));
if (status != 0)
{
-
FUNC_ERROR ("connect"
);
+
SOCK_ERROR ("connect", item->sockaddr.sun_path
);
close (sd);
return (-1);
}
close (sd);
return (-1);
}
@@
-524,7
+522,7
@@
static int powerdns_get_data_stream (list_item_t *item, /* {{{ */
/* flags = */ 0);
if (status < 0)
{
/* flags = */ 0);
if (status < 0)
{
-
FUNC_ERROR ("send"
);
+
SOCK_ERROR ("send", item->sockaddr.sun_path
);
close (sd);
return (-1);
}
close (sd);
return (-1);
}
@@
-536,7
+534,7
@@
static int powerdns_get_data_stream (list_item_t *item, /* {{{ */
status = recv (sd, temp, sizeof (temp), /* flags = */ 0);
if (status < 0)
{
status = recv (sd, temp, sizeof (temp), /* flags = */ 0);
if (status < 0)
{
-
FUNC_ERROR ("recv"
);
+
SOCK_ERROR ("recv", item->sockaddr.sun_path
);
break;
}
else if (status == 0)
break;
}
else if (status == 0)