Merge branch 'collectd-5.5'
authorFlorian Forster <octo@collectd.org>
Tue, 26 Jul 2016 05:56:09 +0000 (07:56 +0200)
committerFlorian Forster <octo@collectd.org>
Tue, 26 Jul 2016 05:56:09 +0000 (07:56 +0200)
ChangeLog
src/libcollectdclient/network_buffer.c
src/network.c
version-gen.sh

index 48dc6ca..0a823b0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,54 @@
+2016-07-25, Version 5.5.2
+       * collectd: A division by zero has been fixed in the
+         "plugin_dispatch_multivalue()" function. Thanks to Corey Kosak.
+       * collectd: The address of the Free Software Foundation has been fixed
+         in GPL license headers. Thanks to Ruben Kerkhof.
+       * Build system: Detection and handling of librrd 1.6 and later has been
+         fixed. Thanks to Ruben Kerkof.
+       * Apache plugin: A warning about a possible misconfiguration has been
+         added. Thanks to Marc Fournier.
+       * cURL, cURL-JSON and cURL-XML plugins: A memory leak when allocating
+         more memory fails has been fixed. Thanks to Brandon Arp.
+       * DF plugin: A build issue on DragonFlyBSD has been fixed. Thanks to
+         Ruben Kerkhof. #1575
+       * Ethstat plugin: Code to strip leading whitespace from device names.
+         This works around an issue in the VMXNet3 driver. Thanks to Thomas
+         Guthmann. #1059
+       * Exec plugin: A problem in the error handling of an fdopen() failure
+         has been fixed. Thanks to @ciomaire.
+       * Modbus plugin: The debug output has been disabled by default. It is
+         now only enabled when building with "--enable-debug". Thanks to Eric
+         Sandeen and Marc Fournier.
+       * Network plugin: A check for the initialization of secure memory has
+         been added. Previously, failure to initialize this memory was
+         ignored. Thanks to @yujokang. #1665
+       * Network plugin: A heap overflow has been fixed in the server code.
+         This issue can be triggered remotely and is potentially exploitable.
+         Thanks to Emilien Gaspar. CVE-2016-6254
+       * Perl plugin: Init callbacks have been changed to run essentially
+         single-threaded to avoid race conditions by init functions which
+         create additional threads. Thanks to Pavel Rochnyack. #1706
+       * Processes plugin: A compilation error on systems without "regex.h" has
+         been fixed. Thanks to Corey Kosak.
+       * Processes plugin: A memory leak on Solaris has been fixed. Thanks to
+         Jim Quinn.
+       * Processes plugin: A warning about too long process names has been
+         added. Thanks to Marc Fournier. #1284
+       * Redis plugin: A memory leak in an error handling code path has been
+         fixed. Thanks to Andrés J. Díaz.
+       * Redis plugin: The data source type of the expired_keys metric has been
+         corrected to "DERIVE". Thanks to Marc Falzon and Marc Fournier. #1483.
+       * SMART plugin: A build dependency on libudev has been added. Thanks to
+         Pavel Rochnyack. #1724
+       * StatsD plugin: A deadlock on plugin shutdown has been fixed. Thanks to
+         Pavel Rochnyack #1703
+       * Write HTTP plugin: Freeing of memory holding HTTP headers during
+         shutdown has been fixed. Thanks to Tolga Ceylan.
+       * Write Sensu plugin: A segfault when the Tag was unset has been fixed.
+         Thanks to Marc Fournier.
+       * ZFS ARC plugin: The cache_operation-stolen metric has been removed for
+         FreeBSD 10.2 and later. Thanks to Ruben Kerkhof. #1580
+
 2016-01-22, Version 5.5.1
        * Build system: Compilation errors have been avoided by correctly
          defining package name and version used by autoconf. Thanks to Nathan
index 2b97d18..49f5576 100644 (file)
@@ -133,13 +133,16 @@ static _Bool have_gcrypt (void) /* {{{ */
 
 #if HAVE_LIBGCRYPT
 # if GCRYPT_VERSION_NUMBER < 0x010600
-  gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
+  if (gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread))
+    return (0);
 # endif
 
   if (!gcry_check_version (GCRYPT_VERSION))
     return (0);
 
-  gcry_control (GCRYCTL_INIT_SECMEM, 32768, 0);
+  if (!gcry_control (GCRYCTL_INIT_SECMEM, 32768, 0))
+    return (0);
+
   gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
 
   result = 1;
index 646f5b8..2296927 100644 (file)
@@ -493,6 +493,8 @@ static int network_dispatch_notification (notification_t *n) /* {{{ */
 #if HAVE_LIBGCRYPT
 static void network_init_gcrypt (void) /* {{{ */
 {
+  gcry_error_t err;
+
   /* http://lists.gnupg.org/pipermail/gcrypt-devel/2003-August/000458.html
    * Because you can't know in a library whether another library has
    * already initialized the library */
@@ -507,10 +509,23 @@ static void network_init_gcrypt (void) /* {{{ */
   *
   * tl;dr: keep all these gry_* statements in this exact order please. */
 # if GCRYPT_VERSION_NUMBER < 0x010600
-  gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
+  err = gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
+  if (err)
+  {
+    ERROR ("network plugin: gcry_control (GCRYCTL_SET_THREAD_CBS) failed: %s", gcry_strerror (err));
+    abort ();
+  }
 # endif
+
   gcry_check_version (NULL);
-  gcry_control (GCRYCTL_INIT_SECMEM, 32768);
+
+  err = gcry_control (GCRYCTL_INIT_SECMEM, 32768);
+  if (err)
+  {
+    ERROR ("network plugin: gcry_control (GCRYCTL_SET_THREAD_CBS) failed: %s", gcry_strerror (err));
+    abort ();
+  }
+
   gcry_control (GCRYCTL_INITIALIZATION_FINISHED);
 } /* }}} void network_init_gcrypt */
 
index d7c6a76..70b8c26 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-DEFAULT_VERSION="5.5.1.git"
+DEFAULT_VERSION="5.5.2.git"
 
 if [ -d .git ]; then
        VERSION="`git describe --dirty=+ --abbrev=7 2> /dev/null | grep collectd | sed -e 's/^collectd-//' -e 's/-/./g'`"