From: Miroslav Lichvar Date: Fri, 29 Jan 2016 12:46:38 +0000 (+0100) Subject: cmdmon: use 32-bit fields in client access report X-Git-Tag: 2.3-pre1~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=861ac013bcc54fa7b3c92cc4b43a8e2071885907;p=thirdparty%2Fchrony.git cmdmon: use 32-bit fields in client access report The clientlog record still uses 16-bit integers to count dropped packets, but this will avoid an incompatible change in the command reply if there will be a need to count more than 2^16 drops. --- diff --git a/candm.h b/candm.h index af55966e..fa8d1487 100644 --- a/candm.h +++ b/candm.h @@ -553,8 +553,8 @@ typedef struct { IPAddr ip; uint32_t ntp_hits; uint32_t cmd_hits; - uint16_t ntp_drops; - uint16_t cmd_drops; + uint32_t ntp_drops; + uint32_t cmd_drops; int8_t ntp_interval; int8_t cmd_interval; int8_t ntp_timeout_interval; diff --git a/client.c b/client.c index 969331b2..431c238b 100644 --- a/client.c +++ b/client.c @@ -2125,14 +2125,14 @@ process_cmd_clients(char *line) printf("%-25s", hostname); printf(" %6"PRIu32" %5"PRIu16" ", - ntohl(client->ntp_hits), ntohs(client->ntp_drops)); + ntohl(client->ntp_hits), ntohl(client->ntp_drops)); print_clientlog_interval(client->ntp_interval); printf(" "); print_clientlog_interval(client->ntp_timeout_interval); printf(" "); print_seconds(ntohl(client->last_ntp_hit_ago)); printf(" %6"PRIu32" %5"PRIu16" ", - ntohl(client->cmd_hits), ntohs(client->cmd_drops)); + ntohl(client->cmd_hits), ntohl(client->cmd_drops)); print_clientlog_interval(client->cmd_interval); printf(" "); print_seconds(ntohl(client->last_cmd_hit_ago)); diff --git a/cmdmon.c b/cmdmon.c index cd6e31c1..3662a903 100644 --- a/cmdmon.c +++ b/cmdmon.c @@ -1062,8 +1062,8 @@ handle_client_accesses_by_index(CMD_Request *rx_message, CMD_Reply *tx_message) UTI_IPHostToNetwork(&report.ip_addr, &client->ip); client->ntp_hits = htonl(report.ntp_hits); client->cmd_hits = htonl(report.cmd_hits); - client->ntp_drops = htons(report.ntp_drops); - client->cmd_drops = htons(report.cmd_drops); + client->ntp_drops = htonl(report.ntp_drops); + client->cmd_drops = htonl(report.cmd_drops); client->ntp_interval = report.ntp_interval; client->cmd_interval = report.cmd_interval; client->ntp_timeout_interval = report.ntp_timeout_interval;