Add minstratum command

This commit is contained in:
Miroslav Lichvar
2010-08-25 13:50:46 +02:00
parent e95676f65f
commit 78300d018a
9 changed files with 124 additions and 3 deletions

View File

@@ -158,7 +158,8 @@ static int permissions[] = {
PERMIT_OPEN, /* MANUAL_LIST */
PERMIT_AUTH, /* MANUAL_DELETE */
PERMIT_AUTH, /* MAKESTEP */
PERMIT_OPEN /* ACTIVITY */
PERMIT_OPEN, /* ACTIVITY */
PERMIT_AUTH /* MODIFY_MINSTRATUM */
};
/* ================================================== */
@@ -902,6 +903,24 @@ handle_modify_maxdelayratio(CMD_Request *rx_message, CMD_Reply *tx_message)
/* ================================================== */
static void
handle_modify_minstratum(CMD_Request *rx_message, CMD_Reply *tx_message)
{
int status;
IPAddr address;
UTI_IPNetworkToHost(&rx_message->data.modify_minpoll.address, &address);
status = NSR_ModifyMinstratum(&address,
ntohl(rx_message->data.modify_minstratum.new_min_stratum));
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)
{
@@ -2211,6 +2230,10 @@ read_from_cmd_socket(void *anything)
handle_activity(&rx_message, &tx_message);
break;
case REQ_MODIFY_MINSTRATUM:
handle_modify_minstratum(&rx_message, &tx_message);
break;
default:
/* Ignore message */
break;