NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
validation-policy-config.hpp
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2013-2017 Regents of the University of California.
4
*
5
* This file is part of ndn-cxx library (NDN C++ library with eXperimental eXtensions).
6
*
7
* ndn-cxx library is free software: you can redistribute it and/or modify it under the
8
* terms of the GNU Lesser General Public License as published by the Free Software
9
* Foundation, either version 3 of the License, or (at your option) any later version.
10
*
11
* ndn-cxx library is distributed in the hope that it will be useful, but WITHOUT ANY
12
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
13
* PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
14
*
15
* You should have received copies of the GNU General Public License and GNU Lesser
16
* General Public License along with ndn-cxx, e.g., in COPYING.md file. If not, see
17
* <http://www.gnu.org/licenses/>.
18
*
19
* See AUTHORS.md for complete list of ndn-cxx authors and contributors.
20
*/
21
22
#ifndef NDN_SECURITY_V2_VALIDATION_POLICY_CONFIG_HPP
23
#define NDN_SECURITY_V2_VALIDATION_POLICY_CONFIG_HPP
24
25
#include "
validation-policy.hpp
"
26
#include "
validator-config/rule.hpp
"
27
#include "
validator-config/common.hpp
"
28
29
namespace
ndn
{
30
namespace
security {
31
namespace
v2 {
32
namespace
validator_config {
33
42
class
ValidationPolicyConfig
:
public
ValidationPolicy
43
{
44
public
:
45
ValidationPolicyConfig
();
46
47
void
48
load
(
const
std::string& filename);
49
50
void
51
load
(
const
std::string& input,
const
std::string& filename);
52
53
void
54
load
(std::istream& input,
const
std::string& filename);
55
56
void
57
load
(
const
ConfigSection
& configSection,
const
std::string& filename);
58
59
protected
:
60
void
61
checkPolicy
(
const
Data
& data,
const
shared_ptr<ValidationState>& state,
62
const
ValidationContinuation
& continueValidation)
override
;
63
64
void
65
checkPolicy
(
const
Interest
& interest,
const
shared_ptr<ValidationState>& state,
66
const
ValidationContinuation
& continueValidation)
override
;
67
68
private
:
69
void
70
processConfigTrustAnchor(
const
ConfigSection
& section,
const
std::string& filename);
71
72
time::nanoseconds
73
getRefreshPeriod(ConfigSection::const_iterator& it,
const
ConfigSection::const_iterator& end);
74
75
time::nanoseconds
76
getDefaultRefreshPeriod();
77
78
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE
:
84
bool
m_shouldBypass;
85
bool
m_isConfigured;
86
87
std::vector<unique_ptr<Rule>> m_dataRules;
88
std::vector<unique_ptr<Rule>> m_interestRules;
89
};
90
91
}
// namespace validator_config
92
93
using
validator_config::ValidationPolicyConfig
;
94
95
}
// namespace v2
96
}
// namespace security
97
}
// namespace ndn
98
99
#endif // NDN_SECURITY_V2_VALIDATION_POLICY_CONFIG_HPP
ndn::security::v2::validator_config::ValidationPolicyConfig
The validator which can be set up via a configuration file.
Definition:
validation-policy-config.hpp:42
ndn
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-strategy-choice-helper.hpp:34
NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE
#define NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE
Definition:
common.hpp:43
validation-policy.hpp
ndn::Interest
Represents an Interest packet.
Definition:
interest.hpp:42
ndn::security::v2::ValidationPolicy
Abstraction that implements validation policy for Data and Interest packets.
Definition:
validation-policy.hpp:37
common.hpp
rule.hpp
ndn::security::v2::ValidationPolicy::ValidationContinuation
std::function< void(const shared_ptr< CertificateRequest > &certRequest, const shared_ptr< ValidationState > &state)> ValidationContinuation
Definition:
validation-policy.hpp:41
ndn::security::v2::validator_config::ConfigSection
boost::property_tree::ptree ConfigSection
Definition:
common.hpp:35
ndn::security::v2::validator_config::ValidationPolicyConfig::checkPolicy
void checkPolicy(const Data &data, const shared_ptr< ValidationState > &state, const ValidationContinuation &continueValidation) override
Check data against the policy.
Definition:
validation-policy-config.cpp:241
ndn::security::v2::validator_config::ValidationPolicyConfig::ValidationPolicyConfig
ValidationPolicyConfig()
Definition:
validation-policy-config.cpp:38
ndn::Data
Represents a Data packet.
Definition:
data.hpp:35
ndn::security::v2::validator_config::ValidationPolicyConfig::load
void load(const std::string &filename)
Definition:
validation-policy-config.cpp:45
ndnSIM
ndn-cxx
src
security
v2
validation-policy-config.hpp
Generated on Tue Aug 7 2018 16:19:17 for ndnSIM by
1.8.14