diff --git a/plugins/check_time.c b/plugins/check_time.c
index 84cdcd531bdb5cd5451a2ec20f41ce0359527af4..b6d9e38a9ae318de3de5ee85d65f624ec98605ab 100644 (file)
--- a/plugins/check_time.c
+++ b/plugins/check_time.c
-/******************************************************************************
-*
+/*****************************************************************************
+*
* Nagios check_time plugin
* Nagios check_time plugin
-*
+*
* License: GPL
* License: GPL
-* Copyright (c) 1999-2006 nagios-plugins team
-*
+* Copyright (c) 1999-2007 Nagios Plugins Development Team
+*
* Last Modified: $Date$
* Last Modified: $Date$
-*
+*
* Description:
* Description:
-*
+*
* This file contains the check_time plugin
* This file contains the check_time plugin
-*
-* License Information:
-*
-* This program is free software; you can redistribute it and/or modify
+*
+* This plugin will check the time difference with the specified host.
+*
+*
+* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation; either version 2 of the License, or
+* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* (at your option) any later version.
-*
+*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
-*
+*
* You should have received a copy of the GNU General Public License
* You should have received a copy of the GNU General Public License
-* along with this program; if not, write to the Free Software
-* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*
-*
+* along with this program. If not, see <http://www.gnu.org/licenses/>.
+*
* $Id$
*
* $Id$
*
-******************************************************************************/
+*****************************************************************************/
const char *progname = "check_time";
const char *revision = "$Revision$";
const char *progname = "check_time";
const char *revision = "$Revision$";
-const char *copyright = "1999-2006";
+const char *copyright = "1999-2007";
const char *email = "nagiosplug-devel@lists.sourceforge.net";
#include "common.h"
const char *email = "nagiosplug-devel@lists.sourceforge.net";
#include "common.h"
#define UNIX_EPOCH 2208988800UL
#define UNIX_EPOCH 2208988800UL
-uint32_t server_time, raw_server_time;
-time_t diff_time;
+uint32_t raw_server_time;
+unsigned long server_time, diff_time;
int warning_time = 0;
int check_warning_time = FALSE;
int critical_time = 0;
int warning_time = 0;
int check_warning_time = FALSE;
int critical_time = 0;
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
bindtextdomain (PACKAGE, LOCALEDIR);
textdomain (PACKAGE);
+ /* Parse extra opts if any */
+ argv=np_extra_opts (&argc, argv, progname);
+
if (process_arguments (argc, argv) == ERROR)
usage4 (_("Could not parse arguments"));
if (process_arguments (argc, argv) == ERROR)
usage4 (_("Could not parse arguments"));
else
diff_time = (unsigned long)end_time - server_time;
else
diff_time = (unsigned long)end_time - server_time;
- if (check_critical_diff == TRUE && diff_time > (time_t)critical_diff)
+ if (check_critical_diff == TRUE && diff_time > critical_diff)
result = STATE_CRITICAL;
result = STATE_CRITICAL;
- else if (check_warning_diff == TRUE && diff_time > (time_t)warning_diff)
+ else if (check_warning_diff == TRUE && diff_time > warning_diff)
result = STATE_WARNING;
printf (_("TIME %s - %lu second time difference|%s %s\n"),
result = STATE_WARNING;
printf (_("TIME %s - %lu second time difference|%s %s\n"),
check_warning_time, (long)warning_time,
check_critical_time, (long)critical_time,
TRUE, 0, FALSE, 0),
check_warning_time, (long)warning_time,
check_critical_time, (long)critical_time,
TRUE, 0, FALSE, 0),
- perfdata ("offset", (long)diff_time, "s",
- check_warning_diff, (long)warning_diff,
- check_critical_diff, (long)critical_diff,
+ perfdata ("offset", diff_time, "s",
+ check_warning_diff, warning_diff,
+ check_critical_diff, critical_diff,
TRUE, 0, FALSE, 0));
return result;
}
TRUE, 0, FALSE, 0));
return result;
}
switch (c) {
case '?': /* print short usage statement if args not parsable */
switch (c) {
case '?': /* print short usage statement if args not parsable */
- usage2 (_("Unknown argument"), optarg);
+ usage5 ();
case 'h': /* help */
print_help ();
exit (STATE_OK);
case 'h': /* help */
print_help ();
exit (STATE_OK);
print_usage ();
printf (_(UT_HELP_VRSN));
print_usage ();
printf (_(UT_HELP_VRSN));
+ printf (_(UT_EXTRA_OPTS));
printf (_(UT_HOST_PORT), 'p', myport);
printf (_(UT_HOST_PORT), 'p', myport);
printf (" %s\n", _("Response time (sec.) necessary to result in critical status"));
printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT);
printf (" %s\n", _("Response time (sec.) necessary to result in critical status"));
printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT);
+
+#ifdef NP_EXTRA_OPTS
+ printf ("\n");
+ printf ("%s\n", _("Notes:"));
+ printf (_(UT_EXTRA_OPTS_NOTES));
+#endif
+
printf (_(UT_SUPPORT));
}
printf (_(UT_SUPPORT));
}