From a168502717ebd262302f46dd8d2494ec6e56907c Mon Sep 17 00:00:00 2001 From: Felipe Zimmerle Date: Mon, 24 Aug 2015 11:17:11 -0300 Subject: [PATCH] Adds missing file --- src/actions/log_data.cc | 46 +++++++++++++++++++++++++++++++++++++++++ src/actions/log_data.h | 44 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 src/actions/log_data.cc create mode 100644 src/actions/log_data.h diff --git a/src/actions/log_data.cc b/src/actions/log_data.cc new file mode 100644 index 00000000..f093c13e --- /dev/null +++ b/src/actions/log_data.cc @@ -0,0 +1,46 @@ +/* + * ModSecurity, http://www.modsecurity.org/ + * Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) + * + * You may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * If any of the files related to licensing are missing or if you have any + * other questions related to licensing please contact Trustwave Holdings, Inc. + * directly using the email address security@modsecurity.org. + * + */ + +#include "actions/log_data.h" + +#include +#include + +#include "actions/action.h" +#include "modsecurity/assay.h" +#include "src/utils.h" +#include "src/macro_expansion.h" + +namespace ModSecurity { +namespace actions { + +LogData::LogData(std::string action) + : Action(action, RunTimeOnlyIfMatchKind), + m_data(action) { + m_data.erase(0, 1); + m_data.pop_back(); +} + + +bool LogData::evaluate(Rule *rule, Assay *assay) { + std::string msg = MacroExpansion::expand(m_data, assay); + assay->debug(9, "Saving msg: " + msg); + assay->rulesMessages.push_back(msg); + assay->serverLog(msg); + return true; +} + +} // namespace actions +} // namespace ModSecurity diff --git a/src/actions/log_data.h b/src/actions/log_data.h new file mode 100644 index 00000000..9acba14a --- /dev/null +++ b/src/actions/log_data.h @@ -0,0 +1,44 @@ +/* + * ModSecurity, http://www.modsecurity.org/ + * Copyright (c) 2015 Trustwave Holdings, Inc. (http://www.trustwave.com/) + * + * You may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * If any of the files related to licensing are missing or if you have any + * other questions related to licensing please contact Trustwave Holdings, Inc. + * directly using the email address security@modsecurity.org. + * + */ + +#include + +#include "actions/action.h" + +#ifndef SRC_ACTIONS_LOG_DATA_H_ +#define SRC_ACTIONS_LOG_DATA_H_ + +class Assay; + +namespace ModSecurity { +class Assay; +namespace actions { + + +class LogData : public Action { + public: + explicit LogData(std::string action); + + bool evaluate(Rule *rule, Assay *assay) override; + + private: + std::string m_data; +}; + + +} // namespace actions +} // namespace ModSecurity + +#endif // SRC_ACTIONS_LOG_DATA_H_