Imported Upstream version 1.4.10

This commit is contained in:
Jan Wagner 2013-11-26 23:54:42 +01:00
parent 6dd54dd8e2
commit cff68b4c0a
203 changed files with 15026 additions and 8063 deletions

View file

@ -6,7 +6,7 @@
* Copyright (c) 2006 sean finney <seanius@seanius.net>
* Copyright (c) 2006 nagios-plugins team
*
* Last Modified: $Date: 2007/04/10 07:17:18 $
* Last Modified: $Date: 2007-09-26 05:16:21 +0100 (Wed, 26 Sep 2007) $
*
* Description:
*
@ -32,12 +32,12 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: check_ntp.c,v 1.25 2007/04/10 07:17:18 dermoth Exp $
$Id: check_ntp.c 1799 2007-09-26 04:16:21Z dermoth $
*****************************************************************************/
const char *progname = "check_ntp";
const char *revision = "$Revision: 1.25 $";
const char *revision = "$Revision: 1799 $";
const char *copyright = "2006";
const char *email = "nagiosplug-devel@lists.sourceforge.net";
@ -86,6 +86,7 @@ typedef struct {
double rtdelay; /* converted from the ntp_message */
double rtdisp; /* converted from the ntp_message */
double offset[AVG_NUM]; /* offsets from each response */
uint8_t flags; /* byte with leapindicator,vers,mode. see macros */
} ntp_server_results;
/* this structure holds everything in an ntp control message as per rfc1305 */
@ -302,6 +303,12 @@ int best_offset_server(const ntp_server_results *slist, int nservers){
/* for each server */
for(cserver=0; cserver<nservers; cserver++){
/* sort out servers with error flags */
if ( LI(slist[cserver].flags) != LI_NOWARNING ){
if (verbose) printf("discarding peer id %d: flags=%d\n", cserver, LI(slist[cserver].flags));
break;
}
/* compare it to each of the servers already in the candidate list */
for(i=0; i<csize; i++){
/* does it have an equal or better stratum? */
@ -450,6 +457,7 @@ double offset_request(const char *host, int *status){
servers[i].rtdisp=NTP32asDOUBLE(req[i].rtdisp);
servers[i].rtdelay=NTP32asDOUBLE(req[i].rtdelay);
servers[i].waiting=0;
servers[i].flags=req[i].flags;
servers_readable--;
one_read = 1;
if(servers[i].num_responses==AVG_NUM) servers_completed++;
@ -720,7 +728,7 @@ int process_arguments(int argc, char **argv){
usage4(_("Critical offset should be larger than warning offset"));
}
if (ocrit < owarn){
if (jcrit < jwarn){
usage4(_("Critical jitter should be larger than warning jitter"));
}
@ -808,6 +816,7 @@ int main(int argc, char *argv[]){
}
if(offset_result==STATE_CRITICAL){
asprintf(&result_line, "%s %s", result_line, _("Offset unknown"));
asprintf(&perfdata_line, "");
} else {
if(offset_result==STATE_WARNING){
asprintf(&result_line, "%s %s", result_line, _("Unable to fully sample sync server"));