From: Gunnar Beutner Date: Wed, 23 Jan 2013 15:18:58 +0000 (+0100) Subject: Don't allow acknowledgements for services that are OK. X-Git-Tag: v0.0.2~669 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=116e4201677fd07b7dff327c259dc5219e83ac63;p=icinga2 Don't allow acknowledgements for services that are OK. --- diff --git a/lib/icinga/externalcommand.cpp b/lib/icinga/externalcommand.cpp index a4edf3745..6759d73a8 100644 --- a/lib/icinga/externalcommand.cpp +++ b/lib/icinga/externalcommand.cpp @@ -271,6 +271,9 @@ void ExternalCommand::AcknowledgeSvcProblem(double time, const vector& a Service::Ptr service = Service::GetByName(arguments[1]); + if (service->GetState() == StateOK) + throw_exception(invalid_argument("The service '" + arguments[1] + "' is OK.")); + Logger::Write(LogInformation, "icinga", "Setting acknowledgement for service '" + service->GetName() + "'"); service->SetAcknowledgement(sticky ? AcknowledgementSticky : AcknowledgementNormal); service->SetAcknowledgementExpiry(0); @@ -289,6 +292,9 @@ void ExternalCommand::AcknowledgeSvcProblemExpire(double time, const vectorGetState() == StateOK) + throw_exception(invalid_argument("The service '" + arguments[1] + "' is OK.")); + Logger::Write(LogInformation, "icinga", "Setting timed acknowledgement for service '" + service->GetName() + "'"); service->SetAcknowledgement(sticky ? AcknowledgementSticky : AcknowledgementNormal); service->SetAcknowledgementExpiry(timestamp);