[c_cv_have_strtok_r_default],
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
- [[[
+[[[
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
- ]]],
- [[[
+]]],
+[[[
char buffer[] = "foo,bar,baz";
char *token;
char *dummy;
dummy = NULL;
printf ("token = %s;\n", token);
}
- ]]])],
+]]]
+ )],
[c_cv_have_strtok_r_default="yes"],
[c_cv_have_strtok_r_default="no"]
)
[c_cv_have_strtok_r_reentrant],
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
- [[[
+[[[
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
- ]]],
- [[[
+]]],
+[[[
char buffer[] = "foo,bar,baz";
char *token;
char *dummy;
dummy = NULL;
printf ("token = %s;\n", token);
}
- ]]])],
+]]]
+ )],
[c_cv_have_strtok_r_reentrant="yes"],
[AC_MSG_FAILURE([strtok_r isn't available. Please file a bugreport!])]
)
then
AC_CACHE_CHECK([whether strptime is exported by default],
[c_cv_have_strptime_default],
- AC_COMPILE_IFELSE(
-[AC_LANG_PROGRAM(
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[[
#include <time.h>
]]],
[[[
struct tm stm;
(void) strptime ("2010-12-30%13:42:42", "%Y-%m-%dT%T", &stm);
-]]])],
+]]]
+ )],
[c_cv_have_strptime_default="yes"],
[c_cv_have_strptime_default="no"]))
fi
then
AC_CACHE_CHECK([whether strptime needs standards mode],
[c_cv_have_strptime_standards],
- AC_COMPILE_IFELSE(
-[AC_LANG_PROGRAM(
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[[
#ifndef _ISOC99_SOURCE
# define _ISOC99_SOURCE 1
#ifndef _XOPEN_SOURCE
# define _XOPEN_SOURCE 500
#endif
-
#include <time.h>
]]],
[[[
struct tm stm;
(void) strptime ("2010-12-30%13:42:42", "%Y-%m-%dT%T", &stm);
-]]])],
+]]]
+ )],
[c_cv_have_strptime_standards="yes"],
[c_cv_have_strptime_standards="no"]))
then
CFLAGS="$SAVE_CFLAGS"
fi
-
# }}} Check for strptime
AC_CHECK_FUNCS(swapctl, [have_swapctl="yes"], [have_swapctl="no"])
AC_CACHE_CHECK([whether swapctl takes two arguments],
[c_cv_have_swapctl_two_args],
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-[[
+[[[
#if HAVE_SYS_SWAP_H && !defined(_LP64) && _FILE_OFFSET_BITS == 64
# undef _FILE_OFFSET_BITS
# undef _LARGEFILE64_SOURCE
#endif
#include <sys/stat.h>
#include <sys/swap.h>
-]],
-[[
+]]],
+[[[
int num = swapctl(0, NULL);
-]]
+]]]
)],
[c_cv_have_swapctl_two_args="yes"],
[c_cv_have_swapctl_two_args="no"]
[c_cv_have_swapctl_three_args],
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
-[[
+[[[
#if HAVE_SYS_SWAP_H && !defined(_LP64) && _FILE_OFFSET_BITS == 64
# undef _FILE_OFFSET_BITS
# undef _LARGEFILE64_SOURCE
#endif
#include <sys/stat.h>
#include <sys/swap.h>
-]],
-[[
+]]],
+[[[
int num = swapctl(0, NULL, 0);
-]]
+]]]
)],
[c_cv_have_swapctl_three_args="yes"],
[c_cv_have_swapctl_three_args="no"]
if test "x$nan_type" = "xnone"; then
AC_CACHE_CHECK([whether NAN is defined by default],
[c_cv_have_nan_default],
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[[
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+[[[
#include <stdlib.h>
#include <math.h>
static double foo = NAN;
- ]]],
- [[[
+]]],
+[[[
if (isnan (foo))
return 0;
else
return 1;
- ]]])],
+]]]
+ )],
[c_cv_have_nan_default="yes"],
[c_cv_have_nan_default="no"]
)
if test "x$nan_type" = "xnone"; then
AC_CACHE_CHECK([whether NAN is defined by __USE_ISOC99],
[c_cv_have_nan_isoc],
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[[
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+[[[
#include <stdlib.h>
#define __USE_ISOC99 1
#include <math.h>
static double foo = NAN;
- ]]],
- [[[
+]]],
+[[[
if (isnan (foo))
return 0;
else
return 1;
- ]]])],
+]]]
+ )],
[c_cv_have_nan_isoc="yes"],
[c_cv_have_nan_isoc="no"]
)
LDFLAGS="$LDFLAGS -lm"
AC_CACHE_CHECK([whether NAN can be defined by 0/0],
[c_cv_have_nan_zero],
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[[
+ AC_RUN_IFELSE([AC_LANG_PROGRAM(
+[[[
#include <stdlib.h>
#include <math.h>
#ifdef NAN
# define isnan(f) ((f) != (f))
#endif
static double foo = NAN;
- ]]],
- [[[
+]]],
+[[[
if (isnan (foo))
return 0;
else
return 1;
- ]]])],
+]]]
+ )],
[c_cv_have_nan_zero="yes"],
[c_cv_have_nan_zero="no"]
)
if test "x$fp_layout_type" = "xunknown"; then
AC_CACHE_CHECK([if doubles are stored in x86 representation],
[c_cv_fp_layout_need_nothing],
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[[
+ AC_RUN_IFELSE([AC_LANG_PROGRAM(
+[[[
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#if HAVE_STDBOOL_H
# include <stdbool.h>
#endif
- ]]],
- [[[
+]]],
+[[[
uint64_t i0;
uint64_t i1;
uint8_t c[8];
return (0);
else
return (1);
- ]]])],
+]]]
+ )],
[c_cv_fp_layout_need_nothing="yes"],
[c_cv_fp_layout_need_nothing="no"]
)
if test "x$fp_layout_type" = "xunknown"; then
AC_CACHE_CHECK([if endianflip converts to x86 representation],
[c_cv_fp_layout_need_endianflip],
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[[
+ AC_RUN_IFELSE([AC_LANG_PROGRAM(
+[[[
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
(((uint64_t)(A) & 0x0000000000ff0000LL) << 24) | \
(((uint64_t)(A) & 0x000000000000ff00LL) << 40) | \
(((uint64_t)(A) & 0x00000000000000ffLL) << 56))
- ]]],
- [[[
+]]],
+[[[
uint64_t i0;
uint64_t i1;
uint8_t c[8];
return (0);
else
return (1);
- ]]])],
+]]]
+ )],
[c_cv_fp_layout_need_endianflip="yes"],
[c_cv_fp_layout_need_endianflip="no"]
)
if test "x$fp_layout_type" = "xunknown"; then
AC_CACHE_CHECK([if intswap converts to x86 representation],
[c_cv_fp_layout_need_intswap],
- AC_RUN_IFELSE(
- [AC_LANG_PROGRAM(
- [[[
+ AC_RUN_IFELSE([AC_LANG_PROGRAM(
+[[[
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#endif
#define intswap(A) ((((uint64_t)(A) & 0xffffffff00000000LL) >> 32) | \
(((uint64_t)(A) & 0x00000000ffffffffLL) << 32))
- ]]],
- [[[
+]]],
+[[[
uint64_t i0;
uint64_t i1;
uint8_t c[8];
return (0);
else
return (1);
- ]]])],
+]]]
+ )],
[c_cv_fp_layout_need_intswap="yes"],
[c_cv_fp_layout_need_intswap="no"]
)
[c_cv_have_one_getmntent],
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
-[[
+[[[
#include "$srcdir/src/utils_mount.h"
-]],
-[[
+]]],
+[[[
FILE *fh;
struct mntent *me;
fh = setmntent ("/etc/mtab", "r");
me = getmntent (fh);
-]]
+]]]
)],
[c_cv_have_one_getmntent="yes"],
[c_cv_have_one_getmntent="no"]
[c_cv_have_two_getmntent],
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
-[[
+[[[
#include "$srcdir/src/utils_mount.h"
-]],
-[[
+]]],
+[[[
FILE *fh;
struct mnttab mt;
int status;
fh = fopen ("/etc/mnttab", "r");
status = getmntent (fh, &mt);
-]]
+]]]
)],
[c_cv_have_two_getmntent="yes"],
[c_cv_have_two_getmntent="no"]
AC_MSG_CHECKING([if have htonll defined])
have_htonll="no"
- AC_LINK_IFELSE([
- AC_LANG_PROGRAM([[[
+ AC_LINK_IFELSE([AC_LANG_PROGRAM(
+[[[
#include <sys/types.h>
#include <netinet/in.h>
#if HAVE_INTTYPES_H
# include <inttypes.h>
#endif
- ]]], [[[
+]]],
+[[[
return htonll(0);
- ]]])
- ], [
+]]]
+ )],
+ [
have_htonll="yes"
AC_DEFINE(HAVE_HTONLL, 1, [Define if the function htonll exists.])
])
if test -d "$with_java_home"
then
AC_MSG_CHECKING([for jni.h])
- TMPDIR=`find "$with_java_home" -name jni.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
- if test "x$TMPDIR" != "x"
+ TMPVAR=`find "$with_java_home" -name jni.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
+ if test "x$TMPVAR" != "x"
then
- AC_MSG_RESULT([found in $TMPDIR])
- JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$TMPDIR"
+ AC_MSG_RESULT([found in $TMPVAR])
+ JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$TMPVAR"
else
AC_MSG_RESULT([not found])
fi
AC_MSG_CHECKING([for jni_md.h])
- TMPDIR=`find "$with_java_home" -name jni_md.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
- if test "x$TMPDIR" != "x"
+ TMPVAR=`find "$with_java_home" -name jni_md.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
+ if test "x$TMPVAR" != "x"
then
- AC_MSG_RESULT([found in $TMPDIR])
- JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$TMPDIR"
+ AC_MSG_RESULT([found in $TMPVAR])
+ JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$TMPVAR"
else
AC_MSG_RESULT([not found])
fi
AC_MSG_CHECKING([for libjvm.so])
- TMPDIR=`find "$with_java_home" -name libjvm.so -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
- if test "x$TMPDIR" != "x"
+ TMPVAR=`find "$with_java_home" -name libjvm.so -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
+ if test "x$TMPVAR" != "x"
then
- AC_MSG_RESULT([found in $TMPDIR])
- JAVA_LDFLAGS="$JAVA_LDFLAGS -L$TMPDIR -Wl,-rpath -Wl,$TMPDIR"
+ AC_MSG_RESULT([found in $TMPVAR])
+ JAVA_LDFLAGS="$JAVA_LDFLAGS -L$TMPVAR -Wl,-rpath -Wl,$TMPVAR"
else
AC_MSG_RESULT([not found])
fi
if test "x$JAVAC" = "x"
then
AC_MSG_CHECKING([for javac])
- TMPDIR=`find "$with_java_home" -name javac -type f 2>/dev/null | head -n 1`
- if test "x$TMPDIR" != "x"
+ TMPVAR=`find "$with_java_home" -name javac -type f 2>/dev/null | head -n 1`
+ if test "x$TMPVAR" != "x"
then
- JAVAC="$TMPDIR"
+ JAVAC="$TMPVAR"
AC_MSG_RESULT([$JAVAC])
else
AC_MSG_RESULT([not found])
if test "x$JAR" = "x"
then
AC_MSG_CHECKING([for jar])
- TMPDIR=`find "$with_java_home" -name jar -type f 2>/dev/null | head -n 1`
- if test "x$TMPDIR" != "x"
+ TMPVAR=`find "$with_java_home" -name jar -type f 2>/dev/null | head -n 1`
+ if test "x$TMPVAR" != "x"
then
- JAR="$TMPDIR"
+ JAR="$TMPVAR"
AC_MSG_RESULT([$JAR])
else
AC_MSG_RESULT([not found])
#include <sys/socket.h>])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-[[
+[[[
#include <stdio.h>
#include <sys/types.h>
#include <asm/types.h>
#include <sys/socket.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
-]],
-[[
+]]],
+[[[
int retval = TCA_STATS2;
return (retval);
-]]
+]]]
)],
[AC_DEFINE([HAVE_TCA_STATS2], [1], [True if the enum-member TCA_STATS2 exists])])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-[[
+[[[
#include <stdio.h>
#include <sys/types.h>
#include <asm/types.h>
#include <sys/socket.h>
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
-]],
-[[
+]]],
+[[[
int retval = TCA_STATS;
return (retval);
-]]
+]]]
)],
[AC_DEFINE([HAVE_TCA_STATS], 1, [True if the enum-member TCA_STATS exists])])
[if function 'rtnl_dump_filter' expects five arguments],
[c_cv_rtnl_dump_filter_five_args],
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-[[
+[[[
#include <stdio.h>
#include <sys/types.h>
#include <asm/types.h>
#elif HAVE_LINUX_LIBNETLINK_H
# include <linux/libnetlink.h>
#endif
-]],
-[[
+]]],
+[[[
if (rtnl_dump_filter(NULL, NULL, NULL, NULL, NULL))
return 1;
return 0;
-]]
+]]]
)],
[c_cv_rtnl_dump_filter_five_args="yes"],
[c_cv_rtnl_dump_filter_five_args="no"]
[if function 'rtnl_dump_filter' expects three arguments],
[c_cv_rtnl_dump_filter_three_args],
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-[[
+[[[
#include <stdio.h>
#include <sys/types.h>
#include <asm/types.h>
#elif HAVE_LINUX_LIBNETLINK_H
# include <linux/libnetlink.h>
#endif
-]],
-[[
+]]],
+[[[
if (rtnl_dump_filter(NULL, NULL, NULL))
return 1;
return 0;
-]]
+]]]
)],
[c_cv_rtnl_dump_filter_three_args="yes"],
[c_cv_rtnl_dump_filter_three_args="no"]
AC_CACHE_CHECK([for libperl],
[c_cv_have_libperl],
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[[
+ AC_LINK_IFELSE([AC_LANG_PROGRAM(
+[[[
#define PERL_NO_GET_CONTEXT
#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
- ]]],
- [[[
+]]],
+[[[
dTHX;
load_module (PERL_LOADMOD_NOIMPORT,
newSVpv ("Collectd::Plugin::FooBar", 24),
Nullsv);
- ]]])],
+]]]
+ )],
[c_cv_have_libperl="yes"],
[c_cv_have_libperl="no"]
)
AC_CACHE_CHECK([if perl supports ithreads],
[c_cv_have_perl_ithreads],
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[[
+ AC_LINK_IFELSE([AC_LANG_PROGRAM(
+[[[
#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
#if !defined(USE_ITHREADS)
# error "Perl does not support ithreads!"
#endif /* !defined(USE_ITHREADS) */
- ]]],
- [[[ ]]])],
+]]],
+[[[ ]]]
+ )],
[c_cv_have_perl_ithreads="yes"],
[c_cv_have_perl_ithreads="no"]
)
AC_CACHE_CHECK([for broken Perl_load_module()],
[c_cv_have_broken_perl_load_module],
- AC_LINK_IFELSE(
- [AC_LANG_PROGRAM(
- [[[
+ AC_LINK_IFELSE([AC_LANG_PROGRAM(
+[[[
#define PERL_NO_GET_CONTEXT
#include <EXTERN.h>
#include <perl.h>
#include <XSUB.h>
- ]]],
- [[[
+]]],
+[[[
dTHX;
load_module (PERL_LOADMOD_NOIMPORT,
newSVpv ("Collectd::Plugin::FooBar", 24),
Nullsv);
- ]]])],
+]]]
+ )],
[c_cv_have_broken_perl_load_module="no"],
[c_cv_have_broken_perl_load_module="yes"]
)
fi
dnl Perl bindings
+PERL_BINDINGS_OPTIONS="PREFIX=${prefix}"
AC_ARG_WITH(perl-bindings, [AS_HELP_STRING([--with-perl-bindings@<:@=OPTIONS@:>@], [Options passed to "perl Makefile.PL".])],
[
if test "x$withval" != "xno" && test "x$withval" != "xyes"
PERL_BINDINGS_OPTIONS="$withval"
with_perl_bindings="yes"
else
- PERL_BINDINGS_OPTIONS=""
with_perl_bindings="$withval"
fi
],
[
- PERL_BINDINGS_OPTIONS=""
if test -n "$perl_interpreter"
then
with_perl_bindings="yes"
/**
* collectd - src/network.c
- * Copyright (C) 2005-2010 Florian octo Forster
+ * Copyright (C) 2005-2013 Florian octo Forster
* Copyright (C) 2009 Aman Gupta
*
* This program is free software; you can redistribute it and/or modify it
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* Authors:
- * Florian octo Forster <octo at verplant.org>
+ * Florian octo Forster <octo at collectd.org>
* Aman Gupta <aman at tmm1.net>
**/
} /* }}} int network_dispatch_notification */
#if HAVE_LIBGCRYPT
+static void network_init_gcrypt (void) /* {{{ */
+{
+ /* 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 */
+ if (gcry_control (GCRYCTL_ANY_INITIALIZATION_P))
+ return;
+
+ gcry_check_version (NULL); /* before calling any other functions */
+ gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
+ gcry_control (GCRYCTL_INIT_SECMEM, 32768);
+ gcry_control (GCRYCTL_INITIALIZATION_FINISHED);
+} /* }}} void network_init_gcrypt */
+
static gcry_cipher_hd_t network_get_aes256_cypher (sockent_t *se, /* {{{ */
const void *iv, size_t iv_size, const char *username)
{
{
if (se->data.client.security_level > SECURITY_LEVEL_NONE)
{
+ network_init_gcrypt ();
+
if ((se->data.client.username == NULL)
|| (se->data.client.password == NULL))
{
{
if (se->data.server.security_level > SECURITY_LEVEL_NONE)
{
+ network_init_gcrypt ();
+
if (se->data.server.auth_file == NULL)
{
ERROR ("network plugin: Server socket with "
have_init = 1;
#if HAVE_LIBGCRYPT
- /* 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
- */
- if (!gcry_control (GCRYCTL_ANY_INITIALIZATION_P))
- {
- gcry_check_version(NULL); /* before calling any other functions */
- gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
- gcry_control (GCRYCTL_INIT_SECMEM, 32768, 0);
- gcry_control (GCRYCTL_INITIALIZATION_FINISHED, 0);
- }
+ network_init_gcrypt ();
#endif
if (network_config_stats != 0)