Adds first PoC for the operator offset feature

This commit is contained in:
Felipe Zimmerle
2017-01-19 14:34:48 -03:00
committed by Felipe Zimmerle
parent 9a8fc3116a
commit ecbf292f6d
89 changed files with 2908 additions and 105 deletions

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_ARGS_COMBINED_SIZE_H_
#define SRC_VARIABLES_ARGS_COMBINED_SIZE_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ArgsCombinedSize : public Variable {
public:
ArgsCombinedSize()
: Variable("ARGS_COMBINED_SIZE") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableARGScombinedSize.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_ARGS_COMBINED_SIZE_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_ARGS_NAMES_GET_H_
#define SRC_VARIABLES_ARGS_NAMES_GET_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ArgsGetNames : public Variable {
public:
ArgsGetNames()
: Variable("ARGS_GET_NAMES") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableArgGetNames.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_ARGS_NAMES_GET_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_ARGS_NAMES_H_
#define SRC_VARIABLES_ARGS_NAMES_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ArgsNames : public Variable {
public:
ArgsNames()
: Variable("ARGS_NAMES") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableArgsNames.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_ARGS_NAMES_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_ARGS_NAMES_POST_H_
#define SRC_VARIABLES_ARGS_NAMES_POST_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ArgsPostNames : public Variable {
public:
ArgsPostNames()
: Variable("ARGS_POST_NAMES") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableArgPostNames.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_ARGS_NAMES_POST_H_

