diff options
| author | RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> | 2023-09-18 22:59:46 +0200 |
|---|---|---|
| committer | RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> | 2023-09-18 22:59:46 +0200 |
| commit | 0e70e81133c25274fe2dd2309556b41357dd759b (patch) | |
| tree | 9a680b36788ee1ad4e7ecc5ccfeb4494db9fdc72 /plugins/check_ntp.c | |
| parent | ce355c80cf6054bfa5e1dcf81f9e2183ef963ee1 (diff) | |
| parent | 2ddc75e69db5a3dd379c896d8420c9af20ec1cee (diff) | |
| download | monitoring-plugins-0e70e81133c25274fe2dd2309556b41357dd759b.tar.gz | |
Merge branch 'master' into mysql_detect_mysqldump
Diffstat (limited to 'plugins/check_ntp.c')
| -rw-r--r-- | plugins/check_ntp.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/plugins/check_ntp.c b/plugins/check_ntp.c index 914b40ce..36146505 100644 --- a/plugins/check_ntp.c +++ b/plugins/check_ntp.c | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | * | 10 | * |
| 11 | * This file contains the check_ntp plugin | 11 | * This file contains the check_ntp plugin |
| 12 | * | 12 | * |
| 13 | * This plugin to check ntp servers independant of any commandline | 13 | * This plugin to check ntp servers independent of any commandline |
| 14 | * programs or external libraries. | 14 | * programs or external libraries. |
| 15 | * | 15 | * |
| 16 | * | 16 | * |
| @@ -79,7 +79,7 @@ typedef struct { | |||
| 79 | /* this structure holds data about results from querying offset from a peer */ | 79 | /* this structure holds data about results from querying offset from a peer */ |
| 80 | typedef struct { | 80 | typedef struct { |
| 81 | time_t waiting; /* ts set when we started waiting for a response */ | 81 | time_t waiting; /* ts set when we started waiting for a response */ |
| 82 | int num_responses; /* number of successfully recieved responses */ | 82 | int num_responses; /* number of successfully received responses */ |
| 83 | uint8_t stratum; /* copied verbatim from the ntp_message */ | 83 | uint8_t stratum; /* copied verbatim from the ntp_message */ |
| 84 | double rtdelay; /* converted from the ntp_message */ | 84 | double rtdelay; /* converted from the ntp_message */ |
| 85 | double rtdisp; /* converted from the ntp_message */ | 85 | double rtdisp; /* converted from the ntp_message */ |
| @@ -100,7 +100,7 @@ typedef struct { | |||
| 100 | /* NB: not necessarily NULL terminated! */ | 100 | /* NB: not necessarily NULL terminated! */ |
| 101 | } ntp_control_message; | 101 | } ntp_control_message; |
| 102 | 102 | ||
| 103 | /* this is an association/status-word pair found in control packet reponses */ | 103 | /* this is an association/status-word pair found in control packet responses */ |
| 104 | typedef struct { | 104 | typedef struct { |
| 105 | uint16_t assoc; | 105 | uint16_t assoc; |
| 106 | uint16_t status; | 106 | uint16_t status; |
| @@ -355,7 +355,7 @@ int best_offset_server(const ntp_server_results *slist, int nservers){ | |||
| 355 | * - we also "manually" handle resolving host names and connecting, because | 355 | * - we also "manually" handle resolving host names and connecting, because |
| 356 | * we have to do it in a way that our lazy macros don't handle currently :( */ | 356 | * we have to do it in a way that our lazy macros don't handle currently :( */ |
| 357 | double offset_request(const char *host, int *status){ | 357 | double offset_request(const char *host, int *status){ |
| 358 | int i=0, j=0, ga_result=0, num_hosts=0, *socklist=NULL, respnum=0; | 358 | int i=0, ga_result=0, num_hosts=0, *socklist=NULL, respnum=0; |
| 359 | int servers_completed=0, one_read=0, servers_readable=0, best_index=-1; | 359 | int servers_completed=0, one_read=0, servers_readable=0, best_index=-1; |
| 360 | time_t now_time=0, start_ts=0; | 360 | time_t now_time=0, start_ts=0; |
| 361 | ntp_message *req=NULL; | 361 | ntp_message *req=NULL; |
| @@ -488,7 +488,7 @@ double offset_request(const char *host, int *status){ | |||
| 488 | /* cleanup */ | 488 | /* cleanup */ |
| 489 | /* FIXME: Not closing the socket to avoid re-use of the local port | 489 | /* FIXME: Not closing the socket to avoid re-use of the local port |
| 490 | * which can cause old NTP packets to be read instead of NTP control | 490 | * which can cause old NTP packets to be read instead of NTP control |
| 491 | * pactets in jitter_request(). THERE MUST BE ANOTHER WAY... | 491 | * packets in jitter_request(). THERE MUST BE ANOTHER WAY... |
| 492 | * for(j=0; j<num_hosts; j++){ close(socklist[j]); } */ | 492 | * for(j=0; j<num_hosts; j++){ close(socklist[j]); } */ |
| 493 | free(socklist); | 493 | free(socklist); |
| 494 | free(ufds); | 494 | free(ufds); |
| @@ -512,7 +512,7 @@ setup_control_request(ntp_control_message *p, uint8_t opcode, uint16_t seq){ | |||
| 512 | } | 512 | } |
| 513 | 513 | ||
| 514 | /* XXX handle responses with the error bit set */ | 514 | /* XXX handle responses with the error bit set */ |
| 515 | double jitter_request(const char *host, int *status){ | 515 | double jitter_request(int *status){ |
| 516 | int conn=-1, i, npeers=0, num_candidates=0, syncsource_found=0; | 516 | int conn=-1, i, npeers=0, num_candidates=0, syncsource_found=0; |
| 517 | int run=0, min_peer_sel=PEER_INCLUDED, num_selected=0, num_valid=0; | 517 | int run=0, min_peer_sel=PEER_INCLUDED, num_selected=0, num_valid=0; |
| 518 | int peers_size=0, peer_offset=0; | 518 | int peers_size=0, peer_offset=0; |
| @@ -575,7 +575,7 @@ double jitter_request(const char *host, int *status){ | |||
| 575 | } | 575 | } |
| 576 | } | 576 | } |
| 577 | } | 577 | } |
| 578 | if(verbose) printf("%d candiate peers available\n", num_candidates); | 578 | if(verbose) printf("%d candidate peers available\n", num_candidates); |
| 579 | if(verbose && syncsource_found) printf("synchronization source found\n"); | 579 | if(verbose && syncsource_found) printf("synchronization source found\n"); |
| 580 | if(! syncsource_found){ | 580 | if(! syncsource_found){ |
| 581 | *status = STATE_UNKNOWN; | 581 | *status = STATE_UNKNOWN; |
| @@ -597,7 +597,7 @@ double jitter_request(const char *host, int *status){ | |||
| 597 | /* By spec, putting the variable name "jitter" in the request | 597 | /* By spec, putting the variable name "jitter" in the request |
| 598 | * should cause the server to provide _only_ the jitter value. | 598 | * should cause the server to provide _only_ the jitter value. |
| 599 | * thus reducing net traffic, guaranteeing us only a single | 599 | * thus reducing net traffic, guaranteeing us only a single |
| 600 | * datagram in reply, and making intepretation much simpler | 600 | * datagram in reply, and making interpretation much simpler |
| 601 | */ | 601 | */ |
| 602 | /* Older servers doesn't know what jitter is, so if we get an | 602 | /* Older servers doesn't know what jitter is, so if we get an |
| 603 | * error on the first pass we redo it with "dispersion" */ | 603 | * error on the first pass we redo it with "dispersion" */ |
| @@ -803,7 +803,7 @@ int main(int argc, char *argv[]){ | |||
| 803 | * (for example) will result in an error | 803 | * (for example) will result in an error |
| 804 | */ | 804 | */ |
| 805 | if(do_jitter){ | 805 | if(do_jitter){ |
| 806 | jitter=jitter_request(server_address, &jitter_result); | 806 | jitter=jitter_request(&jitter_result); |
| 807 | result = max_state_alt(result, get_status(jitter, jitter_thresholds)); | 807 | result = max_state_alt(result, get_status(jitter, jitter_thresholds)); |
| 808 | /* -1 indicates that we couldn't calculate the jitter | 808 | /* -1 indicates that we couldn't calculate the jitter |
| 809 | * Only overrides STATE_OK from the offset */ | 809 | * Only overrides STATE_OK from the offset */ |
