cmdmon: limit rate of all responses
Include responses to invalid requests in the rate limiting enabled by the cmdratelimit directive.
This commit is contained in:
parent
8cb689a5e6
commit
e5b9b6d701
1 changed files with 9 additions and 9 deletions
18
cmdmon.c
18
cmdmon.c
|
@ -1341,6 +1341,15 @@ read_from_cmd_socket(int sock_fd, int event, void *anything)
|
|||
return;
|
||||
}
|
||||
|
||||
log_index = CLG_LogCommandAccess(&remote_ip, &cooked_now);
|
||||
|
||||
/* Don't reply to all requests from hosts other than localhost if the rate
|
||||
is excessive */
|
||||
if (!localhost && log_index >= 0 && CLG_LimitCommandResponseRate(log_index)) {
|
||||
DEBUG_LOG("Command packet discarded to limit response rate");
|
||||
return;
|
||||
}
|
||||
|
||||
expected_length = PKL_CommandLength(&rx_message);
|
||||
rx_command = ntohs(rx_message.command);
|
||||
|
||||
|
@ -1384,15 +1393,6 @@ read_from_cmd_socket(int sock_fd, int event, void *anything)
|
|||
|
||||
/* OK, we have a valid message. Now dispatch on message type and process it. */
|
||||
|
||||
log_index = CLG_LogCommandAccess(&remote_ip, &cooked_now);
|
||||
|
||||
/* Don't reply to all requests from hosts other than localhost if the rate
|
||||
is excessive */
|
||||
if (!localhost && log_index >= 0 && CLG_LimitCommandResponseRate(log_index)) {
|
||||
DEBUG_LOG("Command packet discarded to limit response rate");
|
||||
return;
|
||||
}
|
||||
|
||||
if (rx_command >= N_REQUEST_TYPES) {
|
||||
/* This should be already handled */
|
||||
assert(0);
|
||||
|
|
Loading…
Reference in a new issue