diff options
-rw-r--r-- | plugins/check_http.c | 16 | ||||
-rw-r--r-- | plugins/check_icmp.c | 23 | ||||
-rw-r--r-- | plugins/check_nwstat.c | 3 | ||||
-rw-r--r-- | plugins/check_ping.c | 2 | ||||
-rw-r--r-- | plugins/check_smtp.c | 3 | ||||
-rw-r--r-- | plugins/check_swap.c | 2 | ||||
-rw-r--r-- | plugins/utils.h | 71 |
7 files changed, 59 insertions, 61 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c index 6f8ad9a..dd05821 100644 --- a/plugins/check_http.c +++ b/plugins/check_http.c | |||
@@ -676,17 +676,17 @@ check_document_dates (const char *headers) | |||
676 | } else if (!document_date || !*document_date) { | 676 | } else if (!document_date || !*document_date) { |
677 | die (STATE_CRITICAL, _("Document modification date unknown\n")); | 677 | die (STATE_CRITICAL, _("Document modification date unknown\n")); |
678 | } else { | 678 | } else { |
679 | time_t sd = parse_time_string (server_date); | 679 | time_t srv_data = parse_time_string (server_date); |
680 | time_t dd = parse_time_string (document_date); | 680 | time_t doc_data = parse_time_string (document_date); |
681 | 681 | ||
682 | if (sd <= 0) { | 682 | if (srv_data <= 0) { |
683 | die (STATE_CRITICAL, _("CRITICAL - Server date \"%100s\" unparsable"), server_date); | 683 | die (STATE_CRITICAL, _("CRITICAL - Server date \"%100s\" unparsable"), server_date); |
684 | } else if (dd <= 0) { | 684 | } else if (doc_data <= 0) { |
685 | die (STATE_CRITICAL, _("CRITICAL - Document date \"%100s\" unparsable"), document_date); | 685 | die (STATE_CRITICAL, _("CRITICAL - Document date \"%100s\" unparsable"), document_date); |
686 | } else if (dd > sd + 30) { | 686 | } else if (doc_data > srv_data + 30) { |
687 | die (STATE_CRITICAL, _("CRITICAL - Document is %d seconds in the future\n"), dd - sd); | 687 | die (STATE_CRITICAL, _("CRITICAL - Document is %d seconds in the future\n"), (int)doc_data - (int)srv_data); |
688 | } else if (dd < sd - maximum_age) { | 688 | } else if (doc_data < srv_data - maximum_age) { |
689 | int n = (sd - dd); | 689 | int n = (srv_data - doc_data); |
690 | if (n > (60 * 60 * 24 * 2)) | 690 | if (n > (60 * 60 * 24 * 2)) |
691 | die (STATE_CRITICAL, | 691 | die (STATE_CRITICAL, |
692 | _("CRITICAL - Last modified %.1f days ago\n"), | 692 | _("CRITICAL - Last modified %.1f days ago\n"), |
diff --git a/plugins/check_icmp.c b/plugins/check_icmp.c index 45bfcc5..361e924 100644 --- a/plugins/check_icmp.c +++ b/plugins/check_icmp.c | |||
@@ -1,6 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * check_icmp - A hack of fping2 to work with nagios. | 2 | * $Id$ |
3 | * This way we don't have to use the output parser. | 3 | * |
4 | * This is a hack of fping2 made to work with nagios. | ||
5 | * It's fast and removes the necessity of parsing another programs output. | ||
4 | * | 6 | * |
5 | * VIEWING NOTES: | 7 | * VIEWING NOTES: |
6 | * This file was formatted with tab indents at a tab stop of 4. | 8 | * This file was formatted with tab indents at a tab stop of 4. |
@@ -40,14 +42,8 @@ | |||
40 | #include <netinet/in_systm.h> | 42 | #include <netinet/in_systm.h> |
41 | #include <netinet/in.h> | 43 | #include <netinet/in.h> |
42 | 44 | ||
43 | /* Linux has bizarre ip.h and ip_icmp.h */ | ||
44 | /* Taken from the fping distro. Thank you. */ | ||
45 | #if defined( __linux__ ) | ||
46 | #include "linux.h" | ||
47 | #else | ||
48 | #include <netinet/ip.h> | 45 | #include <netinet/ip.h> |
49 | #include <netinet/ip_icmp.h> | 46 | #include <netinet/ip_icmp.h> |
50 | #endif /* defined(__linux__) */ | ||
51 | 47 | ||
52 | #include <arpa/inet.h> | 48 | #include <arpa/inet.h> |
53 | #include <netdb.h> | 49 | #include <netdb.h> |
@@ -70,9 +66,8 @@ extern char *optarg; | |||
70 | extern int optind, opterr; | 66 | extern int optind, opterr; |
71 | 67 | ||
72 | /*** Constants ***/ | 68 | /*** Constants ***/ |
73 | #define REV_DATE "2004-09-06" | ||
74 | #define EMAIL "ae@op5.se" | 69 | #define EMAIL "ae@op5.se" |
75 | #define VERSION "0.8" | 70 | #define VERSION "0.8.1" |
76 | 71 | ||
77 | #ifndef INADDR_NONE | 72 | #ifndef INADDR_NONE |
78 | # define INADDR_NONE 0xffffffU | 73 | # define INADDR_NONE 0xffffffU |
@@ -441,7 +436,7 @@ int main(int argc, char **argv) | |||
441 | break; | 436 | break; |
442 | 437 | ||
443 | case 'v': | 438 | case 'v': |
444 | printf("%s: Version %s $Date$\n", prog, VERSION, REV_DATE); | 439 | printf("%s: Version %s $Date$\n", prog, VERSION); |
445 | printf("%s: comments to %s\n", prog, EMAIL); | 440 | printf("%s: comments to %s\n", prog, EMAIL); |
446 | exit(STATE_OK); | 441 | exit(STATE_OK); |
447 | 442 | ||
@@ -1275,7 +1270,7 @@ void u_sleep(int u_sec) | |||
1275 | * crash on any other errrors | 1270 | * crash on any other errrors |
1276 | ************************************************************/ | 1271 | ************************************************************/ |
1277 | /* TODO: add MSG_DONTWAIT to recvfrom flags (currently 0) */ | 1272 | /* TODO: add MSG_DONTWAIT to recvfrom flags (currently 0) */ |
1278 | int recvfrom_wto(int sock, char *buf, int len, struct sockaddr *saddr, int timo) | 1273 | int recvfrom_wto(int lsock, char *buf, int len, struct sockaddr *saddr, int timo) |
1279 | { | 1274 | { |
1280 | int nfound = 0, slen, n; | 1275 | int nfound = 0, slen, n; |
1281 | struct timeval to; | 1276 | struct timeval to; |
@@ -1289,8 +1284,8 @@ int recvfrom_wto(int sock, char *buf, int len, struct sockaddr *saddr, int timo) | |||
1289 | 1284 | ||
1290 | FD_ZERO(&readset); | 1285 | FD_ZERO(&readset); |
1291 | FD_ZERO(&writeset); | 1286 | FD_ZERO(&writeset); |
1292 | FD_SET(sock, &readset); | 1287 | FD_SET(lsock, &readset); |
1293 | nfound = select(sock + 1, &readset, &writeset, NULL, &to); | 1288 | nfound = select(lsock + 1, &readset, &writeset, NULL, &to); |
1294 | if(nfound < 0) crash("select() in recvfrom_wto"); | 1289 | if(nfound < 0) crash("select() in recvfrom_wto"); |
1295 | 1290 | ||
1296 | if(nfound == 0) return -1; /* timeout */ | 1291 | if(nfound == 0) return -1; /* timeout */ |
diff --git a/plugins/check_nwstat.c b/plugins/check_nwstat.c index d8913bc..2d7e611 100644 --- a/plugins/check_nwstat.c +++ b/plugins/check_nwstat.c | |||
@@ -909,8 +909,7 @@ void print_help(void) | |||
909 | 909 | ||
910 | printf (_("\ | 910 | printf (_("\ |
911 | This plugin attempts to contact the MRTGEXT NLM running on a\n\ | 911 | This plugin attempts to contact the MRTGEXT NLM running on a\n\ |
912 | Novell server to gather the requested system information.\n\n"), | 912 | Novell server to gather the requested system information.\n\n")); |
913 | progname); | ||
914 | 913 | ||
915 | print_usage(); | 914 | print_usage(); |
916 | 915 | ||
diff --git a/plugins/check_ping.c b/plugins/check_ping.c index 4778fcf..9176466 100644 --- a/plugins/check_ping.c +++ b/plugins/check_ping.c | |||
@@ -469,6 +469,8 @@ error_scan (char buf[MAX_INPUT_BUFFER], const char *addr) | |||
469 | die (STATE_CRITICAL, _("CRITICAL - Host Unreachable (%s)"), addr); | 469 | die (STATE_CRITICAL, _("CRITICAL - Host Unreachable (%s)"), addr); |
470 | else if (strstr (buf, "unknown host" )) | 470 | else if (strstr (buf, "unknown host" )) |
471 | die (STATE_CRITICAL, _("CRITICAL - Host not found (%s)"), addr); | 471 | die (STATE_CRITICAL, _("CRITICAL - Host not found (%s)"), addr); |
472 | else if (strstr (buf, "Time to live exceeded")) | ||
473 | die (STATE_CRITICAL, _("CRITICAL - Time to live exceeded (%s)"), addr); | ||
472 | 474 | ||
473 | if (strstr (buf, "(DUP!)") || strstr (buf, "DUPLICATES FOUND")) { | 475 | if (strstr (buf, "(DUP!)") || strstr (buf, "DUPLICATES FOUND")) { |
474 | if (warn_text == NULL) | 476 | if (warn_text == NULL) |
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c index ab1b950..b6c60c2 100644 --- a/plugins/check_smtp.c +++ b/plugins/check_smtp.c | |||
@@ -218,11 +218,12 @@ main (int argc, char **argv) | |||
218 | microsec = deltime (tv); | 218 | microsec = deltime (tv); |
219 | elapsed_time = (double)microsec / 1.0e6; | 219 | elapsed_time = (double)microsec / 1.0e6; |
220 | 220 | ||
221 | if (result == STATE_OK) | 221 | if (result == STATE_OK) { |
222 | if (check_critical_time && elapsed_time > (double) critical_time) | 222 | if (check_critical_time && elapsed_time > (double) critical_time) |
223 | result = STATE_CRITICAL; | 223 | result = STATE_CRITICAL; |
224 | else if (check_warning_time && elapsed_time > (double) warning_time) | 224 | else if (check_warning_time && elapsed_time > (double) warning_time) |
225 | result = STATE_WARNING; | 225 | result = STATE_WARNING; |
226 | } | ||
226 | 227 | ||
227 | printf (_("SMTP %s - %.3f sec. response time%s%s|%s\n"), | 228 | printf (_("SMTP %s - %.3f sec. response time%s%s|%s\n"), |
228 | state_text (result), elapsed_time, | 229 | state_text (result), elapsed_time, |
diff --git a/plugins/check_swap.c b/plugins/check_swap.c index 3067f85..6e2ab72 100644 --- a/plugins/check_swap.c +++ b/plugins/check_swap.c | |||
@@ -56,10 +56,10 @@ main (int argc, char **argv) | |||
56 | int result = STATE_UNKNOWN; | 56 | int result = STATE_UNKNOWN; |
57 | char input_buffer[MAX_INPUT_BUFFER]; | 57 | char input_buffer[MAX_INPUT_BUFFER]; |
58 | char *perf; | 58 | char *perf; |
59 | int conv_factor = SWAP_CONVERSION; | ||
60 | #ifdef HAVE_PROC_MEMINFO | 59 | #ifdef HAVE_PROC_MEMINFO |
61 | FILE *fp; | 60 | FILE *fp; |
62 | #else | 61 | #else |
62 | int conv_factor = SWAP_CONVERSION; | ||
63 | # ifdef HAVE_SWAP | 63 | # ifdef HAVE_SWAP |
64 | char *temp_buffer; | 64 | char *temp_buffer; |
65 | char *swap_command; | 65 | char *swap_command; |
diff --git a/plugins/utils.h b/plugins/utils.h index 4fc1305..bdf1ee1 100644 --- a/plugins/utils.h +++ b/plugins/utils.h | |||
@@ -16,9 +16,9 @@ suite of plugins. */ | |||
16 | /* $Id$ */ | 16 | /* $Id$ */ |
17 | 17 | ||
18 | void support (void); | 18 | void support (void); |
19 | char *clean_revstring (const char *revstring); | 19 | char *clean_revstring (const char *); |
20 | void print_revision (const char *, const char *); | 20 | void print_revision (const char *, const char *); |
21 | void die (int result, const char *fmt, ...) __attribute__((noreturn,format(printf, 2, 3))); | 21 | void die (int, const char *, ...) __attribute__((noreturn,format(printf, 2, 3))); |
22 | 22 | ||
23 | /* Handle timeouts */ | 23 | /* Handle timeouts */ |
24 | 24 | ||
@@ -57,7 +57,7 @@ struct timeval { | |||
57 | #endif | 57 | #endif |
58 | 58 | ||
59 | #ifndef HAVE_GETTIMEOFDAY | 59 | #ifndef HAVE_GETTIMEOFDAY |
60 | int gettimeofday(struct timeval *tv, struct timezone *tz); | 60 | int gettimeofday(struct timeval *, struct timezone *); |
61 | #endif | 61 | #endif |
62 | 62 | ||
63 | double delta_time (struct timeval tv); | 63 | double delta_time (struct timeval tv); |
@@ -65,46 +65,47 @@ long deltime (struct timeval tv); | |||
65 | 65 | ||
66 | /* Handle strings safely */ | 66 | /* Handle strings safely */ |
67 | 67 | ||
68 | void strip (char *buffer); | 68 | void strip (char *); |
69 | char *strscpy (char *dest, const char *src); | 69 | char *strscpy (char *, const char *); |
70 | char *strnl (char *str); | 70 | char *strnl (char *); |
71 | char *strpcpy (char *dest, const char *src, const char *str); | 71 | char *strpcpy (char *, const char *, const char *); |
72 | char *strpcat (char *dest, const char *src, const char *str); | 72 | char *strpcat (char *, const char *, const char *); |
73 | 73 | ||
74 | int max_state (int a, int b); | 74 | int max_state (int a, int b); |
75 | 75 | ||
76 | void usage (const char *msg) __attribute__((noreturn)); | 76 | void usage (const char *) __attribute__((noreturn)); |
77 | void usage2(const char *msg, const char *arg) __attribute__((noreturn)); | 77 | void usage2(const char *, const char *) __attribute__((noreturn)); |
78 | void usage3(const char *msg, int arg) __attribute__((noreturn)); | 78 | void usage3(const char *, int) __attribute__((noreturn)); |
79 | void usage4(const char *); | ||
79 | 80 | ||
80 | const char *state_text (int result); | 81 | const char *state_text (int); |
81 | 82 | ||
82 | #define max(a,b) (((a)>(b))?(a):(b)) | 83 | #define max(a,b) (((a)>(b))?(a):(b)) |
83 | #define min(a,b) (((a)<(b))?(a):(b)) | 84 | #define min(a,b) (((a)<(b))?(a):(b)) |
84 | 85 | ||
85 | char *perfdata (const char *label, | 86 | char *perfdata (const char *, |
86 | long int val, | 87 | long int, |
87 | const char *uom, | 88 | const char *, |
88 | int warnp, | 89 | int, |
89 | long int warn, | 90 | long int, |
90 | int critp, | 91 | int, |
91 | long int crit, | 92 | long int, |
92 | int minp, | 93 | int, |
93 | long int minv, | 94 | long int, |
94 | int maxp, | 95 | int, |
95 | long int maxv); | 96 | long int); |
96 | 97 | ||
97 | char *fperfdata (const char *label, | 98 | char *fperfdata (const char *, |
98 | double val, | 99 | double, |
99 | const char *uom, | 100 | const char *, |
100 | int warnp, | 101 | int, |
101 | double warn, | 102 | double, |
102 | int critp, | 103 | int, |
103 | double crit, | 104 | double, |
104 | int minp, | 105 | int, |
105 | double minv, | 106 | double, |
106 | int maxp, | 107 | int, |
107 | double maxv); | 108 | double); |
108 | 109 | ||
109 | /* The idea here is that, although not every plugin will use all of these, | 110 | /* The idea here is that, although not every plugin will use all of these, |
110 | most will or should. Therefore, for consistency, these very common | 111 | most will or should. Therefore, for consistency, these very common |