ChangeLog: Updated the change log for 4.7.
Merge branch 'collectd-4.6'
Conflicts:
src/memcached.c
Conflicts:
src/memcached.c
Merge branch 'collectd-4.5' into collectd-4.6
irq plugin: Force 32bit wrap-around.
battery plugin: Fix a typo.
Merge branch 'ek/fscache'
AUTHORS: Added Edward “Koko” Konetzko.
fscache plugin: Simplyfied the parsing code.
configure: Fixed the check for broken Perl_load_module().
Do not initialize AC_CACHE_CHECK cache-id's - that'd be the same as having the
initial value in the cache. This was introduced in commit 61c19cc1.
Do not initialize AC_CACHE_CHECK cache-id's - that'd be the same as having the
initial value in the cache. This was introduced in commit 61c19cc1.
fscache plugin: Add new plugin for Linux' file-system based caching framework.
Tried to submit the patch via "git send-mail" but I don't think it worked if
you already have the patch disregard the attachment.
Looking forward to your feedback, I am sure there are a few issues its been a
few years since I programmed in C. I have been running this in my test lab at
work for a few days now with no issues.
With 62 metrics I would like to modify the code to group them by their
classification and possibly add configuration support. If the changes are
finished this weekend is it ok to send an updated patch?
Thanks
Edward
Signed-off-by: Edward "Koko" Konetzko <konetzed@quixoticagony.com>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Tried to submit the patch via "git send-mail" but I don't think it worked if
you already have the patch disregard the attachment.
Looking forward to your feedback, I am sure there are a few issues its been a
few years since I programmed in C. I have been running this in my test lab at
work for a few days now with no issues.
With 62 metrics I would like to modify the code to group them by their
classification and possibly add configuration support. If the changes are
finished this weekend is it ok to send an updated patch?
Thanks
Edward
Signed-off-by: Edward "Koko" Konetzko <konetzed@quixoticagony.com>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Merge branch 'ag/apache'
apache plugin: Be more verbose when automatically determine the server software.
apache plugin: Replace C++-style comments.
apache plugin: Use the HTTP header to determine the server software.
On Wed, Apr 22, 2009 at 1:53 PM, Florian Forster <octo@verplant.org> wrote:
> I think we have two options left:
>
> - Set a header callback using the CURLOPT_HEADERFUNCTION option and
> look for the <91>Server<92> header field. If it contains <93>lighttpd<94>, assume
> lighttpd, Apache otherwise.
>
> - Let the user configure which server software he's using.
>
> The two could be combined, of course: Use the user's setting if he has
> given one, (try to) determine the server software automatically if not.
>
> What do you think?
yeah this sounds good. While I thought about parsing the headers
initially but then the server headers can easily be changed, so I
wasn't sure about this approach earlier. Combing this with the user
specified server configuration value seems like the best solution.
Do find the patch attached. I am using st->server_type variable which
will be set to APACHE or LIGHTTPD based on the following logic:
- If the user has specified Server element in the conf file and it is
"apache" or "lighttpd", then set st->server_type variable
appropriately, otherwise ignore the Server value
- Parse the headers (only if the Server element is NULL or invalid) to
determine the type and set the st->server_type variable accordingly
- if st->server_type is not set as yet, then default it to apache
Regards
Amit
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
On Wed, Apr 22, 2009 at 1:53 PM, Florian Forster <octo@verplant.org> wrote:
> I think we have two options left:
>
> - Set a header callback using the CURLOPT_HEADERFUNCTION option and
> look for the <91>Server<92> header field. If it contains <93>lighttpd<94>, assume
> lighttpd, Apache otherwise.
>
> - Let the user configure which server software he's using.
>
> The two could be combined, of course: Use the user's setting if he has
> given one, (try to) determine the server software automatically if not.
>
> What do you think?
yeah this sounds good. While I thought about parsing the headers
initially but then the server headers can easily be changed, so I
wasn't sure about this approach earlier. Combing this with the user
specified server configuration value seems like the best solution.
Do find the patch attached. I am using st->server_type variable which
will be set to APACHE or LIGHTTPD based on the following logic:
- If the user has specified Server element in the conf file and it is
"apache" or "lighttpd", then set st->server_type variable
appropriately, otherwise ignore the Server value
- Parse the headers (only if the Server element is NULL or invalid) to
determine the type and set the st->server_type variable accordingly
- if st->server_type is not set as yet, then default it to apache
Regards
Amit
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Add _XOPEN_SOURCE=600 to all .c files with standards compliance defines.
This should hopefully give us strerror_r and strdup and similar neat
functions.
This should hopefully give us strerror_r and strdup and similar neat
functions.
Merge branch 'ff/auth'
collectd.conf(5): Add some information about the AuthFile format.
network plugin: Defines for non-gcrypt-code.
collectd.conf(5): Document the new authentication stuff.
network plugin: Some fixed to get encryption up and running again.
Wow, that was easy!
Wow, that was easy!
Merge branch 'master' into ff/auth
Conflicts:
src/network.c
Conflicts:
src/network.c
network plugin: Move towards a user/password based solution.
src/utils_fbhash.c: Implementation of a file-backed hash.
This is going to be used for password files on the server.
This is going to be used for password files on the server.
php-collection: add basic support for meta-selections
Add support for new meta selections allowing addition of graphs
with wildcard behavior.
This adds support for @all selection which matches any values
for the given identifier part.
In addition those types for which meta graphs exist now also list the
individual type instances in addition to the meta graph key for separate
graphing.
In order to support such new groups the lookup code has been refactored
to use a single scanning function which recursively traveses the
collectd RRD output directory for hosts, plugins, types and passing the
discovered data to callback functions for use. The callbacks returns
true to indicate traversal should continue on to next depth level and
false to tell it to continue with next element.
e.g. true on a host means it should look for plugins for given host,
false to continue with next host.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Add support for new meta selections allowing addition of graphs
with wildcard behavior.
This adds support for @all selection which matches any values
for the given identifier part.
In addition those types for which meta graphs exist now also list the
individual type instances in addition to the meta graph key for separate
graphing.
In order to support such new groups the lookup code has been refactored
to use a single scanning function which recursively traveses the
collectd RRD output directory for hosts, plugins, types and passing the
discovered data to callback functions for use. The callbacks returns
true to indicate traversal should continue on to next depth level and
false to tell it to continue with next element.
e.g. true on a host means it should look for plugins for given host,
false to continue with next host.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
php-collection: graph definition improvements for bind plugin
Add new dns_qtype_cached type for metagraph and switch memory metagraph
to line-based for bind plugin as the values from bind plugin are not
cumulative.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Add new dns_qtype_cached type for metagraph and switch memory metagraph
to line-based for bind plugin as the values from bind plugin are not
cumulative.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
php-collection: New graph toolbox
This patch creates a new toolbox which can be show on a per-graph base
by clicking on a graph.
This box allows changing the displayed period of the selected graph
as well as toggle the logarithmic scale and legend details flags.
The graph reordering, refresh and delete tools have been moved from
right graph edge to this new toolbox.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
This patch creates a new toolbox which can be show on a per-graph base
by clicking on a graph.
This box allows changing the displayed period of the selected graph
as well as toggle the logarithmic scale and legend details flags.
The graph reordering, refresh and delete tools have been moved from
right graph edge to this new toolbox.
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
mysql plugin: Replace all `magic numbers' (static string lengths).
I saw you correct my patch to suppress 'magic numbers', as I copy/paste another
part I suppose you want to supress all off them, I dit it in this patch. This
patch correct the typo I made on my name.
Regards
--
Rodolphe Quiedeville
www.bearstech.com
I saw you correct my patch to suppress 'magic numbers', as I copy/paste another
part I suppose you want to supress all off them, I dit it in this patch. This
patch correct the typo I made on my name.
Regards
--
Rodolphe Quiedeville
www.bearstech.com
configure.in, network plugin: Use all tests to decide about gcrypt support.
On Doug's OpenBSD machine I've seen:
configure: gcrypt CPPFLAGS: -I/usr/local/include -I/usr/local/include
checking gcrypt.h usability... yes
checking gcrypt.h presence... yes
checking for gcrypt.h... yes
configure: gcrypt LDFLAGS: -L/usr/local/lib
checking for gcry_md_hash_buffer in -lgcrypt... no
Because so far the network plugin only used the existence of the header
file to determine whether or not to enable `gcrypt' support, the build
fails. With this patch, the plugin will use a define that's only
available if *all* tests were successful.
On Doug's OpenBSD machine I've seen:
configure: gcrypt CPPFLAGS: -I/usr/local/include -I/usr/local/include
checking gcrypt.h usability... yes
checking gcrypt.h presence... yes
checking for gcrypt.h... yes
configure: gcrypt LDFLAGS: -L/usr/local/lib
checking for gcry_md_hash_buffer in -lgcrypt... no
Because so far the network plugin only used the existence of the header
file to determine whether or not to enable `gcrypt' support, the build
fails. With this patch, the plugin will use a define that's only
available if *all* tests were successful.
mysql plugin: Use `strlen ("Table_locks_")' rather than `12'.
mysql plugin: Add `lock' statistics.
Hi,
We evaluate collectd for internal use in our global monitoring system. For that
we need to monitor mysql locks, so as collectd doesn't do this I wrote a little
patch. This patch is based on 4.6.2 version and modify only src/mysql.c, hope
you'll find it usefull. If this patch is acceptable please feel free to
integrate it in your next release.
Regards,
--
Rodolphe Quiedeville
www.bearstech.com
Hi,
We evaluate collectd for internal use in our global monitoring system. For that
we need to monitor mysql locks, so as collectd doesn't do this I wrote a little
patch. This patch is based on 4.6.2 version and modify only src/mysql.c, hope
you'll find it usefull. If this patch is acceptable please feel free to
integrate it in your next release.
Regards,
--
Rodolphe Quiedeville
www.bearstech.com
src/libcollectdclient/: Specify _XOPEN_SOURCE=600.
irq plugin: Parse interrupt counters as unsigned long long.
Hello,
attached patch fixes accounting of most frequent interrupts (like NICs
on routers). E.g. in my case:
213: 76266 76357 76250 76397 2408617852 2411844062 2411642538 2411814531 PCI-MSI-edge eth1
214: 2621368360 2621463385 2621343444 2621386931 2349184 28 35 32 PCI-MSI-edge eth0
Here LONG_MAX (2147483647L) overflows in 10 days uptime and strtol()
returns the same value.
As all the values (including counter_t) are unsigned long long int, the
fix is trivial (for now there's no need to check for irq_value overflow;>).
--
Tomasz Pala <gotar@pld-linux.org>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Hello,
attached patch fixes accounting of most frequent interrupts (like NICs
on routers). E.g. in my case:
213: 76266 76357 76250 76397 2408617852 2411844062 2411642538 2411814531 PCI-MSI-edge eth1
214: 2621368360 2621463385 2621343444 2621386931 2349184 28 35 32 PCI-MSI-edge eth0
Here LONG_MAX (2147483647L) overflows in 10 days uptime and strtol()
returns the same value.
As all the values (including counter_t) are unsigned long long int, the
fix is trivial (for now there's no need to check for irq_value overflow;>).
--
Tomasz Pala <gotar@pld-linux.org>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
irq plugin: Parse interrupt counters as unsigned long long.
Hello,
attached patch fixes accounting of most frequent interrupts (like NICs
on routers). E.g. in my case:
213: 76266 76357 76250 76397 2408617852 2411844062 2411642538 2411814531 PCI-MSI-edge eth1
214: 2621368360 2621463385 2621343444 2621386931 2349184 28 35 32 PCI-MSI-edge eth0
Here LONG_MAX (2147483647L) overflows in 10 days uptime and strtol()
returns the same value.
As all the values (including counter_t) are unsigned long long int, the
fix is trivial (for now there's no need to check for irq_value overflow;>).
--
Tomasz Pala <gotar@pld-linux.org>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Hello,
attached patch fixes accounting of most frequent interrupts (like NICs
on routers). E.g. in my case:
213: 76266 76357 76250 76397 2408617852 2411844062 2411642538 2411814531 PCI-MSI-edge eth1
214: 2621368360 2621463385 2621343444 2621386931 2349184 28 35 32 PCI-MSI-edge eth0
Here LONG_MAX (2147483647L) overflows in 10 days uptime and strtol()
returns the same value.
As all the values (including counter_t) are unsigned long long int, the
fix is trivial (for now there's no need to check for irq_value overflow;>).
--
Tomasz Pala <gotar@pld-linux.org>
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Merge branch 'master' into ag/apache
Conflicts:
src/apache.c
Conflicts:
src/apache.c
apache plugin: Remove the `connect' variable: It wasn't really being used.
apache plugin: Replace C++-style comments.
apache plugin: Add support for lighttpd's scoreboard metrics.
Hi,
Do find the patch for lighttpd scoreboard attached. Let me know if
this patch looks okay.
Regards
Amit
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
Hi,
Do find the patch for lighttpd scoreboard attached. Let me know if
this patch looks okay.
Regards
Amit
Signed-off-by: Florian Forster <octo@leeloo.lan.home.verplant.org>
apache plugin: Check if an URL was given at configuration time.
apache plugin: Use boolean members for "verify_{peer,host}".
apache plugin: Use the "complex read" interface.
csv plugin: Update copyright information.
Various plugins: Update copyright information.
gmond plugin: Update copyright notice.
Merge branch 'fl/memcached'
memcached plugin: Improve coding style a bit.
memory plugin: Fix the order of the #ifdef's.
Linux has sysctl too. I'm using the same order as in the CPU plugin here,
i. e.:
* Linux
* kstat
* sysctl
Linux has sysctl too. I'm using the same order as in the CPU plugin here,
i. e.:
* Linux
* kstat
* sysctl
apache plugin: Fix the signature of the curl callback function.
memcached plugin: Fix indentation: Indent all lines using tabs.
memcached plugin: List Franck Lombardi as copyright holder.
memcached plugin: Remove trailing whitespace.
memcache plugin: Make connecting via UNIX socket possible.
Hello,
As the bugtracker is broken, I'm sending you this patch against v4.6.2
It was done by one of my collegues (Franck Lombardi)
As Franck doesn't want his email address to go in the wild, I proposed
to send it for him.
It adds a new configuration option "Socket" for this pluggin
i'll try to upload my patch there once Mantis is back to normal
Cheers
Stéphane Loeuillet
Seulement dans collectd-4.6.2-fl/bindings: .perl-directory-stamp
Seulement dans collectd-4.6.2/src/libcollectdclient: lcc_features.h
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Hello,
As the bugtracker is broken, I'm sending you this patch against v4.6.2
It was done by one of my collegues (Franck Lombardi)
As Franck doesn't want his email address to go in the wild, I proposed
to send it for him.
It adds a new configuration option "Socket" for this pluggin
i'll try to upload my patch there once Mantis is back to normal
Cheers
Stéphane Loeuillet
Seulement dans collectd-4.6.2-fl/bindings: .perl-directory-stamp
Seulement dans collectd-4.6.2/src/libcollectdclient: lcc_features.h
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Active the memory plugin if sysctl(3) is available.
memory plugin: Update copyright notice and AUTHORS.
memory plugin: Check `pagesize' when initializing, not when reading.
memory plugin: Added support for OpenBSD and possibly other *BSDs.
Signed-off-by: Simon Kuhnle <simon@blarzwurst.de>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Simon Kuhnle <simon@blarzwurst.de>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
conntrack plugin: Add plugin to collect the connection tracking table size.
Hello,
I've adapted entropy plugin to get nf_conntrack entries, which is
important on Linux routers. Attached patch.
BTW you may want to take a look at PLD Linux spec file at
http://cvs.pld-linux.org/cgi-bin/cvsweb/SPECS/collectd.spec or
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/collectd.spec
as it's much more complex than Fedora, RH or SLES ones which are shipped
in contrib.
--
Tomasz Pala <gotar@pld-linux.org>
Hello,
I've adapted entropy plugin to get nf_conntrack entries, which is
important on Linux routers. Attached patch.
BTW you may want to take a look at PLD Linux spec file at
http://cvs.pld-linux.org/cgi-bin/cvsweb/SPECS/collectd.spec or
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SPECS/collectd.spec
as it's much more complex than Fedora, RH or SLES ones which are shipped
in contrib.
--
Tomasz Pala <gotar@pld-linux.org>
Merge branch 'collectd-4.6'
Conflicts:
src/mysql.c
src/ping.c
Conflicts:
src/mysql.c
src/ping.c
Merge branch 'collectd-4.5' into collectd-4.6
Conflicts:
src/cpu.c
Conflicts:
src/cpu.c
src/libcollectdclient/: Check if EILSEQ is defined.
And fall back to EPROTO or EINVAL if it is not, e. g. under FreeBSD.
And fall back to EPROTO or EINVAL if it is not, e. g. under FreeBSD.
interface, memory, ping plugins: Update copyright information.
openvpn plugin: Correct copyright information.
cpu plugin: Updated copyright information.
network plugin: Compatibility fixes with old versions of libgcrypt.
mysql plugin: Fix a typo in my previous patch.
D'oh!
D'oh!
mysql plugin: Updated copyright information.
Set process vmem_size and stack_size on FreeBSD
Fixes:
processes.c: In function 'ps_read':
processes.c:328: warning: 'pse.vmem_size' is used uninitialized in this function
processes.c:1300: note: 'pse.vmem_size' was declared here
processes.c:330: warning: 'pse.stack_size' is used uninitialized in this function
processes.c:1300: note: 'pse.stack_size' was declared here
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Fixes:
processes.c: In function 'ps_read':
processes.c:328: warning: 'pse.vmem_size' is used uninitialized in this function
processes.c:1300: note: 'pse.vmem_size' was declared here
processes.c:330: warning: 'pse.stack_size' is used uninitialized in this function
processes.c:1300: note: 'pse.stack_size' was declared here
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'ag/apache'
apache plugin: Prepare for parallel reading of instances.
Do find the patch attached. I have moved apache_buffer and friends to the
apache_t structure and set the plugin_instance if there. There are other
changes as well like freeing up the lci->values etc. Have a look at the patch
and let me know if this looks okay to you.
Regards
Amit
Do find the patch attached. I have moved apache_buffer and friends to the
apache_t structure and set the plugin_instance if there. There are other
changes as well like freeing up the lci->values etc. Have a look at the patch
and let me know if this looks okay to you.
Regards
Amit
network plugin: Updated signature handling.
This is a preparation for being able to handle mixed signed/unsigned
data in one packet. The signature verifying code uses a recursive
structure now, just like the decryption code.
This is a preparation for being able to handle mixed signed/unsigned
data in one packet. The signature verifying code uses a recursive
structure now, just like the decryption code.
network plugin: Fix compile ifndef HAVE_GCRYPT_H
Signed-off-by: Doug MacEachern <Doug.MacEachern@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <Doug.MacEachern@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
uptime plugin: Removed some blank lines and reformatted some comments.
uptime plugin: Calculate the boot time under Linux.
Hi Florian,
[...]
About the uptime plugin:
New code attached, it should be fine now (different linux behaviour and some
minor changes). As soon as I can I'll send to you a plotting code sample (with
lots of stuff and RPN expressions) to be added in the contributions dir, if you
like, and edit the wiki page.
Regards,
Marco
Hi Florian,
[...]
About the uptime plugin:
New code attached, it should be fine now (different linux behaviour and some
minor changes). As soon as I can I'll send to you a plotting code sample (with
lots of stuff and RPN expressions) to be added in the contributions dir, if you
like, and edit the wiki page.
Regards,
Marco
apache plugin: Replace C++-style comments.
apache plugin: Remove unused variables.
apache plugin: Fix whitespace: Indent using tab, remove trailing.
apache plugin: Added Amit to list of copyright holders.
apache plugin: Add support for multiple servers.
Hi,
Based on Bruno/Florian input, I have changed the apache code to support
the following configuration structure:
<Plugin apache>
<Instance "instance_name">
URL ....
Host ... # optional and defaults to hostname_g
</Instance>
URL ...
</Plugin>
I have defined Instance as a block and not Host because the idea here is to
monitor multiple apache instances on the same machine. For apache instances on
remote machines, one could specify Host within the Instance block (which is
optional and default is hostname_g). For legacy configuration, I am converting
the legacy block to <Instance ""> which defaults to apache.
Do find the patch attached. I am not very familiar with git format-patch
and send-email functionalities as yet, so I am attaching a diff -ur
output as mentioned in the submitting-patches.shtml page.
The things which haven't been done as yet:
- I haven't used plugin_register_complex_read as yet. The main reason
being I am working on 4.6.1 version and I can't seem to find the
function plugin_register_complex_read in the code base. I believe it
is being added only in 4.6.2
- lighttpd scoreboard is not yet handled. This would probably be my next
task.
Question:
Given that this plugin can be used by both apache and lighttpd, how do
we find out if the server is lighttpd or apache?. It will be good to
have different rrd file names for apache and lighttpd which could only
be done if we set different vl.type for both the servers. One way I can
think of is to rely on the differences of the mod_status output of the
two servers or perhaps we could have a generic type as "httpd". (which
can be done only in the next major release if you folks are planning to
change the plugin name to httpd in the next major release)
Regards
Amit
Hi,
Based on Bruno/Florian input, I have changed the apache code to support
the following configuration structure:
<Plugin apache>
<Instance "instance_name">
URL ....
Host ... # optional and defaults to hostname_g
</Instance>
URL ...
</Plugin>
I have defined Instance as a block and not Host because the idea here is to
monitor multiple apache instances on the same machine. For apache instances on
remote machines, one could specify Host within the Instance block (which is
optional and default is hostname_g). For legacy configuration, I am converting
the legacy block to <Instance ""> which defaults to apache.
Do find the patch attached. I am not very familiar with git format-patch
and send-email functionalities as yet, so I am attaching a diff -ur
output as mentioned in the submitting-patches.shtml page.
The things which haven't been done as yet:
- I haven't used plugin_register_complex_read as yet. The main reason
being I am working on 4.6.1 version and I can't seem to find the
function plugin_register_complex_read in the code base. I believe it
is being added only in 4.6.2
- lighttpd scoreboard is not yet handled. This would probably be my next
task.
Question:
Given that this plugin can be used by both apache and lighttpd, how do
we find out if the server is lighttpd or apache?. It will be good to
have different rrd file names for apache and lighttpd which could only
be done if we set different vl.type for both the servers. One way I can
think of is to rely on the differences of the mod_status output of the
two servers or perhaps we could have a generic type as "httpd". (which
can be done only in the next major release if you folks are planning to
change the plugin name to httpd in the next major release)
Regards
Amit
battery plugin: Don't complain about missing /proc/acpi/battery each interval.
Instead, complain once when the read callback is called for the first time.
Instead, complain once when the read callback is called for the first time.
network plugin: Enable mixing encrypted and unencrypted data.
Unencrypted stuff may now follow encrypted blocks. They are only
handled, if ‘SecurityLevel’ ist set to ‘None’, of course.
Also, use ‘size_t’ for the buffer size.
Unencrypted stuff may now follow encrypted blocks. They are only
handled, if ‘SecurityLevel’ ist set to ‘None’, of course.
Also, use ‘size_t’ for the buffer size.
network plugin: Use an initialization vector when encrypting packets.
network plugin: Talk about “HMAC-SHA-256” in the documentation and error messages.
network plugin: Use libgcrypt's HMAC implementation rather than rolling our own.
The previously implemented method is simple enough, but apparently pront
to attacks.
The previously implemented method is simple enough, but apparently pront
to attacks.
network plugin: Use SHA-1 instead of SHA-224 to check integrity.
SHA-224 is not supported by older versions of libgcrypt (i. e. the
version included in Debian Etch), so lets take this more conservative
alternative instead.
Also, the padding bytes have been moved to the beginning of the packet
and will be filled with randomness, so they serve as some kind of IV.
It is, however, not guaranteed that any padding bytes exist at all, so
in theory two identical packets could be encrypted in the same way.
SHA-224 is not supported by older versions of libgcrypt (i. e. the
version included in Debian Etch), so lets take this more conservative
alternative instead.
Also, the padding bytes have been moved to the beginning of the packet
and will be filled with randomness, so they serve as some kind of IV.
It is, however, not guaranteed that any padding bytes exist at all, so
in theory two identical packets could be encrypted in the same way.
Merge branch 'collectd-4.6'
Merge branch 'collectd-4.5' into collectd-4.6
Restore BYTE_ORDER on DARWIN The files matching grep "define _POSIX_C_SOURCE" src/*.c on MacOSX do not compile: In file included from target_notification.c:60: collectd.h:172:3: error: #error "Cannot determine byte order"
See /usr/include/i386/endian.h:
#if defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
#define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN
#define BIG_ENDIAN __DARWIN_BIG_ENDIAN
#define BYTE_ORDER __DARWIN_BYTE_ORDER
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
See /usr/include/i386/endian.h:
#if defined(KERNEL) || (!defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE))
#define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN
#define BIG_ENDIAN __DARWIN_BIG_ENDIAN
#define BYTE_ORDER __DARWIN_BYTE_ORDER
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Disable disable multi -arch flags to perl.c on OSX Compilation of perl.c fails with:
gcc ... -Wall -Werror -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN ... -MT perl_la-perl.lo -MD -MP -MF ...
...
gcc-4.0: -E, -S, -save-temps and -M options are not allowed with multiple -arch flags
See Config_heavy.pl:
$archflags = exists($ENV{ARCHFLAGS}) ? $ENV{ARCHFLAGS} : '-arch i386 -arch ppc';
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
gcc ... -Wall -Werror -arch i386 -arch ppc -g -pipe -fno-common -DPERL_DARWIN ... -MT perl_la-perl.lo -MD -MP -MF ...
...
gcc-4.0: -E, -S, -save-temps and -M options are not allowed with multiple -arch flags
See Config_heavy.pl:
$archflags = exists($ENV{ARCHFLAGS}) ? $ENV{ARCHFLAGS} : '-arch i386 -arch ppc';
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
network plugin: Use CBC rather than ECB.
network plugin: Implement signing and encryption of network traffic.
The patch adds shared secret signing and encryption of network traffic.
Currently, there are three “security levels”:
- Encrypt
Encrypt outgoing data and only accept encrypted data when receiving.
- Sign
Outgoing data is signed; signed and encrypted data is accepted when
receiving.
- None
Send without any cryptography and accept anything when receiving.
The security level and shared secret can be set per-socket, so that
forwarding instances can re-encrypt and similar goodies.
The libgcrypt library is used to calculate hashes, encrypt and decrypt,
see <http://www.gnu.org/software/libgcrypt/>. I tested compiling the
`network' plugin without libgcrypt afterwards, but haven't tested this
much yet.
Algorithms used are SHA-256 for signing and AES-256 in ECB mode /
SHA-224 when encrypting. Also, SHA-256 is used to get the 32 byte key
for AES-256 from the user-supplied secret.
The patch adds shared secret signing and encryption of network traffic.
Currently, there are three “security levels”:
- Encrypt
Encrypt outgoing data and only accept encrypted data when receiving.
- Sign
Outgoing data is signed; signed and encrypted data is accepted when
receiving.
- None
Send without any cryptography and accept anything when receiving.
The security level and shared secret can be set per-socket, so that
forwarding instances can re-encrypt and similar goodies.
The libgcrypt library is used to calculate hashes, encrypt and decrypt,
see <http://www.gnu.org/software/libgcrypt/>. I tested compiling the
`network' plugin without libgcrypt afterwards, but haven't tested this
much yet.
Algorithms used are SHA-256 for signing and AES-256 in ECB mode /
SHA-224 when encrypting. Also, SHA-256 is used to get the 32 byte key
for AES-256 from the user-supplied secret.
src/plugin.c: Emit warning in load_plugin if !S_ISREG
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Merge branch 'dm/misc'
clean.sh: Clean up `src/libcollectdclient/'.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
configure.in: Check for libpq for function `PQserverVersion'.
It does not exist in 7.x.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
It does not exist in 7.x.
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/plugin.c: Emit warning in load_plugin if !S_ISREG
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
contrib/collection3/: Add plugin_instance to MySQL RRDTitle
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
Signed-off-by: Doug MacEachern <dougm@hyperic.com>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
bindings/java/: Fix a reference in a JavaDoc comment.
src/liboping: Remove the shipped version of the ‘oping’ library.
There's no real reason for this special handling, since liboping is
developed separately now.
There's no real reason for this special handling, since liboping is
developed separately now.
Merge branch 'ff/memcachec'
dbi plugin: Be more specific about unknown field types.
Especially print the name of the field.
Especially print the name of the field.
java plugin: Use `void *' to pass arguments of varying type.
The types passed at VM creation time differ from Java implementation to the
next and/or only certain compiler complain. This way we should be on the safe
side.
The types passed at VM creation time differ from Java implementation to the
next and/or only certain compiler complain. This way we should be on the safe
side.