X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=src%2Fdns.c;h=be6d0dcb4223684e31c62e51a903ae0f853e83ef;hp=15fa15a79099b1faf28af0a20ef9a629eacc2ad2;hb=e5e5d99350fa54e22f07b90fbc3102df51565ad9;hpb=6e8d9b2fa6018a1ed1ec8ab3b6551110449a997c diff --git a/src/dns.c b/src/dns.c index 15fa15a7..be6d0dcb 100644 --- a/src/dns.c +++ b/src/dns.c @@ -35,6 +35,10 @@ #include +#ifdef HAVE_SYS_CAPABILITY_H +# include +#endif + /* * Private data types */ @@ -347,6 +351,20 @@ static int dns_init (void) listen_thread_init = 1; +#ifdef HAVE_SYS_CAPABILITY_H + if (check_capability (CAP_NET_RAW) != 0) + { + if (getuid () == 0) + WARNING ("dns 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 ("dns 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 (0); } /* int dns_init */