aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/check_http.c16
-rw-r--r--plugins/check_icmp.c23
-rw-r--r--plugins/check_nwstat.c3
-rw-r--r--plugins/check_ping.c2
-rw-r--r--plugins/check_smtp.c3
-rw-r--r--plugins/check_swap.c2
-rw-r--r--plugins/utils.h71
7 files changed, 59 insertions, 61 deletions
diff --git a/plugins/check_http.c b/plugins/check_http.c
index 6f8ad9a4..dd058219 100644
--- a/plugins/check_http.c
+++ b/plugins/check_http.c
@@ -676,17 +676,17 @@ check_document_dates (const char *headers)
} else if (!document_date || !*document_date) {
die (STATE_CRITICAL, _("Document modification date unknown\n"));
} else {
- time_t sd = parse_time_string (server_date);
- time_t dd = parse_time_string (document_date);
+ time_t srv_data = parse_time_string (server_date);
+ time_t doc_data = parse_time_string (document_date);
- if (sd <= 0) {
+ if (srv_data <= 0) {
die (STATE_CRITICAL, _("CRITICAL - Server date \"%100s\" unparsable"), server_date);
- } else if (dd <= 0) {
+ } else if (doc_data <= 0) {
die (STATE_CRITICAL, _("CRITICAL - Document date \"%100s\" unparsable"), document_date);
- } else if (dd > sd + 30) {
- die (STATE_CRITICAL, _("CRITICAL - Document is %d seconds in the future\n"), dd - sd);
- } else if (dd < sd - maximum_age) {
- int n = (sd - dd);
+ } else if (doc_data > srv_data + 30) {
+ die (STATE_CRITICAL, _("CRITICAL - Document is %d seconds in the future\n"), (int)doc_data - (int)srv_data);
+ } else if (doc_data < srv_data - maximum_age) {
+ int n = (srv_data - doc_data);
if (n > (60 * 60 * 24 * 2))
die (STATE_CRITICAL,
_("CRITICAL - Last modified %.1f days ago\n"),
diff --git a/plugins/check_icmp.c b/plugins/check_icmp.c
index 45bfcc5e..361e924e 100644
--- a/plugins/check_icmp.c
+++ b/plugins/check_icmp.c
@@ -1,6 +1,8 @@
/*
- * check_icmp - A hack of fping2 to work with nagios.
- * This way we don't have to use the output parser.
+ * $Id$
+ *
+ * This is a hack of fping2 made to work with nagios.
+ * It's fast and removes the necessity of parsing another programs output.
*
* VIEWING NOTES:
* This file was formatted with tab indents at a tab stop of 4.
@@ -40,14 +42,8 @@
#include <netinet/in_systm.h>
#include <netinet/in.h>
-/* Linux has bizarre ip.h and ip_icmp.h */
-/* Taken from the fping distro. Thank you. */
-#if defined( __linux__ )
-#include "linux.h"
-#else
#include <netinet/ip.h>
#include <netinet/ip_icmp.h>
-#endif /* defined(__linux__) */
#include <arpa/inet.h>
#include <netdb.h>
@@ -70,9 +66,8 @@ extern char *optarg;
extern int optind, opterr;
/*** Constants ***/
-#define REV_DATE "2004-09-06"
#define EMAIL "ae@op5.se"
-#define VERSION "0.8"
+#define VERSION "0.8.1"
#ifndef INADDR_NONE
# define INADDR_NONE 0xffffffU
@@ -441,7 +436,7 @@ int main(int argc, char **argv)
break;
case 'v':
- printf("%s: Version %s $Date$\n", prog, VERSION, REV_DATE);
+ printf("%s: Version %s $Date$\n", prog, VERSION);
printf("%s: comments to %s\n", prog, EMAIL);
exit(STATE_OK);
@@ -1275,7 +1270,7 @@ void u_sleep(int u_sec)
* crash on any other errrors
************************************************************/
/* TODO: add MSG_DONTWAIT to recvfrom flags (currently 0) */
-int recvfrom_wto(int sock, char *buf, int len, struct sockaddr *saddr, int timo)
+int recvfrom_wto(int lsock, char *buf, int len, struct sockaddr *saddr, int timo)
{
int nfound = 0, slen, n;
struct timeval to;
@@ -1289,8 +1284,8 @@ int recvfrom_wto(int sock, char *buf, int len, struct sockaddr *saddr, int timo)
FD_ZERO(&readset);
FD_ZERO(&writeset);
- FD_SET(sock, &readset);
- nfound = select(sock + 1, &readset, &writeset, NULL, &to);
+ FD_SET(lsock, &readset);
+ nfound = select(lsock + 1, &readset, &writeset, NULL, &to);
if(nfound < 0) crash("select() in recvfrom_wto");
if(nfound == 0) return -1; /* timeout */
diff --git a/plugins/check_nwstat.c b/plugins/check_nwstat.c
index d8913bce..2d7e611d 100644
--- a/plugins/check_nwstat.c
+++ b/plugins/check_nwstat.c
@@ -909,8 +909,7 @@ void print_help(void)
printf (_("\
This plugin attempts to contact the MRTGEXT NLM running on a\n\
-Novell server to gather the requested system information.\n\n"),
- progname);
+Novell server to gather the requested system information.\n\n"));
print_usage();
diff --git a/plugins/check_ping.c b/plugins/check_ping.c
index 4778fcf9..91764666 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)
die (STATE_CRITICAL, _("CRITICAL - Host Unreachable (%s)"), addr);
else if (strstr (buf, "unknown host" ))
die (STATE_CRITICAL, _("CRITICAL - Host not found (%s)"), addr);
+ else if (strstr (buf, "Time to live exceeded"))
+ die (STATE_CRITICAL, _("CRITICAL - Time to live exceeded (%s)"), addr);
if (strstr (buf, "(DUP!)") || strstr (buf, "DUPLICATES FOUND")) {
if (warn_text == NULL)
diff --git a/plugins/check_smtp.c b/plugins/check_smtp.c
index ab1b9507..b6c60c24 100644
--- a/plugins/check_smtp.c
+++ b/plugins/check_smtp.c
@@ -218,11 +218,12 @@ main (int argc, char **argv)
microsec = deltime (tv);
elapsed_time = (double)microsec / 1.0e6;
- if (result == STATE_OK)
+ if (result == STATE_OK) {
if (check_critical_time && elapsed_time > (double) critical_time)
result = STATE_CRITICAL;
else if (check_warning_time && elapsed_time > (double) warning_time)
result = STATE_WARNING;
+ }
printf (_("SMTP %s - %.3f sec. response time%s%s|%s\n"),
state_text (result), elapsed_time,
diff --git a/plugins/check_swap.c b/plugins/check_swap.c
index 3067f85c..6e2ab723 100644
--- a/plugins/check_swap.c
+++ b/plugins/check_swap.c
@@ -56,10 +56,10 @@ main (int argc, char **argv)
int result = STATE_UNKNOWN;
char input_buffer[MAX_INPUT_BUFFER];
char *perf;
- int conv_factor = SWAP_CONVERSION;
#ifdef HAVE_PROC_MEMINFO
FILE *fp;
#else
+ int conv_factor = SWAP_CONVERSION;
# ifdef HAVE_SWAP
char *temp_buffer;
char *swap_command;
diff --git a/plugins/utils.h b/plugins/utils.h
index 4fc1305f..bdf1ee1f 100644
--- a/plugins/utils.h
+++ b/plugins/utils.h
@@ -16,9 +16,9 @@ suite of plugins. */
/* $Id$ */
void support (void);
-char *clean_revstring (const char *revstring);
+char *clean_revstring (const char *);
void print_revision (const char *, const char *);
-void die (int result, const char *fmt, ...) __attribute__((noreturn,format(printf, 2, 3)));
+void die (int, const char *, ...) __attribute__((noreturn,format(printf, 2, 3)));
/* Handle timeouts */
@@ -57,7 +57,7 @@ struct timeval {
#endif
#ifndef HAVE_GETTIMEOFDAY
-int gettimeofday(struct timeval *tv, struct timezone *tz);
+int gettimeofday(struct timeval *, struct timezone *);
#endif
double delta_time (struct timeval tv);
@@ -65,46 +65,47 @@ long deltime (struct timeval tv);
/* Handle strings safely */
-void strip (char *buffer);
-char *strscpy (char *dest, const char *src);
-char *strnl (char *str);
-char *strpcpy (char *dest, const char *src, const char *str);
-char *strpcat (char *dest, const char *src, const char *str);
+void strip (char *);
+char *strscpy (char *, const char *);
+char *strnl (char *);
+char *strpcpy (char *, const char *, const char *);
+char *strpcat (char *, const char *, const char *);
int max_state (int a, int b);
-void usage (const char *msg) __attribute__((noreturn));
-void usage2(const char *msg, const char *arg) __attribute__((noreturn));
-void usage3(const char *msg, int arg) __attribute__((noreturn));
+void usage (const char *) __attribute__((noreturn));
+void usage2(const char *, const char *) __attribute__((noreturn));
+void usage3(const char *, int) __attribute__((noreturn));
+void usage4(const char *);
-const char *state_text (int result);
+const char *state_text (int);
#define max(a,b) (((a)>(b))?(a):(b))
#define min(a,b) (((a)<(b))?(a):(b))
-char *perfdata (const char *label,
- long int val,
- const char *uom,
- int warnp,
- long int warn,
- int critp,
- long int crit,
- int minp,
- long int minv,
- int maxp,
- long int maxv);
-
-char *fperfdata (const char *label,
- double val,
- const char *uom,
- int warnp,
- double warn,
- int critp,
- double crit,
- int minp,
- double minv,
- int maxp,
- double maxv);
+char *perfdata (const char *,
+ long int,
+ const char *,
+ int,
+ long int,
+ int,
+ long int,
+ int,
+ long int,
+ int,
+ long int);
+
+char *fperfdata (const char *,
+ double,
+ const char *,
+ int,
+ double,
+ int,
+ double,
+ int,
+ double,
+ int,
+ double);
/* The idea here is that, although not every plugin will use all of these,
most will or should. Therefore, for consistency, these very common