47
src/variables/auth_type.h Normal file
View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_AUTH_TYPE_H_
#define SRC_VARIABLES_AUTH_TYPE_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class AuthType : public Variable {
public:
AuthType()
: Variable("AUTH_TYPE") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableAuthType.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_AUTH_TYPE_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_FILES_COMBINED_SIZE_H_
#define SRC_VARIABLES_FILES_COMBINED_SIZE_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class FilesCombinedSize : public Variable {
public:
FilesCombinedSize()
: Variable("FILES_COMBINED_SIZE") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableFilesCombinedSize.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_FILES_COMBINED_SIZE_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_FILES_TMP_NAMES_H_
#define SRC_VARIABLES_FILES_TMP_NAMES_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class FilesTmpNames : public Variable {
public:
FilesTmpNames()
: Variable("FILES_TMPNAMES") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableFilesTmpNames.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_FILES_TMP_NAMES_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_FULL_REQUEST_H_
#define SRC_VARIABLES_FULL_REQUEST_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class FullRequest : public Variable {
public:
FullRequest()
: Variable("FULL_REQUEST") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableFullRequest.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_FULL_REQUEST_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_FULL_REQUEST_LENGTH_H_
#define SRC_VARIABLES_FULL_REQUEST_LENGTH_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class FullRequestLength : public Variable {
public:
FullRequestLength()
: Variable("FULL_REQUEST_LENGTH") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableFullRequestLength.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_FULL_REQUEST_LENGTH_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_INBOUND_DATA_ERROR_H_
#define SRC_VARIABLES_INBOUND_DATA_ERROR_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class InboundDataError : public Variable {
public:
InboundDataError()
: Variable("INBOUND_DATA_ERROR") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableInboundDataError.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_INBOUND_DATA_ERROR_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_MATCHED_VAR_H_
#define SRC_VARIABLES_MATCHED_VAR_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class MatchedVar : public Variable {
public:
MatchedVar()
: Variable("MATCHED_VAR") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableMatchedVar.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_MATCHED_VAR_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_MATCHED_VAR_NAME_H_
#define SRC_VARIABLES_MATCHED_VAR_NAME_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class MatchedVarName : public Variable {
public:
MatchedVarName()
: Variable("MATCHED_VAR_NAME") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableMatchedVarName.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_MATCHED_VAR_NAME_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_MULTIPART_CRLF_LF_LINES_H_
#define SRC_VARIABLES_MULTIPART_CRLF_LF_LINES_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class MultipartCrlfLFLines : public Variable {
public:
MultipartCrlfLFLines()
: Variable("MULTIPART_CRLF_LF_LINES") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableMultipartCrlfLFLines.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_MULTIPART_CRLF_LF_LINES_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_MULTIPART_DATA_AFTER_H_
#define SRC_VARIABLES_MULTIPART_DATA_AFTER_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class MultipartDateAfter : public Variable {
public:
MultipartDateAfter()
: Variable("MULTIPART_DATA_AFTER") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableMultipartDataAfter.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_MULTIPART_DATA_AFTER_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_MULTIPART_FILE_LIMIT_EXCEEDED_H_
#define SRC_VARIABLES_MULTIPART_FILE_LIMIT_EXCEEDED_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class MultipartFileLimitExceeded : public Variable {
public:
MultipartFileLimitExceeded()
: Variable("MULTIPART_FILE_LIMIT_EXCEEDED") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableMultipartFileLimitExceeded.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_MULTIPART_FILE_LIMIT_EXCEEDED_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_MULTIPART_HEADER_FOLDING_H_
#define SRC_VARIABLES_MULTIPART_HEADER_FOLDING_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class MultipartHeaderFolding : public Variable {
public:
MultipartHeaderFolding()
: Variable("MULTIPART_HEADER_FOLDING") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableMultipartHeaderFolding.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_MULTIPART_HEADER_FOLDING_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_MULTIPART_INVALID_HEADER_FOLDING_H_
#define SRC_VARIABLES_MULTIPART_INVALID_HEADER_FOLDING_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class MultipartInvalidHeaderFolding : public Variable {
public:
MultipartInvalidHeaderFolding()
: Variable("MULTIPART_INVALID_HEADER_FOLDING") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableMultipartInvalidHeaderFolding.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_MULTIPART_INVALID_HEADER_FOLDING_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_MULTIPART_INVALID_QUOTING_H_
#define SRC_VARIABLES_MULTIPART_INVALID_QUOTING_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class MultipartInvalidQuoting : public Variable {
public:
MultipartInvalidQuoting()
: Variable("MULTIPART_INVALID_QUOTING") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableMultipartInvalidQuoting.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_MULTIPART_INVALID_QUOTING_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_MULTIPART_STRICT_ERROR_H_
#define SRC_VARIABLES_MULTIPART_STRICT_ERROR_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class MultipartStrictError : public Variable {
public:
MultipartStrictError()
: Variable("MULTIPART_STRICT_ERROR") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableMultipartStrictError.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_MULTIPART_STRICT_ERROR_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_MULTIPART_UNMATCHED_BOUNDARY_H_
#define SRC_VARIABLES_MULTIPART_UNMATCHED_BOUNDARY_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class MultipartUnmatchedBoundary : public Variable {
public:
MultipartUnmatchedBoundary()
: Variable("MULTIPART_UNMATCHED_BOUNDARY") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableMultipartUnmatchedBoundary.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_ARGS_NAMES_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_OUTBOUND_DATA_ERROR_H_
#define SRC_VARIABLES_OUTBOUND_DATA_ERROR_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class OutboundDataError : public Variable {
public:
OutboundDataError()
: Variable("OUTBOUND_DATA_ERROR") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableOutboundDataError.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_OUTBOUND_DATA_ERROR_H_

