Prevent calls to command API while the configuration is reloading.

Fixes #9840
This commit is contained in:
Mattia Codato 2023-08-03 14:05:23 +02:00
parent 7ae91ce504
commit 41e21cb8cf
1 changed files with 8 additions and 0 deletions

View File

@ -1,5 +1,6 @@
/* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
#include "remote/configobjectslock.hpp"
#include "remote/consolehandler.hpp"
#include "remote/httputility.hpp"
#include "remote/filterutility.hpp"
@ -88,6 +89,13 @@ bool ConsoleHandler::HandleRequest(
bool sandboxed = HttpUtility::GetLastParameter(params, "sandboxed");
ConfigObjectsSharedLock lock (std::try_to_lock);
if (!lock) {
HttpUtility::SendJsonError(response, params, 503, "Icinga is reloading.");
return true;
}
if (methodName == "execute-script")
return ExecuteScriptHelper(request, response, params, command, session, sandboxed);
else if (methodName == "auto-complete-script")