Makes multipart debug messages goes over modsec debug log not stdout

This commit is contained in:
Felipe Zimmerle
2015-09-16 15:24:01 -03:00
parent a52a3a71ed
commit 5b18db779e
4 changed files with 10 additions and 9 deletions

View File

@@ -512,7 +512,7 @@ int Assay::processRequestBody() {
if (m_requestBodyType == MultiPartRequestBody) {
std::string *a = resolve_variable_first("REQUEST_HEADERS:Content-Type");
if (a != NULL) {
Multipart m(*a);
Multipart m(*a, this);
if (m.init() == true) {
m.process(m_requestBody.str());

View File

@@ -24,7 +24,7 @@
namespace ModSecurity {
namespace RequestBodyProcessor {
Multipart::Multipart(std:: string header)
Multipart::Multipart(std:: string header, Assay *assay)
: crlf(false),
containsDataAfter(false),
containsDataBefore(false),
@@ -33,6 +33,7 @@ Multipart::Multipart(std:: string header)
invalidQuote(false),
boundaryStartsWithWhiteSpace(false),
boundaryIsQuoted(false),
m_assay(assay),
m_header(header) {
}

View File

@@ -27,7 +27,7 @@ namespace RequestBodyProcessor {
class Multipart {
public:
explicit Multipart(std::string header);
Multipart(std::string header, Assay *assay);
bool init();
bool boundaryContainsOnlyValidCharacters();
@@ -46,12 +46,13 @@ class Multipart {
bool missingSemicolon;
bool invalidQuote;
private:
void debug(int a, std::string str) {
std::cout << "Debug: " << str << std::endl;
m_assay->debug(a, str);
}
private:
std::string m_boundary;
std::string m_header;
Assay *m_assay;
};
} // namespace RequestBodyProcessor

View File

@@ -32,15 +32,14 @@ class MultipartBlob {
bool processContentDispositionLine(const std::string &dispositionLine);
bool processContentTypeLine(const std::string &contentTypeLine);
void debug(int a, std::string str) {
std::cout << "Debug: " << str << std::endl;
}
bool invalidQuote;
std::string name;
std::string filename;
std::string contentType;
std::string content;
void debug(int a, std::string str) {
m_parent->debug(a, str);
}
private:
const std::string m_blob;
Multipart *m_parent;