47
src/variables/path_info.h Normal file
View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_PATH_INFO_H_
#define SRC_VARIABLES_PATH_INFO_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class PathInfo : public Variable {
public:
PathInfo()
: Variable("PATH_INFO") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variablePathInfo.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_PATH_INFO_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_QUERY_STRING_H_
#define SRC_VARIABLES_QUERY_STRING_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class QueryString : public Variable {
public:
QueryString()
: Variable("QUERY_STRING") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableQueryString.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_QUERY_STRING_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REMOTE_ADDR_H_
#define SRC_VARIABLES_REMOTE_ADDR_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RemoteAddr : public Variable {
public:
RemoteAddr()
: Variable("REMOTE_ADDR") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRemoteAddr.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REMOTE_ADDR_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REMOTE_HOST_H_
#define SRC_VARIABLES_REMOTE_HOST_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RemoteHost : public Variable {
public:
RemoteHost()
: Variable("REMOTE_HOST") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRemoteHost.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REMOTE_HOST_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REMOTE_PORT_H_
#define SRC_VARIABLES_REMOTE_PORT_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RemotePort : public Variable {
public:
RemotePort()
: Variable("REMOTE_PORT") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRemotePort.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REMOTE_PORT_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQBODY_ERROR_H_
#define SRC_VARIABLES_REQBODY_ERROR_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ReqbodyError : public Variable {
public:
ReqbodyError()
: Variable("REQBODY_ERROR") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableReqbodyError.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQBODY_ERROR_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQBODY_ERROR_MSG_H_
#define SRC_VARIABLES_REQBODY_ERROR_MSG_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ReqbodyErrorMsg : public Variable {
public:
ReqbodyErrorMsg()
: Variable("REQBODY_ERROR_MSG") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableReqbodyErrorMsg.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQBODY_ERROR_MSG_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQBODY_PROCESSOR_H_
#define SRC_VARIABLES_REQBODY_PROCESSOR_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ReqbodyProcessor : public Variable {
public:
ReqbodyProcessor()
: Variable("REQBODY_PROCESSOR") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableReqbodyProcessor.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQBODY_PROCESSOR_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQBODY_PROCESSOR_ERROR_H_
#define SRC_VARIABLES_REQBODY_PROCESSOR_ERROR_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ReqbodyProcessorError : public Variable {
public:
ReqbodyProcessorError()
: Variable("REQBODY_PROCESSOR_ERROR") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableReqbodyProcessorError.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQBODY_PROCESSOR_ERROR_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_PROCESSOR_ERROR_MSG_H_
#define SRC_VARIABLES_PROCESSOR_ERROR_MSG_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ReqbodyProcessorErrorMsg : public Variable {
public:
ReqbodyProcessorErrorMsg()
: Variable("PROCESSOR_ERROR_MSG") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableReqbodyProcessorErrorMsg.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_PROCESSOR_ERROR_MSG_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQUEST_BASENAME_H_
#define SRC_VARIABLES_REQUEST_BASENAME_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RequestBasename : public Variable {
public:
RequestBasename()
: Variable("REQUEST_BASENAME") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRequestBasename.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQUEST_BASENAME_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQUEST_BODY_H_
#define SRC_VARIABLES_REQUEST_BODY_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RequestBody : public Variable {
public:
RequestBody()
: Variable("REQUEST_BODY") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRequestBody.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQUEST_BODY_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQUEST_BODY_LENGTH_H_
#define SRC_VARIABLES_REQUEST_BODY_LENGTH_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RequestBodyLength : public Variable {
public:
RequestBodyLength()
: Variable("REQUEST_BODY_LENGTH") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRequestBodyLength.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQUEST_BODY_LENGTH_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQUEST_FILENAME_H_
#define SRC_VARIABLES_REQUEST_FILENAME_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RequestFilename : public Variable {
public:
RequestFilename()
: Variable("REQUEST_FILENAME") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRequestFilename.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQUEST_FILENAME_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQUEST_HEADERS_NAMES_H_
#define SRC_VARIABLES_REQUEST_HEADERS_NAMES_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RequestHeadersNames : public Variable {
public:
RequestHeadersNames()
: Variable("REQUEST_HEADERS_NAMES") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRequestHeadersNames.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_TIMEARG_NAMES_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQUEST_LINE_H_
#define SRC_VARIABLES_REQUEST_LINE_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RequestLine : public Variable {
public:
RequestLine()
: Variable("REQUEST_LINE") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRequestLine.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQUEST_LINE_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQUEST_METHOD_H_
#define SRC_VARIABLES_REQUEST_METHOD_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RequestMethod : public Variable {
public:
RequestMethod()
: Variable("REQUEST_METHOD") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRequestMethod.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQUEST_METHOD_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQUEST_PROTOCOL_H_
#define SRC_VARIABLES_REQUEST_PROTOCOL_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RequestProtocol : public Variable {
public:
RequestProtocol()
: Variable("REQUEST_PROTOCOL") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRequestProtocol.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQUEST_PROTOCOL_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQUEST_URI_H_
#define SRC_VARIABLES_REQUEST_URI_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RequestURI : public Variable {
public:
RequestURI()
: Variable("REQUEST_URI") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRequestURI.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQUEST_URI_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_REQUEST_URI_RAW_H_
#define SRC_VARIABLES_REQUEST_URI_RAW_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class RequestURIRaw : public Variable {
public:
RequestURIRaw()
: Variable("REQUEST_URI_RAW") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableRequestURIRaw.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_REQUEST_URI_RAW_H_

