perl plugin, utils_complain: Fixed errors identified by -Wformat-security.
A few "format not a string literal and no format arguments" errors have been
fixed by using "%s" as the format argument.
Thanks to Kevin (onebinary) for reporting this.
A few "format not a string literal and no format arguments" errors have been
fixed by using "%s" as the format argument.
Thanks to Kevin (onebinary) for reporting this.
configfile.c: Ignore registered undefined config keys.
If a registered config key equals NULL, it is now ignored. Before, this would
cause a segfault. As this has happened a few times in the past, we not handle
it sanely.
If a registered config key equals NULL, it is now ignored. Before, this would
cause a segfault. As this has happened a few times in the past, we not handle
it sanely.
processes plugin: Fixed a segfault when handling unknown config options.
When using STATIC_ARRAY_SIZE() to determine the number of config keys, the
list must not include NULL. Else, the configfile module will handle that as
another config key and dereference it in case no previous key matched, i.e.
when handling unknown config options.
When using STATIC_ARRAY_SIZE() to determine the number of config keys, the
list must not include NULL. Else, the configfile module will handle that as
another config key and dereference it in case no previous key matched, i.e.
when handling unknown config options.
configure.in: Check for `kvm_openfiles'.
Check for both, `kvm_nlist' and `kvm_openfiles' before enabling the
tcpconns plugin with libkvm: Solaris has a libkvm, too, but doesn't
provide the necessary functions to read the connections with it. At
least not in the same way.
Check for both, `kvm_nlist' and `kvm_openfiles' before enabling the
tcpconns plugin with libkvm: Solaris has a libkvm, too, but doesn't
provide the necessary functions to read the connections with it. At
least not in the same way.
Merge branch 'collectd-4.4' into collectd-4.5
configure.in: Some improvements for Solaris, expecially the swap plugin.
If Solaris is detected, "-D_POSIX_PTHREAD_SEMANTICS" will be added to
CPPFLAGS automatically now.
If sys/swap.h is not found, print a message suggesting to build a 64bit
binary. (sys/swap.h cannot be included when a 32bit binary is being built,
but it's most likely present under Solaris.)
Enable the swap plugin only if sys/swap.h has been found (when under
Solaris).
If Solaris is detected, "-D_POSIX_PTHREAD_SEMANTICS" will be added to
CPPFLAGS automatically now.
If sys/swap.h is not found, print a message suggesting to build a 64bit
binary. (sys/swap.h cannot be included when a 32bit binary is being built,
but it's most likely present under Solaris.)
Enable the swap plugin only if sys/swap.h has been found (when under
Solaris).
src/plugin.[ch]: Don't use unnamed unions.
They're non-standard and cause a lot of trouble.
They're non-standard and cause a lot of trouble.
Merge branch 'collectd-4.4' into collectd-4.5
multimeter plugin: Check the return value of `write'.
This resolves warnings when compiling on GNU with:
CPPFLAGS="-D_FORTIFY_SOURCE"
This resolves warnings when compiling on GNU with:
CPPFLAGS="-D_FORTIFY_SOURCE"
contrib/collection.cgi: Add meta-graph definitions for the vmem plugin.
contrib/collection.cgi: Add graph definitions for the vmem plugin.
Merge branch 'collectd-4.4' into collectd-4.5
libiptc/Makefile.am: Added xtables.h, libxtc.h to libiptc_la_SOURCES.
Else, those files would not be included in the tarball.
Else, those files would not be included in the tarball.
src/Makefile: Build ipvs and uuid plugins using $AM_CFLAGS.
configure, mysql plugin: Check for mysql.h as well.
Up to now, only mysql/mysql.h has been checked for. However, mysql_config
--cflags usually adds the complete path to mysql.h to the include flags. In
most setups, mysql/mysql.h can be found in the search path as well (usually
the header is available in something like /usr/include/mysql/mysql.h) so this
issue has not been found so far. However, if that's not the case, the build
will fail.
Thanks to Dusty Doris <collectd@dusty.name> for reporting this.
Up to now, only mysql/mysql.h has been checked for. However, mysql_config
--cflags usually adds the complete path to mysql.h to the include flags. In
most setups, mysql/mysql.h can be found in the search path as well (usually
the header is available in something like /usr/include/mysql/mysql.h) so this
issue has not been found so far. However, if that's not the case, the build
will fail.
Thanks to Dusty Doris <collectd@dusty.name> for reporting this.
contrib/collection3: Add the `format' parameter to the graph.cgi.
With this parameter one can specify the file format the graph is returned in,
for example `format=SVG' for an SVG image.
With this parameter one can specify the file format the graph is returned in,
for example `format=SVG' for an SVG image.
src/utils_complain.c: Include "collectd.h" as first header file.
This is needed to get the _FILE_OFFSET_BITS define right.
This is needed to get the _FILE_OFFSET_BITS define right.
apcups plugin: Include "collectd.h" *before" <stdlib.h>.
If not defined, <stdlib.h> sets/defines _FILE_OFFSET_BITS. Since (in 32bit
mode) "collectd.h" defines that, too, you'll run into compilation problems.
If not defined, <stdlib.h> sets/defines _FILE_OFFSET_BITS. Since (in 32bit
mode) "collectd.h" defines that, too, you'll run into compilation problems.
filecount plugin: Fixed an off-by-one error in the configuration code.
The memory allocated to store the information about configured directories did
not take into account the newly added directory. This would cause a segfault
at some point of time (when specifying more than four directories in my case).
Thanks to Martin Janota <janota.m@cce.cz> for finding and reporting this bug.
The memory allocated to store the information about configured directories did
not take into account the newly added directory. This would cause a segfault
at some point of time (when specifying more than four directories in my case).
Thanks to Martin Janota <janota.m@cce.cz> for finding and reporting this bug.
perl plugin: Fix an uninitialized variable warning.
Resolves: #33
Resolves: #33
src/utils_dns.c: Cast a `char' to `int' when using `tolower'.
This is needed at least on NetBSD, but probably on other non-GNU libcs as well.
Resolves: #32
This is needed at least on NetBSD, but probably on other non-GNU libcs as well.
Resolves: #32
libiptc/libip6tc.c: Fix a glibc 2.8 compatibility problem.
Hi,
the attached patch fix the build with glibc 2.8. Please include it in
the next version.
Thanks,
Devid Antonio Filoni
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hi,
the attached patch fix the build with glibc 2.8. Please include it in
the next version.
Thanks,
Devid Antonio Filoni
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/configfile.c: Fix a closing-brace comment.
ChangeLog: Fix a typo.
ChangeLog: Fix a typo.
Bumped version to 4.5.1; Updated ChangeLog.
Merge branch 'collectd-4.4' into collectd-4.5
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
ChangeLog: Added the changed poisoning behavior.
16 years agosrc/collectd.h: Poison various insecure string functions only when debugging is enabled.
src/collectd.h: Poison various insecure string functions only when debugging is enabled.
Because the `poison' pragma complains about macros (which are then never
used), this feature does more harm than good in everyday use. So we'll
only activate it when building in debug mode, so hopefully authors of
new plugins will use this.
Because the `poison' pragma complains about macros (which are then never
used), this feature does more harm than good in everyday use. So we'll
only activate it when building in debug mode, so hopefully authors of
new plugins will use this.
Bumped version to 4.4.4; Updated ChangeLog.
postgresql plugin: Added another missing call to PQclear().
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
postgresql plugin: Do not open new connections during reinitialization.
When reinitializing the plugin a new connection to all databases has been
opened. Now, we check if the connection already exists. In that case no new
connection will be opened but the existing connection will be pinged instead.
Thanks to Admin <collectd-info@internode.com.au> for finding and reporting
this.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
When reinitializing the plugin a new connection to all databases has been
opened. Now, we check if the connection already exists. In that case no new
connection will be opened but the existing connection will be pinged instead.
Thanks to Admin <collectd-info@internode.com.au> for finding and reporting
this.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
postgresql plugin: Add a couple of PQclear() calls.
The postgresql plugin is missing a couple of PQclear() calls
Thanks to Admin <collectd-info@internode.com.au> for pointing this out.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The postgresql plugin is missing a couple of PQclear() calls
Thanks to Admin <collectd-info@internode.com.au> for pointing this out.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
contrib/exec-munin.px: Fix the folding markers..
src/Makefile.am: Use $mkinstalldirs instead of $(INSTALL) -D.
Some systems (e.g. Solaris 8) do not support the -D option.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Some systems (e.g. Solaris 8) do not support the -D option.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/utils_tail.c: Call `clearerr' before `fgets'.
Hopefully this will resolve problems under the dietlibc.
Hopefully this will resolve problems under the dietlibc.
src/Makefile.am: Fix a copy'n'paste typo.
collectd.conf: Added a sample <Plugin> section in the perl config.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
types.db: Reintroduced the "spam_check" type.
This is used by the "email" plugin. Apparently, it got lost when converting
the plugin to the v4 interface: Instead of "spam_check", "email_check" had
been added to types.db. I did not remove "email_check" though as this would
introduce a regression - though very unlikely, somebody out there might be
using that type.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This is used by the "email" plugin. Apparently, it got lost when converting
the plugin to the v4 interface: Instead of "spam_check", "email_check" had
been added to types.db. I did not remove "email_check" though as this would
introduce a regression - though very unlikely, somebody out there might be
using that type.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collection.cgi: Added support for the "connection" type.
This is used e.g. by the "ipvs" plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This is used e.g. by the "ipvs" plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.4' into collectd-4.5
src/utils_cache.c: Fix a serious memory leak.
Whenever a data set went missing, the its name (the `key'; up to (5*64)+4
bytes) was not free'd.
Thanks to Niraj Tolia for reporting this :)
Whenever a data set went missing, the its name (the `key'; up to (5*64)+4
bytes) was not free'd.
Thanks to Niraj Tolia for reporting this :)
src/configfile.c: Fix a minor memory leak.
Thanks to Niraj Tolia for reporting this :)
Thanks to Niraj Tolia for reporting this :)
network plugin: Fix a minor memory leak.
Thanks to Niraj Tolia for reporting this :)
Thanks to Niraj Tolia for reporting this :)
collectd-nagios(1): Make the documentation easier to read, more correct and fix errors.
configure.in: Correct the `--enable-<plugin>' code.
The new behavior is documented in the `README' file, too.
The new behavior is documented in the `README' file, too.
configure.in: Let configure bail out on missing dependencies
The patch below adds check in AC_PLUGIN() that verifies if the
dependencies are met for any enabled plugin.
In case some dependency is missing (default is disabled and enabled
is selected) configure will fail after dumping summary so all
dependency issues are visible in a single configure pass.
A later addition would be to list requirements (dependencies, OS/Kernel
restrictions) for all plugins in an easily accessible location (e.g.
INSTALL file)
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
The patch below adds check in AC_PLUGIN() that verifies if the
dependencies are met for any enabled plugin.
In case some dependency is missing (default is disabled and enabled
is selected) configure will fail after dumping summary so all
dependency issues are visible in a single configure pass.
A later addition would be to list requirements (dependencies, OS/Kernel
restrictions) for all plugins in an easily accessible location (e.g.
INSTALL file)
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/collectd-nagios.c: Improve handling of lines returned from `GETVAL'.
Then selecting only certain data sources with the `-d' option, the program
would try to read more lines from the server than the server reports, resulting
in the communication never finishing.
This patch resolves that problem and introduces a couple other error handling
blocks.
Thanks to Fabian Linzberger for pointing this out.
Then selecting only certain data sources with the `-d' option, the program
would try to read more lines from the server than the server reports, resulting
in the communication never finishing.
This patch resolves that problem and introduces a couple other error handling
blocks.
Thanks to Fabian Linzberger for pointing this out.
netlink plugin: Fix an incorrect format string.
Merge branch 'collectd-4.4' into collectd-4.5
Conflicts:
src/utils_ignorelist.c
Conflicts:
src/utils_ignorelist.c
src/utils_ignorelist.c: Fix an off-by-one errror when adding regular expressions.
Resolves: #20
Resolves: #20
collectdmon: Do not block SIGCHLD.
There is no reason to do so as we do not need to synchronize any waitpid()
calls. In fact, doing so was wrong because waitpid() should then return with
an error according to POSIX. This was still working so far since waitpid()
would not return until all children terminated and this is all we really care
about.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
There is no reason to do so as we do not need to synchronize any waitpid()
calls. In fact, doing so was wrong because waitpid() should then return with
an error according to POSIX. This was still working so far since waitpid()
would not return until all children terminated and this is all we really care
about.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
collectd.conf(5): Briefly document "OKAY"-notifications.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ipvs plugin: Use sizeof() instead of a constant.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
iptables plugin, utils_ignorelist: Fixed an off-by-one error each.
Those were introduced when unifying the string handling in commit 5f9ec13b in
cases where the exact length of the string to be copied is passed to sstrncpy
instead of the size of the destination buffer.
In case of the iptables plugin this prevented the table or chain name to match
correctly as the user configuration was truncated. In case of the ignorelist a
given regex was truncated.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Those were introduced when unifying the string handling in commit 5f9ec13b in
cases where the exact length of the string to be copied is passed to sstrncpy
instead of the size of the destination buffer.
In case of the iptables plugin this prevented the table or chain name to match
correctly as the user configuration was truncated. In case of the ignorelist a
given regex was truncated.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.4' into collectd-4.5
build.sh: Check for more (all?) programs needed.
collection.cgi: Added support for the memcached-specific types.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Disable plugin after fatal configuration errors.
Currently, the only such case is the failure to bootstrap the Perl interpreter
and Collectd module. This fixes a segfault that happened when trying to
configure Perl plugins in that case.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Currently, the only such case is the failure to bootstrap the Perl interpreter
and Collectd module. This fixes a segfault that happened when trying to
configure Perl plugins in that case.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/plugin.c: Increase the plugin_log() message buffer to 1024 bytes.
512 bytes is not enough for some perl error messages.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
512 bytes is not enough for some perl error messages.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
perl plugin: Log the perl error messages if bootstrapping Collectd failed.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
contrib/collection3: Added graphs for `apache_{bytes,requests}'.
contrib/collection3: Use `instance' rather than `plugin_instance'
for all the `disk_*' graphs.
for all the `disk_*' graphs.
snmp plugin: Improve parsing of strings to values.
The ``strings'' returned by the Net-SNMP library may not be null
terminated. What the fuck were those guys thinking? At least there's a
`val_len' member in `struct variable_list' we can use to determine the
amount of bytes we need to copy.
The ``strings'' returned by the Net-SNMP library may not be null
terminated. What the fuck were those guys thinking? At least there's a
`val_len' member in `struct variable_list' we can use to determine the
amount of bytes we need to copy.
collection3/etc/collection.conf: Added some mysql stuff.
AUTHORS: Fixed typo.
collectd.conf(5): Fixed typo.
collectd.conf(5): Changed the default socket paths of the powerdns plugin.
powerdns plugin: Use `LOCALSTATEDIR' instead of "/var".
I was working on updating Gentoo's ebuild and I noticed that localstatedir was
not used in certain places. Please review these patches and consider them.
Boian Berberov
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
I was working on updating Gentoo's ebuild and I noticed that localstatedir was
not used in certain places. Please review these patches and consider them.
Boian Berberov
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure: Allow `--with-libperl=/path/to/binary', too.
That way one can specify an alternative path, without setting the global
`CFLAGS' and `LDFLAGS' variables.
That way one can specify an alternative path, without setting the global
`CFLAGS' and `LDFLAGS' variables.
configure: Get the check for libperl in sync with the way it's used.
* Define PERL_NO_GET_CONTEXT.
* Use the API functions without the Perl_ prefix.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
* Define PERL_NO_GET_CONTEXT.
* Use the API functions without the Perl_ prefix.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'collectd-4.4'
Merge branch 'collectd-4.3' into collectd-4.4
processes plugin: Fix a format string.
apple_sensors plugin: Add a missing semicolon.
Bumped version to 4.5.0.
Merge branch 'collectd-4.4'
Conflicts:
ChangeLog
Conflicts:
ChangeLog
ChangeLog: Added an entry about the ability to configure Perl plugins.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
ChangeLog: Be slightly more specific about the features of the PostgreSQL plugin.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Bumped version to 4.4.3; Updated ChangeLog.
Merge branch 'collectd-4.3' into collectd-4.4
Conflicts:
ChangeLog
version-gen.sh
Conflicts:
ChangeLog
version-gen.sh
ChangeLog: Entry for 4.3.4: Bring plugins in alphabetical order.
Bumped version to 4.3.3; Updated ChangeLog.
filecount plugin: s/\<strncpy\>/sstrncpy/g
Collectd::Unixsock: Update `putnotif', fix a bug in `getval', better debug output.
The `putnotif' method now handles identifiers and options with spaces
correctly. The `getval' plugin now reads the returned data line wise,
which is the right thing to do anyway. The new `_debug' function prints
debugging output if the (module)global $Debug variable is set.
The `putnotif' method now handles identifiers and options with spaces
correctly. The `getval' plugin now reads the returned data line wise,
which is the right thing to do anyway. The new `_debug' function prints
debugging output if the (module)global $Debug variable is set.
unixsock plugin: Improve two debug messages.
collectd-{exec,unixsock}(5): Documented how to pass identifiers with spaces.
src/utils_cmd_putnotif.[ch]: Change parsing to allow quoted strings.
This completes all the commands, now quoted strings should be accepted
anywhere.
This completes all the commands, now quoted strings should be accepted
anywhere.
src/utils_parse_option.c: Null-terminate parsed quoted strings.
src/Makefile.am: Link the exec plugin with utils_parse_option.
src/utils_cmd_listval.[ch]: Use the new parsing mechanism here, too.
src/utils_cmd_putval.[ch]: Allow identifiers to include spaces.
snmp plugin: Fix an off by one error.
The last character of an table instance was truncated. Fortunately empty
strings were caught, so that uninitialized memory was never accessed.
This patch also reverts f782b378: If returning with an error when a string
is empty causes the entire read to fail.
The last character of an table instance was truncated. Fortunately empty
strings were caught, so that uninitialized memory was never accessed.
This patch also reverts f782b378: If returning with an error when a string
is empty causes the entire read to fail.
src/utils_cmd_getval.[ch]: Fix handling of identifiers with spaces.
The getval handler now uses the `parse_string' function in
`utils_parse_option' to handle quoted strings correctly.
The getval handler now uses the `parse_string' function in
`utils_parse_option' to handle quoted strings correctly.
src/utils_parse_option.[ch]: Add `parse_string'.
This function can be used by the command handlers to parse simple string
arguments. It's used by `parse_option', too, to avoid redundand code.
Signed-off-by: Florian Forster <octo@noris.net>
This function can be used by the command handlers to parse simple string
arguments. It's used by `parse_option', too, to avoid redundand code.
Signed-off-by: Florian Forster <octo@noris.net>
src/collectd.conf.in: Add the filecount plugin.
Merge branch 'collectd-4.4'
Merge branch 'collectd-4.3' into collectd-4.4
collectd.conf(5): onewire plugin: Added a note about working chips.
collectd.conf(5): onewire plugin: Mark the `Device' option as required.