summaryrefslogtreecommitdiffstats
path: root/plugins-root/check_dhcp.c
diff options
context:
space:
mode:
authorEthan Galstad <egalstad@users.sourceforge.net>2006-05-25 16:53:42 (GMT)
committerEthan Galstad <egalstad@users.sourceforge.net>2006-05-25 16:53:42 (GMT)
commit87712747c521bb34370b7ef6274b8310a92e0171 (patch)
treef21ec54ed675ff3c7d92fd59f30aad4a77c1e1f0 /plugins-root/check_dhcp.c
parentfbf2154c5a68915dc6197e7a2ff56e56ef924220 (diff)
downloadmonitoring-plugins-87712747c521bb34370b7ef6274b8310a92e0171.tar.gz
Fixed short interface name length, UNKNOWN return code (patches from tracker)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1405 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins-root/check_dhcp.c')
-rw-r--r--plugins-root/check_dhcp.c39
1 files changed, 19 insertions, 20 deletions
diff --git a/plugins-root/check_dhcp.c b/plugins-root/check_dhcp.c
index 836bafb..cec44b5 100644
--- a/plugins-root/check_dhcp.c
+++ b/plugins-root/check_dhcp.c
@@ -5,6 +5,7 @@
5* Program: DHCP plugin for Nagios 5* Program: DHCP plugin for Nagios
6* License: GPL 6* License: GPL
7* Copyright (c) 2001-2004 Ethan Galstad (nagios@nagios.org) 7* Copyright (c) 2001-2004 Ethan Galstad (nagios@nagios.org)
8* Copyright (c) 2001-2006 Nagios Plugin Development Team
8* 9*
9* License Information: 10* License Information:
10* 11*
@@ -28,7 +29,7 @@
28 29
29const char *progname = "check_dhcp"; 30const char *progname = "check_dhcp";
30const char *revision = "$Revision$"; 31const char *revision = "$Revision$";
31const char *copyright = "2001-2004"; 32const char *copyright = "2001-2006";
32const char *email = "nagiosplug-devel@lists.sourceforge.net"; 33const char *email = "nagiosplug-devel@lists.sourceforge.net";
33 34
34#include "common.h" 35#include "common.h"
@@ -105,11 +106,6 @@ long mac_addr_dlpi( const char *, int, u_char *);
105 106
106/**** Common definitions ****/ 107/**** Common definitions ****/
107 108
108#define STATE_OK 0
109#define STATE_WARNING 1
110#define STATE_CRITICAL 2
111#define STATE_UNKNOWN -1
112
113#define OK 0 109#define OK 0
114#define ERROR -1 110#define ERROR -1
115 111
@@ -191,7 +187,7 @@ typedef struct requested_server_struct{
191 187
192unsigned char client_hardware_address[MAX_DHCP_CHADDR_LENGTH]=""; 188unsigned char client_hardware_address[MAX_DHCP_CHADDR_LENGTH]="";
193 189
194char network_interface_name[8]="eth0"; 190char network_interface_name[IFNAMSIZ]="eth0";
195 191
196u_int32_t packet_xid=0; 192u_int32_t packet_xid=0;
197 193
@@ -240,7 +236,7 @@ int receive_dhcp_packet(void *,int,int,int,struct sockaddr_in *);
240 236
241int main(int argc, char **argv){ 237int main(int argc, char **argv){
242 int dhcp_socket; 238 int dhcp_socket;
243 int result; 239 int result = STATE_UNKNOWN;
244 240
245 setlocale (LC_ALL, ""); 241 setlocale (LC_ALL, "");
246 bindtextdomain (PACKAGE, LOCALEDIR); 242 bindtextdomain (PACKAGE, LOCALEDIR);
@@ -920,8 +916,14 @@ int get_results(void){
920 else if(request_specific_address==TRUE && received_requested_address==FALSE) 916 else if(request_specific_address==TRUE && received_requested_address==FALSE)
921 result=STATE_WARNING; 917 result=STATE_WARNING;
922 918
923 919 if(result==0) /* garrett honeycutt 2005 */
924 printf("DHCP %s: ",(result==STATE_OK)?"ok":"problem"); 920 printf("OK: ");
921 else if(result==1)
922 printf("WARNING: ");
923 else if(result==2)
924 printf("CRITICAL: ");
925 else if(result==3)
926 printf("UNKNOWN: ");
925 927
926 /* we didn't receive any DHCPOFFERs */ 928 /* we didn't receive any DHCPOFFERs */
927 if(dhcp_offer_list==NULL){ 929 if(dhcp_offer_list==NULL){
@@ -1218,13 +1220,17 @@ void print_help(void){
1218 1220
1219 print_revision(progname,revision); 1221 print_revision(progname,revision);
1220 1222
1221 printf("Copyright (c) 2001-2004 Ethan Galstad (nagios@nagios.org)\n\n"); 1223 printf("Copyright (c) 2001-2004 Ethan Galstad (nagios@nagios.org)\n");
1222 printf (COPYRIGHT, copyright, email); 1224 printf (COPYRIGHT, copyright, email);
1223 1225
1224 printf(_("This plugin tests the availability of DHCP servers on a network.\n\n")); 1226 printf(_("This plugin tests the availability of DHCP servers on a network.\n\n"));
1225 1227
1226 print_usage(); 1228 print_usage();
1227 1229
1230 printf (_(UT_HELP_VRSN));
1231
1232 printf (_(UT_VERBOSE));
1233
1228 printf(_("\ 1234 printf(_("\
1229 -s, --serverip=IPADDRESS\n\ 1235 -s, --serverip=IPADDRESS\n\
1230 IP address of DHCP server that we must hear from\n\ 1236 IP address of DHCP server that we must hear from\n\
@@ -1233,21 +1239,14 @@ void print_help(void){
1233 -t, --timeout=INTEGER\n\ 1239 -t, --timeout=INTEGER\n\
1234 Seconds to wait for DHCPOFFER before timeout occurs\n\ 1240 Seconds to wait for DHCPOFFER before timeout occurs\n\
1235 -i, --interface=STRING\n\ 1241 -i, --interface=STRING\n\
1236 Interface to to use for listening (i.e. eth0)\n\ 1242 Interface to to use for listening (i.e. eth0)\n"));
1237 -v, --verbose\n\
1238 Print extra information (command-line use only)\n\
1239 -h, --help\n\
1240 Print detailed help screen\n\
1241 -V, --version\n\
1242 Print version information\n"));
1243} 1243}
1244 1244
1245 1245
1246void print_usage(void) 1246void print_usage(void)
1247{ 1247{
1248 printf("\ 1248 printf("\
1249Usage: %s [-s serverip] [-r requestedip] [-t timeout] [-i interface]\n\ 1249Usage: %s [-s serverip] [-r requestedip] [-t timeout] [-i interface] [-v]\n",progname);
1250 [-v]",progname);
1251} 1250}
1252 1251
1253 1252