@@ -13,46 +13,46 @@ namespace Filters {
13
13
namespace Common {
14
14
namespace RBAC {
15
15
16
- MatcherConstSharedPtr Matcher::create (const envoy::config::rbac::v3::Permission& permission,
17
- ProtobufMessage::ValidationVisitor& validation_visitor,
18
- Server::Configuration::CommonFactoryContext& context) {
16
+ MatcherConstPtr Matcher::create (const envoy::config::rbac::v3::Permission& permission,
17
+ ProtobufMessage::ValidationVisitor& validation_visitor,
18
+ Server::Configuration::CommonFactoryContext& context) {
19
19
switch (permission.rule_case ()) {
20
20
case envoy::config::rbac::v3::Permission::RuleCase::kAndRules :
21
- return std::make_shared <const AndMatcher>(permission.and_rules (), validation_visitor, context);
21
+ return std::make_unique <const AndMatcher>(permission.and_rules (), validation_visitor, context);
22
22
case envoy::config::rbac::v3::Permission::RuleCase::kOrRules :
23
- return std::make_shared <const OrMatcher>(permission.or_rules (), validation_visitor, context);
23
+ return std::make_unique <const OrMatcher>(permission.or_rules (), validation_visitor, context);
24
24
case envoy::config::rbac::v3::Permission::RuleCase::kHeader :
25
- return std::make_shared <const HeaderMatcher>(permission.header (), context);
25
+ return std::make_unique <const HeaderMatcher>(permission.header (), context);
26
26
case envoy::config::rbac::v3::Permission::RuleCase::kDestinationIp :
27
- return std::make_shared <const IPMatcher>(permission.destination_ip (),
27
+ return std::make_unique <const IPMatcher>(permission.destination_ip (),
28
28
IPMatcher::Type::DownstreamLocal);
29
29
case envoy::config::rbac::v3::Permission::RuleCase::kDestinationPort :
30
- return std::make_shared <const PortMatcher>(permission.destination_port ());
30
+ return std::make_unique <const PortMatcher>(permission.destination_port ());
31
31
case envoy::config::rbac::v3::Permission::RuleCase::kDestinationPortRange :
32
- return std::make_shared <const PortRangeMatcher>(permission.destination_port_range ());
32
+ return std::make_unique <const PortRangeMatcher>(permission.destination_port_range ());
33
33
case envoy::config::rbac::v3::Permission::RuleCase::kAny :
34
- return std::make_shared <const AlwaysMatcher>();
34
+ return std::make_unique <const AlwaysMatcher>();
35
35
case envoy::config::rbac::v3::Permission::RuleCase::kMetadata :
36
- return std::make_shared <const MetadataMatcher>(
36
+ return std::make_unique <const MetadataMatcher>(
37
37
Matchers::MetadataMatcher (permission.metadata (), context),
38
38
envoy::config::rbac::v3::MetadataSource::DYNAMIC);
39
39
case envoy::config::rbac::v3::Permission::RuleCase::kSourcedMetadata :
40
- return std::make_shared <const MetadataMatcher>(
40
+ return std::make_unique <const MetadataMatcher>(
41
41
Matchers::MetadataMatcher (permission.sourced_metadata ().metadata_matcher (), context),
42
42
permission.sourced_metadata ().metadata_source ());
43
43
case envoy::config::rbac::v3::Permission::RuleCase::kNotRule :
44
- return std::make_shared <const NotMatcher>(permission.not_rule (), validation_visitor, context);
44
+ return std::make_unique <const NotMatcher>(permission.not_rule (), validation_visitor, context);
45
45
case envoy::config::rbac::v3::Permission::RuleCase::kRequestedServerName :
46
- return std::make_shared <const RequestedServerNameMatcher>(permission.requested_server_name (),
46
+ return std::make_unique <const RequestedServerNameMatcher>(permission.requested_server_name (),
47
47
context);
48
48
case envoy::config::rbac::v3::Permission::RuleCase::kUrlPath :
49
- return std::make_shared <const PathMatcher>(permission.url_path (), context);
49
+ return std::make_unique <const PathMatcher>(permission.url_path (), context);
50
50
case envoy::config::rbac::v3::Permission::RuleCase::kUriTemplate : {
51
51
auto & factory =
52
52
Config::Utility::getAndCheckFactory<Router::PathMatcherFactory>(permission.uri_template ());
53
53
ProtobufTypes::MessagePtr config = Envoy::Config::Utility::translateAnyToFactoryConfig (
54
54
permission.uri_template ().typed_config (), validation_visitor, factory);
55
- return std::make_shared <const UriTemplateMatcher>(factory.createPathMatcher (*config));
55
+ return std::make_unique <const UriTemplateMatcher>(factory.createPathMatcher (*config));
56
56
}
57
57
case envoy::config::rbac::v3::Permission::RuleCase::kMatcher : {
58
58
auto & factory =
@@ -65,42 +65,42 @@ MatcherConstSharedPtr Matcher::create(const envoy::config::rbac::v3::Permission&
65
65
PANIC_DUE_TO_CORRUPT_ENUM;
66
66
}
67
67
68
- MatcherConstSharedPtr Matcher::create (const envoy::config::rbac::v3::Principal& principal,
69
- Server::Configuration::CommonFactoryContext& context) {
68
+ MatcherConstPtr Matcher::create (const envoy::config::rbac::v3::Principal& principal,
69
+ Server::Configuration::CommonFactoryContext& context) {
70
70
switch (principal.identifier_case ()) {
71
71
case envoy::config::rbac::v3::Principal::IdentifierCase::kAndIds :
72
- return std::make_shared <const AndMatcher>(principal.and_ids (), context);
72
+ return std::make_unique <const AndMatcher>(principal.and_ids (), context);
73
73
case envoy::config::rbac::v3::Principal::IdentifierCase::kOrIds :
74
- return std::make_shared <const OrMatcher>(principal.or_ids (), context);
74
+ return std::make_unique <const OrMatcher>(principal.or_ids (), context);
75
75
case envoy::config::rbac::v3::Principal::IdentifierCase::kAuthenticated :
76
- return std::make_shared <const AuthenticatedMatcher>(principal.authenticated (), context);
76
+ return std::make_unique <const AuthenticatedMatcher>(principal.authenticated (), context);
77
77
case envoy::config::rbac::v3::Principal::IdentifierCase::kSourceIp :
78
- return std::make_shared <const IPMatcher>(principal.source_ip (),
78
+ return std::make_unique <const IPMatcher>(principal.source_ip (),
79
79
IPMatcher::Type::ConnectionRemote);
80
80
case envoy::config::rbac::v3::Principal::IdentifierCase::kDirectRemoteIp :
81
- return std::make_shared <const IPMatcher>(principal.direct_remote_ip (),
81
+ return std::make_unique <const IPMatcher>(principal.direct_remote_ip (),
82
82
IPMatcher::Type::DownstreamDirectRemote);
83
83
case envoy::config::rbac::v3::Principal::IdentifierCase::kRemoteIp :
84
- return std::make_shared <const IPMatcher>(principal.remote_ip (),
84
+ return std::make_unique <const IPMatcher>(principal.remote_ip (),
85
85
IPMatcher::Type::DownstreamRemote);
86
86
case envoy::config::rbac::v3::Principal::IdentifierCase::kHeader :
87
- return std::make_shared <const HeaderMatcher>(principal.header (), context);
87
+ return std::make_unique <const HeaderMatcher>(principal.header (), context);
88
88
case envoy::config::rbac::v3::Principal::IdentifierCase::kAny :
89
- return std::make_shared <const AlwaysMatcher>();
89
+ return std::make_unique <const AlwaysMatcher>();
90
90
case envoy::config::rbac::v3::Principal::IdentifierCase::kMetadata :
91
- return std::make_shared <const MetadataMatcher>(
91
+ return std::make_unique <const MetadataMatcher>(
92
92
Matchers::MetadataMatcher (principal.metadata (), context),
93
93
envoy::config::rbac::v3::MetadataSource::DYNAMIC);
94
94
case envoy::config::rbac::v3::Principal::IdentifierCase::kSourcedMetadata :
95
- return std::make_shared <const MetadataMatcher>(
95
+ return std::make_unique <const MetadataMatcher>(
96
96
Matchers::MetadataMatcher (principal.sourced_metadata ().metadata_matcher (), context),
97
97
principal.sourced_metadata ().metadata_source ());
98
98
case envoy::config::rbac::v3::Principal::IdentifierCase::kNotId :
99
- return std::make_shared <const NotMatcher>(principal.not_id (), context);
99
+ return std::make_unique <const NotMatcher>(principal.not_id (), context);
100
100
case envoy::config::rbac::v3::Principal::IdentifierCase::kUrlPath :
101
- return std::make_shared <const PathMatcher>(principal.url_path (), context);
101
+ return std::make_unique <const PathMatcher>(principal.url_path (), context);
102
102
case envoy::config::rbac::v3::Principal::IdentifierCase::kFilterState :
103
- return std::make_shared <const FilterStateMatcher>(principal.filter_state (), context);
103
+ return std::make_unique <const FilterStateMatcher>(principal.filter_state (), context);
104
104
case envoy::config::rbac::v3::Principal::IdentifierCase::kCustom :
105
105
return Config::Utility::getAndCheckFactory<PrincipalExtensionFactory>(principal.custom ())
106
106
.create (principal.custom (), context);
0 commit comments