projects
/
collectd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'collectd-4.5' into collectd-4.6
[collectd.git]
/
src
/
iptables.c
diff --git
a/src/iptables.c
b/src/iptables.c
index
0e7fa70
..
9abee36
100644
(file)
--- a/
src/iptables.c
+++ b/
src/iptables.c
@@
-25,7
+25,9
@@
#include "plugin.h"
#include "configfile.h"
#include "plugin.h"
#include "configfile.h"
-#if HAVE_LIBIPTC_LIBIPTC_H
+#if OWN_LIBIPTC
+# include "libiptc/libiptc.h"
+#else
# include <libiptc/libiptc.h>
#endif
# include <libiptc/libiptc.h>
#endif
@@
-105,25
+107,23
@@
static int iptables_config (const char *key, const char *value)
table = fields[0];
chain = fields[1];
table = fields[0];
chain = fields[1];
- table_len = strlen (table);
- if (
table_len >=
sizeof(temp.table))
+ table_len = strlen (table)
+ 1
;
+ if (
(unsigned int)table_len >
sizeof(temp.table))
{
ERROR ("Table `%s' too long.", table);
free (value_copy);
return (1);
}
{
ERROR ("Table `%s' too long.", table);
free (value_copy);
return (1);
}
- strncpy (temp.table, table, table_len);
- temp.table[table_len] = '\0';
+ sstrncpy (temp.table, table, table_len);
- chain_len = strlen (chain);
- if (
chain_len >=
sizeof(temp.chain))
+ chain_len = strlen (chain)
+ 1
;
+ if (
(unsigned int)chain_len >
sizeof(temp.chain))
{
ERROR ("Chain `%s' too long.", chain);
free (value_copy);
return (1);
}
{
ERROR ("Chain `%s' too long.", chain);
free (value_copy);
return (1);
}
- strncpy (temp.chain, chain, chain_len);
- temp.chain[chain_len] = '\0';
+ sstrncpy (temp.chain, chain, chain_len);
if (fields_num >= 3)
{
if (fields_num >= 3)
{
@@
-152,7
+152,7
@@
static int iptables_config (const char *key, const char *value)
}
if (fields_num >= 4)
}
if (fields_num >= 4)
- s
trncpy (temp.name, fields[3], sizeof (temp.name) - 1
);
+ s
strncpy (temp.name, fields[3], sizeof (temp.name)
);
free (value_copy);
value_copy = NULL;
free (value_copy);
value_copy = NULL;
@@
-218,35
+218,35
@@
static int submit_match (const struct ipt_entry_match *match,
vl.values = values;
vl.values_len = 1;
vl.values = values;
vl.values_len = 1;
- vl.time = time (NULL);
- strcpy (vl.host, hostname_g);
- strcpy (vl.plugin, "iptables");
+ sstrncpy (vl.host, hostname_g, sizeof (vl.host));
+ sstrncpy (vl.plugin, "iptables", sizeof (vl.plugin));
- status = snprintf (vl.plugin_instance, sizeof (vl.plugin_instance),
+ status = s
s
nprintf (vl.plugin_instance, sizeof (vl.plugin_instance),
"%s-%s", chain->table, chain->chain);
"%s-%s", chain->table, chain->chain);
- if ((status
>= sizeof (vl.plugin_instance)) || (status < 1
))
+ if ((status
< 1) || ((unsigned int)status >= sizeof (vl.plugin_instance)
))
return (0);
if (chain->name[0] != '\0')
{
return (0);
if (chain->name[0] != '\0')
{
- strncpy (vl.type_instance, chain->name, sizeof (vl.type_instance));
+ s
s
trncpy (vl.type_instance, chain->name, sizeof (vl.type_instance));
}
else
{
if (chain->rule_type == RTYPE_NUM)
}
else
{
if (chain->rule_type == RTYPE_NUM)
- snprintf (vl.type_instance, sizeof (vl.type_instance),
+ s
s
nprintf (vl.type_instance, sizeof (vl.type_instance),
"%i", chain->rule.num);
else
"%i", chain->rule.num);
else
- strncpy (vl.type_instance, (char *) match->data,
+ s
s
trncpy (vl.type_instance, (char *) match->data,
sizeof (vl.type_instance));
}
sizeof (vl.type_instance));
}
- vl.type_instance[sizeof (vl.type_instance) - 1] = '\0';
+ sstrncpy (vl.type, "ipt_bytes", sizeof (vl.type));
values[0].counter = (counter_t) entry->counters.bcnt;
values[0].counter = (counter_t) entry->counters.bcnt;
- plugin_dispatch_values (
"ipt_bytes",
&vl);
+ plugin_dispatch_values (&vl);
+ sstrncpy (vl.type, "ipt_packets", sizeof (vl.type));
values[0].counter = (counter_t) entry->counters.pcnt;
values[0].counter = (counter_t) entry->counters.pcnt;
- plugin_dispatch_values (
"ipt_packets",
&vl);
+ plugin_dispatch_values (&vl);
return (0);
} /* void submit_match */
return (0);
} /* void submit_match */