cmdmon: add new fields to ADD_SERVER/ADD_PEER request
This commit is contained in:
parent
8ccda538d3
commit
5ab645e310
4 changed files with 22 additions and 7 deletions
7
candm.h
7
candm.h
|
@ -97,7 +97,9 @@
|
||||||
#define REQ_NTP_DATA 57
|
#define REQ_NTP_DATA 57
|
||||||
#define REQ_ADD_SERVER2 58
|
#define REQ_ADD_SERVER2 58
|
||||||
#define REQ_ADD_PEER2 59
|
#define REQ_ADD_PEER2 59
|
||||||
#define N_REQUEST_TYPES 60
|
#define REQ_ADD_SERVER3 60
|
||||||
|
#define REQ_ADD_PEER3 61
|
||||||
|
#define N_REQUEST_TYPES 62
|
||||||
|
|
||||||
/* Structure used to exchange timespecs independent of time_t size */
|
/* Structure used to exchange timespecs independent of time_t size */
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -267,8 +269,11 @@ typedef struct {
|
||||||
Float max_delay;
|
Float max_delay;
|
||||||
Float max_delay_ratio;
|
Float max_delay_ratio;
|
||||||
Float max_delay_dev_ratio;
|
Float max_delay_dev_ratio;
|
||||||
|
Float min_delay;
|
||||||
|
Float asymmetry;
|
||||||
Float offset;
|
Float offset;
|
||||||
uint32_t flags;
|
uint32_t flags;
|
||||||
|
uint32_t reserved[4];
|
||||||
int32_t EOR;
|
int32_t EOR;
|
||||||
} REQ_NTP_Source;
|
} REQ_NTP_Source;
|
||||||
|
|
||||||
|
|
8
client.c
8
client.c
|
@ -1101,6 +1101,8 @@ process_cmd_add_server_or_peer(CMD_Request *msg, char *line)
|
||||||
msg->data.ntp_source.max_delay_ratio = UTI_FloatHostToNetwork(data.params.max_delay_ratio);
|
msg->data.ntp_source.max_delay_ratio = UTI_FloatHostToNetwork(data.params.max_delay_ratio);
|
||||||
msg->data.ntp_source.max_delay_dev_ratio =
|
msg->data.ntp_source.max_delay_dev_ratio =
|
||||||
UTI_FloatHostToNetwork(data.params.max_delay_dev_ratio);
|
UTI_FloatHostToNetwork(data.params.max_delay_dev_ratio);
|
||||||
|
msg->data.ntp_source.min_delay = UTI_FloatHostToNetwork(data.params.min_delay);
|
||||||
|
msg->data.ntp_source.asymmetry = UTI_FloatHostToNetwork(data.params.asymmetry);
|
||||||
msg->data.ntp_source.offset = UTI_FloatHostToNetwork(data.params.offset);
|
msg->data.ntp_source.offset = UTI_FloatHostToNetwork(data.params.offset);
|
||||||
msg->data.ntp_source.flags = htonl(
|
msg->data.ntp_source.flags = htonl(
|
||||||
(data.params.online ? REQ_ADDSRC_ONLINE : 0) |
|
(data.params.online ? REQ_ADDSRC_ONLINE : 0) |
|
||||||
|
@ -1111,6 +1113,8 @@ process_cmd_add_server_or_peer(CMD_Request *msg, char *line)
|
||||||
(data.params.sel_options & SRC_SELECT_NOSELECT ? REQ_ADDSRC_NOSELECT : 0) |
|
(data.params.sel_options & SRC_SELECT_NOSELECT ? REQ_ADDSRC_NOSELECT : 0) |
|
||||||
(data.params.sel_options & SRC_SELECT_TRUST ? REQ_ADDSRC_TRUST : 0) |
|
(data.params.sel_options & SRC_SELECT_TRUST ? REQ_ADDSRC_TRUST : 0) |
|
||||||
(data.params.sel_options & SRC_SELECT_REQUIRE ? REQ_ADDSRC_REQUIRE : 0));
|
(data.params.sel_options & SRC_SELECT_REQUIRE ? REQ_ADDSRC_REQUIRE : 0));
|
||||||
|
memset(msg->data.ntp_source.reserved, 0, sizeof (msg->data.ntp_source.reserved));
|
||||||
|
|
||||||
result = 1;
|
result = 1;
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -1124,7 +1128,7 @@ process_cmd_add_server_or_peer(CMD_Request *msg, char *line)
|
||||||
static int
|
static int
|
||||||
process_cmd_add_server(CMD_Request *msg, char *line)
|
process_cmd_add_server(CMD_Request *msg, char *line)
|
||||||
{
|
{
|
||||||
msg->command = htons(REQ_ADD_SERVER2);
|
msg->command = htons(REQ_ADD_SERVER3);
|
||||||
return process_cmd_add_server_or_peer(msg, line);
|
return process_cmd_add_server_or_peer(msg, line);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1133,7 +1137,7 @@ process_cmd_add_server(CMD_Request *msg, char *line)
|
||||||
static int
|
static int
|
||||||
process_cmd_add_peer(CMD_Request *msg, char *line)
|
process_cmd_add_peer(CMD_Request *msg, char *line)
|
||||||
{
|
{
|
||||||
msg->command = htons(REQ_ADD_PEER2);
|
msg->command = htons(REQ_ADD_PEER3);
|
||||||
return process_cmd_add_server_or_peer(msg, line);
|
return process_cmd_add_server_or_peer(msg, line);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
8
cmdmon.c
8
cmdmon.c
|
@ -136,6 +136,8 @@ static const char permissions[] = {
|
||||||
PERMIT_AUTH, /* NTP_DATA */
|
PERMIT_AUTH, /* NTP_DATA */
|
||||||
PERMIT_AUTH, /* ADD_SERVER2 */
|
PERMIT_AUTH, /* ADD_SERVER2 */
|
||||||
PERMIT_AUTH, /* ADD_PEER2 */
|
PERMIT_AUTH, /* ADD_PEER2 */
|
||||||
|
PERMIT_AUTH, /* ADD_SERVER3 */
|
||||||
|
PERMIT_AUTH, /* ADD_PEER3 */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* ================================================== */
|
/* ================================================== */
|
||||||
|
@ -791,6 +793,8 @@ handle_add_source(NTP_Source_Type type, CMD_Request *rx_message, CMD_Reply *tx_m
|
||||||
UTI_FloatNetworkToHost(rx_message->data.ntp_source.max_delay_ratio);
|
UTI_FloatNetworkToHost(rx_message->data.ntp_source.max_delay_ratio);
|
||||||
params.max_delay_dev_ratio =
|
params.max_delay_dev_ratio =
|
||||||
UTI_FloatNetworkToHost(rx_message->data.ntp_source.max_delay_dev_ratio);
|
UTI_FloatNetworkToHost(rx_message->data.ntp_source.max_delay_dev_ratio);
|
||||||
|
params.min_delay = UTI_FloatNetworkToHost(rx_message->data.ntp_source.min_delay);
|
||||||
|
params.asymmetry = UTI_FloatNetworkToHost(rx_message->data.ntp_source.asymmetry);
|
||||||
params.offset = UTI_FloatNetworkToHost(rx_message->data.ntp_source.offset);
|
params.offset = UTI_FloatNetworkToHost(rx_message->data.ntp_source.offset);
|
||||||
|
|
||||||
params.online = ntohl(rx_message->data.ntp_source.flags) & REQ_ADDSRC_ONLINE ? 1 : 0;
|
params.online = ntohl(rx_message->data.ntp_source.flags) & REQ_ADDSRC_ONLINE ? 1 : 0;
|
||||||
|
@ -1525,11 +1529,11 @@ read_from_cmd_socket(int sock_fd, int event, void *anything)
|
||||||
handle_cmdaccheck(&rx_message, &tx_message);
|
handle_cmdaccheck(&rx_message, &tx_message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case REQ_ADD_SERVER2:
|
case REQ_ADD_SERVER3:
|
||||||
handle_add_source(NTP_SERVER, &rx_message, &tx_message);
|
handle_add_source(NTP_SERVER, &rx_message, &tx_message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case REQ_ADD_PEER2:
|
case REQ_ADD_PEER3:
|
||||||
handle_add_source(NTP_PEER, &rx_message, &tx_message);
|
handle_add_source(NTP_PEER, &rx_message, &tx_message);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
|
@ -114,8 +114,10 @@ static const struct request_length request_lengths[] = {
|
||||||
client_accesses_by_index), /* CLIENT_ACCESSES_BY_INDEX2 */
|
client_accesses_by_index), /* CLIENT_ACCESSES_BY_INDEX2 */
|
||||||
REQ_LENGTH_ENTRY(local, null), /* LOCAL2 */
|
REQ_LENGTH_ENTRY(local, null), /* LOCAL2 */
|
||||||
REQ_LENGTH_ENTRY(ntp_data, ntp_data), /* NTP_DATA */
|
REQ_LENGTH_ENTRY(ntp_data, ntp_data), /* NTP_DATA */
|
||||||
REQ_LENGTH_ENTRY(ntp_source, null), /* ADD_SERVER2 */
|
{ 0, 0 }, /* ADD_SERVER2 */
|
||||||
REQ_LENGTH_ENTRY(ntp_source, null), /* ADD_PEER2 */
|
{ 0, 0 }, /* ADD_PEER2 */
|
||||||
|
REQ_LENGTH_ENTRY(ntp_source, null), /* ADD_SERVER3 */
|
||||||
|
REQ_LENGTH_ENTRY(ntp_source, null), /* ADD_PEER3 */
|
||||||
};
|
};
|
||||||
|
|
||||||
static const uint16_t reply_lengths[] = {
|
static const uint16_t reply_lengths[] = {
|
||||||
|
|
Loading…
Reference in a new issue