diff options
author | M. Sean Finney <seanius@users.sourceforge.net> | 2007-05-27 13:46:32 +0000 |
---|---|---|
committer | M. Sean Finney <seanius@users.sourceforge.net> | 2007-05-27 13:46:32 +0000 |
commit | bf9f0e9f8901f0e9e960e367941d2ab53435f641 (patch) | |
tree | cf1940e4cd3bf23b5348eaec9c4bedfed335f38e /plugins-root | |
parent | 3f5fbd9797feffe31cc7046d2abd0ef819a703e8 (diff) | |
download | monitoring-plugins-bf9f0e9f8901f0e9e960e367941d2ab53435f641.tar.gz |
added functions to utils_base:
np_check_if_root() - returns nonzero if geteuid()==0
np_warn_if_not_root() - uses the above to print an informative warning
added uses of these functions to check_dhcp and check_icmp.
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1718 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins-root')
-rw-r--r-- | plugins-root/check_dhcp.c | 5 | ||||
-rw-r--r-- | plugins-root/check_icmp.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/plugins-root/check_dhcp.c b/plugins-root/check_dhcp.c index 8559d634..7cb2d300 100644 --- a/plugins-root/check_dhcp.c +++ b/plugins-root/check_dhcp.c | |||
@@ -250,10 +250,13 @@ int main(int argc, char **argv){ | |||
250 | int dhcp_socket; | 250 | int dhcp_socket; |
251 | int result = STATE_UNKNOWN; | 251 | int result = STATE_UNKNOWN; |
252 | 252 | ||
253 | /* this plugin almost certainly needs root permissions. */ | ||
254 | np_warn_if_not_root(); | ||
255 | |||
253 | setlocale (LC_ALL, ""); | 256 | setlocale (LC_ALL, ""); |
254 | bindtextdomain (PACKAGE, LOCALEDIR); | 257 | bindtextdomain (PACKAGE, LOCALEDIR); |
255 | textdomain (PACKAGE); | 258 | textdomain (PACKAGE); |
256 | 259 | ||
257 | if(process_arguments(argc,argv)!=OK){ | 260 | if(process_arguments(argc,argv)!=OK){ |
258 | usage4 (_("Could not parse arguments")); | 261 | usage4 (_("Could not parse arguments")); |
259 | } | 262 | } |
diff --git a/plugins-root/check_icmp.c b/plugins-root/check_icmp.c index 7e3b00f3..7f9160c4 100644 --- a/plugins-root/check_icmp.c +++ b/plugins-root/check_icmp.c | |||
@@ -372,6 +372,9 @@ main(int argc, char **argv) | |||
372 | int result; | 372 | int result; |
373 | struct rta_host *host; | 373 | struct rta_host *host; |
374 | 374 | ||
375 | /* print a helpful error message if geteuid != 0 */ | ||
376 | np_warn_if_not_root(); | ||
377 | |||
375 | /* we only need to be setsuid when we get the sockets, so do | 378 | /* we only need to be setsuid when we get the sockets, so do |
376 | * that before pointer magic (esp. on network data) */ | 379 | * that before pointer magic (esp. on network data) */ |
377 | icmp_sockerrno = udp_sockerrno = tcp_sockerrno = sockets = 0; | 380 | icmp_sockerrno = udp_sockerrno = tcp_sockerrno = sockets = 0; |