Add polltarget command

This commit is contained in:
Miroslav Lichvar
2010-10-14 15:08:35 +02:00
parent 7ab2c0e4a5
commit bed5b72cbe
9 changed files with 119 additions and 2 deletions

View File

@@ -159,7 +159,8 @@ static int permissions[] = {
PERMIT_AUTH, /* MANUAL_DELETE */
PERMIT_AUTH, /* MAKESTEP */
PERMIT_OPEN, /* ACTIVITY */
PERMIT_AUTH /* MODIFY_MINSTRATUM */
PERMIT_AUTH, /* MODIFY_MINSTRATUM */
PERMIT_AUTH /* MODIFY_POLLTARGET */
};
/* ================================================== */
@@ -921,6 +922,24 @@ handle_modify_minstratum(CMD_Request *rx_message, CMD_Reply *tx_message)
/* ================================================== */
static void
handle_modify_polltarget(CMD_Request *rx_message, CMD_Reply *tx_message)
{
int status;
IPAddr address;
UTI_IPNetworkToHost(&rx_message->data.modify_polltarget.address, &address);
status = NSR_ModifyPolltarget(&address,
ntohl(rx_message->data.modify_polltarget.new_poll_target));
if (status) {
tx_message->status = htons(STT_SUCCESS);
} else {
tx_message->status = htons(STT_NOSUCHSOURCE);
}
}
/* ================================================== */
static void
handle_modify_maxupdateskew(CMD_Request *rx_message, CMD_Reply *tx_message)
{
@@ -2198,6 +2217,10 @@ read_from_cmd_socket(void *anything)
handle_modify_minstratum(&rx_message, &tx_message);
break;
case REQ_MODIFY_POLLTARGET:
handle_modify_polltarget(&rx_message, &tx_message);
break;
default:
/* Ignore message */
break;