mirror of
https://github.com/owasp-modsecurity/ModSecurity.git
synced 2025-09-30 11:44:32 +03:00
Implemented merge_boolean_value() for ConfigBoolean
This change makes the following directives to be merged properly: SecRequestBodyAccess SecResponseBodyAccess SecXmlExternalEntity SecUploadKeepFiles SecTmpSaveUploadedFiles
This commit is contained in:
committed by
Felipe Zimmerle
parent
2d11ff1a14
commit
161c256333
@@ -37,6 +37,11 @@
|
|||||||
|
|
||||||
#define CODEPAGE_SEPARATORS " \t\n\r"
|
#define CODEPAGE_SEPARATORS " \t\n\r"
|
||||||
|
|
||||||
|
#define merge_boolean_value(to, from, default) \
|
||||||
|
if (to == PropertyNotSetConfigBoolean) { \
|
||||||
|
to = (from == PropertyNotSetConfigBoolean) ? default : from; \
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
||||||
namespace modsecurity {
|
namespace modsecurity {
|
||||||
@@ -348,25 +353,25 @@ class RulesProperties {
|
|||||||
to->m_secRuleEngine = from->m_secRuleEngine;
|
to->m_secRuleEngine = from->m_secRuleEngine;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (from->m_secRequestBodyAccess != PropertyNotSetConfigBoolean) {
|
merge_boolean_value(to->m_secRequestBodyAccess,
|
||||||
to->m_secRequestBodyAccess = from->m_secRequestBodyAccess;
|
from->m_secRequestBodyAccess,
|
||||||
}
|
PropertyNotSetConfigBoolean);
|
||||||
|
|
||||||
if (from->m_secResponseBodyAccess != PropertyNotSetConfigBoolean) {
|
merge_boolean_value(to->m_secResponseBodyAccess,
|
||||||
to->m_secResponseBodyAccess = from->m_secResponseBodyAccess;
|
from->m_secResponseBodyAccess,
|
||||||
}
|
PropertyNotSetConfigBoolean);
|
||||||
|
|
||||||
if (from->m_secXMLExternalEntity != PropertyNotSetConfigBoolean) {
|
merge_boolean_value(to->m_secXMLExternalEntity,
|
||||||
to->m_secXMLExternalEntity = from->m_secXMLExternalEntity;
|
from->m_secXMLExternalEntity,
|
||||||
}
|
PropertyNotSetConfigBoolean);
|
||||||
|
|
||||||
if (from->m_uploadKeepFiles != PropertyNotSetConfigBoolean) {
|
merge_boolean_value(to->m_uploadKeepFiles,
|
||||||
to->m_uploadKeepFiles = from->m_uploadKeepFiles;
|
from->m_uploadKeepFiles,
|
||||||
}
|
PropertyNotSetConfigBoolean);
|
||||||
|
|
||||||
if (from->m_tmpSaveUploadedFiles != PropertyNotSetConfigBoolean) {
|
merge_boolean_value(to->m_tmpSaveUploadedFiles,
|
||||||
to->m_tmpSaveUploadedFiles = from->m_tmpSaveUploadedFiles;
|
from->m_tmpSaveUploadedFiles,
|
||||||
}
|
PropertyNotSetConfigBoolean);
|
||||||
|
|
||||||
to->m_requestBodyLimit.merge(&from->m_requestBodyLimit);
|
to->m_requestBodyLimit.merge(&from->m_requestBodyLimit);
|
||||||
to->m_responseBodyLimit.merge(&from->m_responseBodyLimit);
|
to->m_responseBodyLimit.merge(&from->m_responseBodyLimit);
|
||||||
|
Reference in New Issue
Block a user