22 #ifndef NDN_CXX_SECURITY_VALIDATOR_CONFIG_CHECKER_HPP
23 #define NDN_CXX_SECURITY_VALIDATOR_CONFIG_CHECKER_HPP
34 class ValidationState;
36 namespace validator_config {
49 explicit operator bool()
const
51 return m_error.empty();
100 static unique_ptr<Checker>
117 class NegativeResultBuilder;
119 static NegativeResultBuilder
123 static unique_ptr<Checker>
124 createCustomizedChecker(
const ConfigSection& configSection,
const std::string& configFilename);
126 static unique_ptr<Checker>
127 createHierarchicalChecker(
const ConfigSection& configSection,
const std::string& configFilename);
129 static unique_ptr<Checker>
131 const ConfigSection& configSection,
const std::string& configFilename);
133 static unique_ptr<Checker>
135 const ConfigSection& configSection,
const std::string& configFilename);
173 const std::string& pktNameExpr,
const std::string pktNameExpand,
174 const std::string& klNameExpr,
const std::string klNameExpand,
Represents an absolute name.
const std::string & getErrorMessage() const
Return checker error message.
static NegativeResultBuilder reject()
Checker(tlv::SignatureTypeValue sigType)
Result check(uint32_t pktType, tlv::SignatureTypeValue sigType, const Name &pktName, const Name &klName, const ValidationState &state)
Check if packet name and KeyLocator satisfy the checker's conditions.
tlv::SignatureTypeValue m_sigType
virtual ~Checker()=default
static unique_ptr< Checker > create(const ConfigSection &configSection, const std::string &configFilename)
Create a checker from configuration section.
virtual Result checkNames(const Name &pktName, const Name &klName)
Base version of name checking.
Result checkNames(const Name &pktName, const Name &klName) override
Base version of name checking.
HyperRelationChecker(tlv::SignatureTypeValue sigType, const std::string &pktNameExpr, const std::string pktNameExpand, const std::string &klNameExpr, const std::string klNameExpand, const NameRelation &hyperRelation)
Result checkNames(const Name &pktName, const Name &klName) override
Base version of name checking.
NameRelationChecker(tlv::SignatureTypeValue sigType, const Name &name, const NameRelation &relation)
RegexChecker(tlv::SignatureTypeValue sigType, const Regex ®ex)
Result checkNames(const Name &pktName, const Name &klName) override
Base version of name checking.
boost::property_tree::ptree ConfigSection
SignatureTypeValue
SignatureType values.
@ SignatureSha256WithEcdsa