mirror of https://github.com/Icinga/icinga2.git
parent
a6335a7cdf
commit
1a3f7d774c
|
@ -111,9 +111,7 @@ void ExternalCommandListener::CommandPipeThread(const String& commandPath)
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Log(LogNotice, "ExternalCommandListener", "Client connected");
|
||||
Log(LogDebug, "ExternalCommandListener", "Client connected");
|
||||
Utility::QueueAsyncCallback(boost::bind(&ExternalCommandListener::ClientHandler, this, commandPath, fd));
|
||||
} catch (std::exception&) {
|
||||
Log(LogCritical, "ExternalCommandListener", "Cannot accept new connection.");
|
||||
|
@ -144,6 +142,19 @@ void ExternalCommandListener::ClientHandler(const String& commandPath, int fd)
|
|||
|
||||
String command = line;
|
||||
|
||||
if (command.IsEmpty()) {
|
||||
fclose(fp);
|
||||
return;
|
||||
}
|
||||
|
||||
/* check if line contains [$unixts] */
|
||||
if (line[0] != '[' || line[11] != ']') {
|
||||
Log(LogDebug, "ExternalCommandListener", "Cannot find timestamp prefix in external command '" + command + "'. Bailing out.");
|
||||
delete line;
|
||||
fclose(fp);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
Log(LogInformation, "ExternalCommandListener", "Executing external command: " + command);
|
||||
|
||||
|
@ -152,7 +163,6 @@ void ExternalCommandListener::ClientHandler(const String& commandPath, int fd)
|
|||
std::ostringstream msgbuf;
|
||||
msgbuf << "External command failed.";
|
||||
Log(LogWarning, "ExternalCommandListener", msgbuf.str());
|
||||
return;
|
||||
}
|
||||
|
||||
delete line;
|
||||
|
|
|
@ -89,6 +89,6 @@ else
|
|||
fi
|
||||
|
||||
echo "Sending '$ECHO $CMDLINE >> $CMDFILE'"
|
||||
`$ECHO $CMDLINE >> $CMDFILE`
|
||||
`$ECHO "$CMDLINE" >> $CMDFILE`
|
||||
|
||||
exit 0
|
||||
|
|
Loading…
Reference in New Issue