alts_context.cc
Go to the documentation of this file.
1 /*
2  *
3  * Copyright 2019 gRPC authors.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 #include <stddef.h>
20 
21 #include <map>
22 #include <string>
23 
24 #include "upb/upb.h"
25 
28 #include <grpcpp/support/config.h>
29 
32 
33 namespace grpc {
34 namespace experimental {
35 
36 // A upb-generated grpc_gcp_AltsContext is passed in to construct an
37 // AltsContext. Normal users should use GetAltsContextFromAuthContext to get
38 // AltsContext, instead of constructing their own.
42  if (application_protocol.data != nullptr && application_protocol.size > 0) {
45  }
47  if (record_protocol.data != nullptr && record_protocol.size > 0) {
49  }
52  if (peer_service_account.data != nullptr && peer_service_account.size > 0) {
55  }
58  if (local_service_account.data != nullptr && local_service_account.size > 0) {
61  }
62  const grpc_gcp_RpcProtocolVersions* versions =
64  if (versions != nullptr) {
65  const grpc_gcp_RpcProtocolVersions_Version* max_version =
67  if (max_version != nullptr) {
68  int max_version_major =
70  int max_version_minor =
74  }
75  const grpc_gcp_RpcProtocolVersions_Version* min_version =
77  if (min_version != nullptr) {
78  int min_version_major =
80  int min_version_minor =
84  }
85  }
88  security_level_ = static_cast<grpc_security_level>(
90  }
92  size_t iter = kUpb_Map_Begin;
93  const grpc_gcp_AltsContext_PeerAttributesEntry* peer_attributes_entry =
95  while (peer_attributes_entry != nullptr) {
97  grpc_gcp_AltsContext_PeerAttributesEntry_key(peer_attributes_entry);
98  upb_StringView val =
100  peer_attributes_map_[std::string(key.data, key.size)] =
101  std::string(val.data, val.size);
102  peer_attributes_entry =
104  }
105  }
106 }
107 
109  return application_protocol_;
110 }
111 
113 
115  return peer_service_account_;
116 }
117 
119  return local_service_account_;
120 }
121 
123  return security_level_;
124 }
125 
127  return peer_rpc_versions_;
128 }
129 
130 const std::map<std::string, std::string>& AltsContext::peer_attributes() const {
131  return peer_attributes_map_;
132 }
133 
134 } // namespace experimental
135 } // namespace grpc
altscontext.upb.h
GRPC_SECURITY_MIN
@ GRPC_SECURITY_MIN
Definition: grpc_security_constants.h:132
grpc_gcp_RpcProtocolVersions_Version
struct grpc_gcp_RpcProtocolVersions_Version grpc_gcp_RpcProtocolVersions_Version
Definition: transport_security_common.upb.h:26
ctx
Definition: benchmark-async.c:30
kUpb_Map_Begin
#define kUpb_Map_Begin
Definition: upb/upb/upb.h:329
grpc::experimental::AltsContext::local_service_account
std::string local_service_account() const
Definition: alts_context.cc:118
grpc
Definition: grpcpp/alarm.h:33
grpc::experimental::AltsContext::peer_service_account_
std::string peer_service_account_
Definition: alts_context.h:59
upb_StringView::data
const char * data
Definition: upb/upb/upb.h:73
grpc_gcp_AltsContext_local_service_account
UPB_INLINE upb_StringView grpc_gcp_AltsContext_local_service_account(const grpc_gcp_AltsContext *msg)
Definition: altscontext.upb.h:92
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
grpc_gcp_AltsContext_PeerAttributesEntry_key
UPB_INLINE upb_StringView grpc_gcp_AltsContext_PeerAttributesEntry_key(const grpc_gcp_AltsContext_PeerAttributesEntry *msg)
Definition: altscontext.upb.h:161
grpc::experimental::AltsContext::RpcProtocolVersions::Version::major_version
int major_version
Definition: alts_context.h:38
grpc::experimental::AltsContext::local_service_account_
std::string local_service_account_
Definition: alts_context.h:60
grpc::experimental::AltsContext::RpcProtocolVersions::max_rpc_version
Version max_rpc_version
Definition: alts_context.h:41
grpc::experimental::AltsContext::AltsContext
AltsContext(const grpc_gcp_AltsContext *ctx)
Definition: alts_context.cc:39
grpc_gcp_AltsContext_peer_rpc_versions
UPB_INLINE const struct grpc_gcp_RpcProtocolVersions * grpc_gcp_AltsContext_peer_rpc_versions(const grpc_gcp_AltsContext *msg)
Definition: altscontext.upb.h:101
alts_context.h
grpc_gcp_RpcProtocolVersions_max_rpc_version
const UPB_INLINE grpc_gcp_RpcProtocolVersions_Version * grpc_gcp_RpcProtocolVersions_max_rpc_version(const grpc_gcp_RpcProtocolVersions *msg)
Definition: transport_security_common.upb.h:75
grpc::experimental::AltsContext::RpcProtocolVersions
Definition: alts_context.h:36
grpc_gcp_AltsContext_PeerAttributesEntry_value
UPB_INLINE upb_StringView grpc_gcp_AltsContext_PeerAttributesEntry_value(const grpc_gcp_AltsContext_PeerAttributesEntry *msg)
Definition: altscontext.upb.h:166
upb_StringView::size
size_t size
Definition: upb/upb/upb.h:74
grpc::experimental::AltsContext::peer_attributes_map_
std::map< std::string, std::string > peer_attributes_map_
Definition: alts_context.h:63
grpc_gcp_RpcProtocolVersions_Version_major
UPB_INLINE uint32_t grpc_gcp_RpcProtocolVersions_Version_major(const grpc_gcp_RpcProtocolVersions_Version *msg)
Definition: transport_security_common.upb.h:149
upb.h
grpc_gcp_RpcProtocolVersions_Version_minor
UPB_INLINE uint32_t grpc_gcp_RpcProtocolVersions_Version_minor(const grpc_gcp_RpcProtocolVersions_Version *msg)
Definition: transport_security_common.upb.h:155
grpc_gcp_AltsContext_peer_attributes_next
const UPB_INLINE grpc_gcp_AltsContext_PeerAttributesEntry * grpc_gcp_AltsContext_peer_attributes_next(const grpc_gcp_AltsContext *msg, size_t *iter)
Definition: altscontext.upb.h:116
grpc::experimental::AltsContext::peer_rpc_versions_
RpcProtocolVersions peer_rpc_versions_
Definition: alts_context.h:62
grpc::experimental::AltsContext::peer_rpc_versions
RpcProtocolVersions peer_rpc_versions() const
Definition: alts_context.cc:126
grpc_gcp_AltsContext_has_peer_attributes
UPB_INLINE bool grpc_gcp_AltsContext_has_peer_attributes(const grpc_gcp_AltsContext *msg)
Definition: altscontext.upb.h:104
grpc_gcp_AltsContext
struct grpc_gcp_AltsContext grpc_gcp_AltsContext
Definition: altscontext.upb.h:25
transport_security_common.upb.h
grpc_gcp_AltsContext_peer_service_account
UPB_INLINE upb_StringView grpc_gcp_AltsContext_peer_service_account(const grpc_gcp_AltsContext *msg)
Definition: altscontext.upb.h:86
grpc::experimental::AltsContext::RpcProtocolVersions::Version::minor_version
int minor_version
Definition: alts_context.h:39
grpc_gcp_RpcProtocolVersions
struct grpc_gcp_RpcProtocolVersions grpc_gcp_RpcProtocolVersions
Definition: transport_security_common.upb.h:25
config.h
grpc::experimental::AltsContext::record_protocol
std::string record_protocol() const
Definition: alts_context.cc:112
grpc::experimental::AltsContext::peer_attributes
const std::map< std::string, std::string > & peer_attributes() const
Definition: alts_context.cc:130
grpc::experimental::AltsContext::application_protocol_
std::string application_protocol_
Definition: alts_context.h:57
grpc_security_level
grpc_security_level
Definition: grpc_security_constants.h:131
grpc_gcp_AltsContext_record_protocol
UPB_INLINE upb_StringView grpc_gcp_AltsContext_record_protocol(const grpc_gcp_AltsContext *msg)
Definition: altscontext.upb.h:74
key
const char * key
Definition: hpack_parser_table.cc:164
upb_StringView
Definition: upb/upb/upb.h:72
grpc::experimental::AltsContext::security_level
grpc_security_level security_level() const
Definition: alts_context.cc:122
grpc::experimental::AltsContext::record_protocol_
std::string record_protocol_
Definition: alts_context.h:58
grpc::experimental::AltsContext::application_protocol
std::string application_protocol() const
Definition: alts_context.cc:108
grpc_gcp_AltsContext_application_protocol
UPB_INLINE upb_StringView grpc_gcp_AltsContext_application_protocol(const grpc_gcp_AltsContext *msg)
Definition: altscontext.upb.h:68
grpc_gcp_AltsContext_PeerAttributesEntry
struct grpc_gcp_AltsContext_PeerAttributesEntry grpc_gcp_AltsContext_PeerAttributesEntry
Definition: altscontext.upb.h:26
grpc_security_constants.h
grpc::experimental::AltsContext::RpcProtocolVersions::min_rpc_version
Version min_rpc_version
Definition: alts_context.h:42
grpc::experimental::AltsContext::security_level_
grpc_security_level security_level_
Definition: alts_context.h:61
iter
Definition: test_winkernel.cpp:47
grpc::experimental::AltsContext::peer_service_account
std::string peer_service_account() const
Definition: alts_context.cc:114
grpc_gcp_RpcProtocolVersions_min_rpc_version
const UPB_INLINE grpc_gcp_RpcProtocolVersions_Version * grpc_gcp_RpcProtocolVersions_min_rpc_version(const grpc_gcp_RpcProtocolVersions *msg)
Definition: transport_security_common.upb.h:84
grpc_gcp_AltsContext_security_level
UPB_INLINE int32_t grpc_gcp_AltsContext_security_level(const grpc_gcp_AltsContext *msg)
Definition: altscontext.upb.h:80
GRPC_SECURITY_MAX
@ GRPC_SECURITY_MAX
Definition: grpc_security_constants.h:136


grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:58:30