Felipe Zimmerle ed8b0c85d7 Fix `capture' memory management
The capture action was implemented before the transaction concept.
While partially ported to use the transaction, some of the elements
were not freed correctly. Now it is fully ported to use the class
Transaction.
2016-02-16 23:24:15 -03:00

44 lines
1.1 KiB
C++

/*
* 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.
*
*/
#ifndef SRC_OPERATORS_CONTAINS_H_
#define SRC_OPERATORS_CONTAINS_H_
#include <string>
#include <list>
#include "modsecurity/transaction.h"
#include "operators/operator.h"
#ifdef __cplusplus
namespace modsecurity {
namespace operators {
class Contains : public Operator {
public:
/** @ingroup ModSecurity_Operator */
Contains(std::string op, std::string param, bool negation)
: Operator(op, param, negation) { }
bool evaluate(Transaction *transaction, const std::string &exp) override;
};
} // namespace operators
} // namespace modsecurity
#endif
#endif // SRC_OPERATORS_CONTAINS_H_