47
src/variables/resources.h Normal file
View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_RESOURCE_H_
#define SRC_VARIABLES_RESOURCE_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class Resource : public Variable {
public:
Resource()
: Variable("RESOURCE") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableResource.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_RESOURCE_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_RESPONSE_BODY_H_
#define SRC_VARIABLES_RESPONSE_BODY_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ResponseBody : public Variable {
public:
ResponseBody()
: Variable("RESPONSE_BODY") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableResponseBody.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_RESPONSE_BODY_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_RESPONSE_CONTENT_LENGTH_H_
#define SRC_VARIABLES_RESPONSE_CONTENT_LENGTH_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ResponseContentLength : public Variable {
public:
ResponseContentLength()
: Variable("RESPONSE_CONTENT_LENGTH") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableResponseContentLength.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_RESPONSE_CONTENT_LENGTH_H_

View File

@@ -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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_RESPONSE_CONTENT_TYPE_H_
#define SRC_VARIABLES_RESPONSE_CONTENT_TYPE_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ResponseContentType : public Variable {
public:
ResponseContentType()
: Variable("RESPONSE_CONTENT_TYPE") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableResponseContentType.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_RESPONSE_CONTENT_TYPE_H_

View File

@@ -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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_ARG_NAMES_H_
#define SRC_VARIABLES_ARG_NAMES_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ResponseHeadersNames : public Variable {
public:
ResponseHeadersNames()
: Variable("RESPONSE_HEADERS_NAMES") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableResponseHeadersNames.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_TIMEARG_NAMES_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_RESPONSE_PROTOCOL_H_
#define SRC_VARIABLES_RESPONSE_PROTOCOL_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ResponseProtocol : public Variable {
public:
ResponseProtocol()
: Variable("RESPONSE_PROTOCOL") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableResponseProtocol.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_RESPONSE_PROTOCOL_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_RESPONSE_STATUS_H_
#define SRC_VARIABLES_RESPONSE_STATUS_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ResponseStatus : public Variable {
public:
ResponseStatus()
: Variable("RESPONSE_STATUS") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableResponseStatus.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_RESPONSE_STATUS_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_SERVER_ADDR_H_
#define SRC_VARIABLES_SERVER_ADDR_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ServerAddr : public Variable {
public:
ServerAddr()
: Variable("SERVER_ADDR") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableServerAddr.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_SERVER_ADDR_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_SERVER_NAME_H_
#define SRC_VARIABLES_SERVER_NAME_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ServerName : public Variable {
public:
ServerName()
: Variable("SERVER_NAME") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableServerName.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_SERVER_NAME_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_SERVER_PORT_H_
#define SRC_VARIABLES_SERVER_PORT_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class ServerPort : public Variable {
public:
ServerPort()
: Variable("SERVER_PORT") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableServerPort.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_SERVER_PORT_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_SESSION_ID_H_
#define SRC_VARIABLES_SESSION_ID_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class SessionID : public Variable {
public:
SessionID()
: Variable("SESSIONID") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableSessionID.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_SESSION_ID_H_

47
src/variables/unique_id.h Normal file
View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_UNIQUE_ID_H_
#define SRC_VARIABLES_UNIQUE_ID_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class UniqueID : public Variable {
public:
UniqueID()
: Variable("UNIQUEID") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableUniqueID.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_UNIQUE_ID_H_

View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_URL_ENCODED_ERROR_H_
#define SRC_VARIABLES_URL_ENCODED_ERROR_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class UrlEncodedError : public Variable {
public:
UrlEncodedError()
: Variable("URLENCODED_ERROR") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableUrlEncodedError.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_URL_ENCODED_ERROR_H_

47
src/variables/user_id.h Normal file
View File

@@ -0,0 +1,47 @@
/*
* 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 <iostream>
#include <string>
#include <vector>
#include <list>
#include <utility>
#ifndef SRC_VARIABLES_USER_ID_H_
#define SRC_VARIABLES_USER_ID_H_
#include "src/variables/variable.h"
namespace modsecurity {
class Transaction;
namespace Variables {
class UserID : public Variable {
public:
UserID()
: Variable("USERID") { }
void evaluateInternal(Transaction *transaction,
std::vector<const collection::Variable *> *l) {
transaction->m_variableUserID.evaluate(l);
}
};
} // namespace Variables
} // namespace modsecurity
#endif // SRC_VARIABLES_USER_ID_H_