X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fping.c;h=9b5d5ca581a04b6e43820992545efedf2cad759f;hb=e5e5d99350fa54e22f07b90fbc3102df51565ad9;hp=4932bae57e14b8c234a664c5efb03e6e39c1d39e;hpb=c7d859191d8fbfc129dea8cfaf9e13e78fd6642c;p=collectd.git diff --git a/src/ping.c b/src/ping.c index 4932bae5..9b5d5ca5 100644 --- a/src/ping.c +++ b/src/ping.c @@ -36,6 +36,10 @@ # include /* NI_MAXHOST */ #endif +#ifdef HAVE_SYS_CAPABILITY_H +# include +#endif + #include #ifndef NI_MAXHOST @@ -448,6 +452,20 @@ static int ping_init (void) /* {{{ */ "Will use a timeout of %gs.", ping_timeout); } +#ifdef HAVE_SYS_CAPABILITY_H + if (check_capability (CAP_NET_RAW) != 0) + { + if (getuid () == 0) + WARNING ("ping plugin: Running collectd as root, but the CAP_NET_RAW " + "capability is missing. The plugin's read function will probably " + "fail. Is your init system dropping capabilities ?"); + else + WARNING ("ping plugin: collectd doesn't have the CAP_NET_RAW capability. " + "If you don't want to run collectd as root, try running \"setcap " + "cap_net_raw=ep\" on the collectd binary."); + } +#endif + return (start_thread ()); } /* }}} int ping_init */