projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
collectd.conf(5): fix typo in Ethstat section
[collectd.git]
/
src
/
snmp.c
diff --git
a/src/snmp.c
b/src/snmp.c
index
8b21907
..
8b32730
100644
(file)
--- a/
src/snmp.c
+++ b/
src/snmp.c
@@
-25,12
+25,11
@@
**/
#include "collectd.h"
**/
#include "collectd.h"
+
#include "common.h"
#include "plugin.h"
#include "utils_complain.h"
#include "common.h"
#include "plugin.h"
#include "utils_complain.h"
-#include <pthread.h>
-
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
@@
-166,9
+165,8
@@
static int csnmp_oid_to_string (char *buffer, size_t buffer_size,
{
char oid_str[MAX_OID_LEN][16];
char *oid_str_ptr[MAX_OID_LEN];
{
char oid_str[MAX_OID_LEN][16];
char *oid_str_ptr[MAX_OID_LEN];
- size_t i;
- for (i = 0; i < o->oid_len; i++)
+ for (
size_t
i = 0; i < o->oid_len; i++)
{
ssnprintf (oid_str[i], sizeof (oid_str[i]), "%lu", (unsigned long) o->oid[i]);
oid_str_ptr[i] = oid_str[i];
{
ssnprintf (oid_str[i], sizeof (oid_str[i]), "%lu", (unsigned long) o->oid[i]);
oid_str_ptr[i] = oid_str[i];
@@
-293,15
+291,13
@@
static int csnmp_config_add_data_instance_prefix (data_definition_t *dd,
static int csnmp_config_add_data_values (data_definition_t *dd, oconfig_item_t *ci)
{
static int csnmp_config_add_data_values (data_definition_t *dd, oconfig_item_t *ci)
{
- int i;
-
if (ci->values_num < 1)
{
WARNING ("snmp plugin: `Values' needs at least one argument.");
return (-1);
}
if (ci->values_num < 1)
{
WARNING ("snmp plugin: `Values' needs at least one argument.");
return (-1);
}
- for (i = 0; i < ci->values_num; i++)
+ for (i
nt i
= 0; i < ci->values_num; i++)
if (ci->values[i].type != OCONFIG_TYPE_STRING)
{
WARNING ("snmp plugin: `Values' needs only string argument.");
if (ci->values[i].type != OCONFIG_TYPE_STRING)
{
WARNING ("snmp plugin: `Values' needs only string argument.");
@@
-315,7
+311,7
@@
static int csnmp_config_add_data_values (data_definition_t *dd, oconfig_item_t *
return (-1);
dd->values_len = (size_t) ci->values_num;
return (-1);
dd->values_len = (size_t) ci->values_num;
- for (i = 0; i < ci->values_num; i++)
+ for (i
nt i
= 0; i < ci->values_num; i++)
{
dd->values[i].oid_len = MAX_OID_LEN;
{
dd->values[i].oid_len = MAX_OID_LEN;
@@
-336,12
+332,10
@@
static int csnmp_config_add_data_values (data_definition_t *dd, oconfig_item_t *
static int csnmp_config_add_data_blacklist(data_definition_t *dd, oconfig_item_t *ci)
{
static int csnmp_config_add_data_blacklist(data_definition_t *dd, oconfig_item_t *ci)
{
- int i;
-
if (ci->values_num < 1)
return (0);
if (ci->values_num < 1)
return (0);
- for (i = 0; i < ci->values_num; i++)
+ for (i
nt i
= 0; i < ci->values_num; i++)
{
if (ci->values[i].type != OCONFIG_TYPE_STRING)
{
{
if (ci->values[i].type != OCONFIG_TYPE_STRING)
{
@@
-353,7
+347,7
@@
static int csnmp_config_add_data_blacklist(data_definition_t *dd, oconfig_item_t
dd->ignores_len = 0;
dd->ignores = NULL;
dd->ignores_len = 0;
dd->ignores = NULL;
- for (i = 0; i < ci->values_num; ++i)
+ for (i
nt i
= 0; i < ci->values_num; ++i)
{
if (strarray_add(&(dd->ignores), &(dd->ignores_len), ci->values[i].value.string) != 0)
{
{
if (strarray_add(&(dd->ignores), &(dd->ignores_len), ci->values[i].value.string) != 0)
{
@@
-382,7
+376,6
@@
static int csnmp_config_add_data (oconfig_item_t *ci)
{
data_definition_t *dd;
int status = 0;
{
data_definition_t *dd;
int status = 0;
- int i;
dd = calloc (1, sizeof (*dd));
if (dd == NULL)
dd = calloc (1, sizeof (*dd));
if (dd == NULL)
@@
-398,7
+391,7
@@
static int csnmp_config_add_data (oconfig_item_t *ci)
dd->scale = 1.0;
dd->shift = 0.0;
dd->scale = 1.0;
dd->shift = 0.0;
- for (i = 0; i < ci->children_num; i++)
+ for (i
nt i
= 0; i < ci->children_num; i++)
{
oconfig_item_t *option = ci->children + i;
{
oconfig_item_t *option = ci->children + i;
@@
-504,7
+497,6
@@
static int csnmp_config_add_host_collect (host_definition_t *host,
data_definition_t *data;
data_definition_t **data_list;
int data_list_len;
data_definition_t *data;
data_definition_t **data_list;
int data_list_len;
- int i;
if (ci->values_num < 1)
{
if (ci->values_num < 1)
{
@@
-512,7
+504,7
@@
static int csnmp_config_add_host_collect (host_definition_t *host,
return (-1);
}
return (-1);
}
- for (i = 0; i < ci->values_num; i++)
+ for (i
nt i
= 0; i < ci->values_num; i++)
if (ci->values[i].type != OCONFIG_TYPE_STRING)
{
WARNING ("snmp plugin: All arguments to `Collect' must be strings.");
if (ci->values[i].type != OCONFIG_TYPE_STRING)
{
WARNING ("snmp plugin: All arguments to `Collect' must be strings.");
@@
-520,13
+512,13
@@
static int csnmp_config_add_host_collect (host_definition_t *host,
}
data_list_len = host->data_list_len + ci->values_num;
}
data_list_len = host->data_list_len + ci->values_num;
- data_list =
(data_definition_t **)
realloc (host->data_list,
+ data_list = realloc (host->data_list,
sizeof (data_definition_t *) * data_list_len);
if (data_list == NULL)
return (-1);
host->data_list = data_list;
sizeof (data_definition_t *) * data_list_len);
if (data_list == NULL)
return (-1);
host->data_list = data_list;
- for (i = 0; i < ci->values_num; i++)
+ for (i
nt i
= 0; i < ci->values_num; i++)
{
for (data = data_head; data != NULL; data = data->next)
if (strcasecmp (ci->values[i].value.string, data->name) == 0)
{
for (data = data_head; data != NULL; data = data->next)
if (strcasecmp (ci->values[i].value.string, data->name) == 0)
@@
-639,11
+631,10
@@
static int csnmp_config_add_host (oconfig_item_t *ci)
{
host_definition_t *hd;
int status = 0;
{
host_definition_t *hd;
int status = 0;
- int i;
/* Registration stuff. */
char cb_name[DATA_MAX_NAME_LEN];
/* Registration stuff. */
char cb_name[DATA_MAX_NAME_LEN];
- user_data_t cb_data;
+ user_data_t cb_data
= { 0 }
;
hd = calloc (1, sizeof (*hd));
if (hd == NULL)
hd = calloc (1, sizeof (*hd));
if (hd == NULL)
@@
-661,7
+652,7
@@
static int csnmp_config_add_host (oconfig_item_t *ci)
hd->sess_handle = NULL;
hd->interval = 0;
hd->sess_handle = NULL;
hd->interval = 0;
- for (i = 0; i < ci->children_num; i++)
+ for (i
nt i
= 0; i < ci->children_num; i++)
{
oconfig_item_t *option = ci->children + i;
status = 0;
{
oconfig_item_t *option = ci->children + i;
status = 0;
@@
-774,7
+765,6
@@
static int csnmp_config_add_host (oconfig_item_t *ci)
ssnprintf (cb_name, sizeof (cb_name), "snmp-%s", hd->name);
ssnprintf (cb_name, sizeof (cb_name), "snmp-%s", hd->name);
- memset (&cb_data, 0, sizeof (cb_data));
cb_data.data = hd;
cb_data.free_func = csnmp_host_definition_destroy;
cb_data.data = hd;
cb_data.free_func = csnmp_host_definition_destroy;
@@
-792,11
+782,9
@@
static int csnmp_config_add_host (oconfig_item_t *ci)
static int csnmp_config (oconfig_item_t *ci)
{
static int csnmp_config (oconfig_item_t *ci)
{
- int i;
-
call_snmp_init_once ();
call_snmp_init_once ();
- for (i = 0; i < ci->children_num; i++)
+ for (i
nt i
= 0; i < ci->children_num; i++)
{
oconfig_item_t *child = ci->children + i;
if (strcasecmp ("Data", child->key) == 0)
{
oconfig_item_t *child = ci->children + i;
if (strcasecmp ("Data", child->key) == 0)
@@
-944,9
+932,8
@@
static value_t csnmp_value_list_to_value (struct variable_list *vl, int type,
}
else
{
}
else
{
- char oid_buffer[1024];
+ char oid_buffer[1024]
= { 0 }
;
- memset (oid_buffer, 0, sizeof (oid_buffer));
snprint_objid (oid_buffer, sizeof (oid_buffer) - 1,
vl->name, vl->name_length);
snprint_objid (oid_buffer, sizeof (oid_buffer) - 1,
vl->name, vl->name_length);
@@
-1058,14
+1045,13
@@
static int csnmp_strvbcopy_hexstring (char *dst, /* {{{ */
{
char *buffer_ptr;
size_t buffer_free;
{
char *buffer_ptr;
size_t buffer_free;
- size_t i;
dst[0] = 0;
buffer_ptr = dst;
buffer_free = dst_size;
dst[0] = 0;
buffer_ptr = dst;
buffer_free = dst_size;
- for (i = 0; i < vb->val_len; i++)
+ for (
size_t
i = 0; i < vb->val_len; i++)
{
int status;
{
int status;
@@
-1098,7
+1084,6
@@
static int csnmp_strvbcopy (char *dst, /* {{{ */
{
char *src;
size_t num_chars;
{
char *src;
size_t num_chars;
- size_t i;
if (vb->type == ASN_OCTET_STR)
src = (char *) vb->val.string;
if (vb->type == ASN_OCTET_STR)
src = (char *) vb->val.string;
@@
-1122,7
+1107,7
@@
static int csnmp_strvbcopy (char *dst, /* {{{ */
if (num_chars > vb->val_len)
num_chars = vb->val_len;
if (num_chars > vb->val_len)
num_chars = vb->val_len;
- for (i = 0; i < num_chars; i++)
+ for (
size_t
i = 0; i < num_chars; i++)
{
/* Check for control characters. */
if ((unsigned char)src[i] < 32)
{
/* Check for control characters. */
if ((unsigned char)src[i] < 32)
@@
-1147,7
+1132,6
@@
static int csnmp_instance_list_add (csnmp_list_instances_t **head,
struct variable_list *vb;
oid_t vb_name;
int status;
struct variable_list *vb;
oid_t vb_name;
int status;
- uint32_t i;
uint32_t is_matched;
/* Set vb on the last variable */
uint32_t is_matched;
/* Set vb on the last variable */
@@
-1182,7
+1166,7
@@
static int csnmp_instance_list_add (csnmp_list_instances_t **head,
csnmp_strvbcopy (il->instance, vb, sizeof (il->instance));
is_matched = 0;
csnmp_strvbcopy (il->instance, vb, sizeof (il->instance));
is_matched = 0;
- for (i = 0; i < dd->ignores_len; i++)
+ for (
uint32_t
i = 0; i < dd->ignores_len; i++)
{
status = fnmatch(dd->ignores[i], il->instance, 0);
if (status == 0)
{
status = fnmatch(dd->ignores[i], il->instance, 0);
if (status == 0)
@@
-1278,7
+1262,6
@@
static int csnmp_dispatch_table (host_definition_t *host, data_definition_t *dat
vl.interval = host->interval;
have_more = 1;
vl.interval = host->interval;
have_more = 1;
- memset (¤t_suffix, 0, sizeof (current_suffix));
while (have_more)
{
_Bool suffix_skipped = 0;
while (have_more)
{
_Bool suffix_skipped = 0;
@@
-1673,7
+1656,7
@@
static int csnmp_read_table (host_definition_t *host, data_definition_t *data)
static int csnmp_read_value (host_definition_t *host, data_definition_t *data)
{
struct snmp_pdu *req;
static int csnmp_read_value (host_definition_t *host, data_definition_t *data)
{
struct snmp_pdu *req;
- struct snmp_pdu *res;
+ struct snmp_pdu *res
= NULL
;
struct variable_list *vb;
const data_set_t *ds;
struct variable_list *vb;
const data_set_t *ds;
@@
-1735,7
+1718,6
@@
static int csnmp_read_value (host_definition_t *host, data_definition_t *data)
for (i = 0; i < data->values_len; i++)
snmp_add_null_var (req, data->values[i].oid, data->values[i].oid_len);
for (i = 0; i < data->values_len; i++)
snmp_add_null_var (req, data->values[i].oid, data->values[i].oid_len);
- res = NULL;
status = snmp_sess_synch_response (host->sess_handle, req, &res);
if ((status != STAT_SUCCESS) || (res == NULL))
status = snmp_sess_synch_response (host->sess_handle, req, &res);
if ((status != STAT_SUCCESS) || (res == NULL))
@@
-1748,7
+1730,6
@@
static int csnmp_read_value (host_definition_t *host, data_definition_t *data)
if (res != NULL)
snmp_free_pdu (res);
if (res != NULL)
snmp_free_pdu (res);
- res = NULL;
sfree (errstr);
sfree (vl.values);
sfree (errstr);
sfree (vl.values);
@@
-1774,9
+1755,7
@@
static int csnmp_read_value (host_definition_t *host, data_definition_t *data)
data->scale, data->shift, host->name, data->name);
} /* for (res->variables) */
data->scale, data->shift, host->name, data->name);
} /* for (res->variables) */
- if (res != NULL)
- snmp_free_pdu (res);
- res = NULL;
+ snmp_free_pdu (res);
DEBUG ("snmp plugin: -> plugin_dispatch_values (&vl);");
plugin_dispatch_values (&vl);
DEBUG ("snmp plugin: -> plugin_dispatch_values (&vl);");
plugin_dispatch_values (&vl);