Go to the documentation of this file.
28 #include "absl/status/status.h"
29 #include "absl/strings/string_view.h"
79 *auth_context !=
nullptr
82 "Could not get ALTS auth context from TSI peer");
86 class grpc_alts_channel_security_connector final
89 grpc_alts_channel_security_connector(
92 const char* target_name)
95 std::
move(request_metadata_creds)),
98 ~grpc_alts_channel_security_connector()
override {
gpr_free(target_name_); }
106 size_t user_specified_max_frame_size = 0;
114 creds->
options(), target_name_,
116 &handshaker, user_specified_max_frame_size) ==
TSI_OK);
117 handshake_manager->
Add(
124 alts_check_peer(peer, auth_context, on_peer_checked);
134 reinterpret_cast<const grpc_alts_channel_security_connector*
>(other_sc);
136 if (
c != 0)
return c;
137 return strcmp(target_name_, other->target_name_);
142 if (host.
empty() || host != target_name_) {
144 "ALTS call host does not match target name"));
153 class grpc_alts_server_security_connector final
156 explicit grpc_alts_server_security_connector(
161 ~grpc_alts_server_security_connector()
override =
default;
169 size_t user_specified_max_frame_size = 0;
178 false, interested_parties, &handshaker,
179 user_specified_max_frame_size) ==
TSI_OK);
180 handshake_manager->
Add(
187 alts_check_peer(peer, auth_context, on_peer_checked);
206 if (peer ==
nullptr) {
208 "Invalid arguments to grpc_alts_auth_context_from_tsi_peer()");
214 if (cert_type_prop ==
nullptr ||
223 if (security_level_prop ==
nullptr) {
230 if (rpc_versions_prop ==
nullptr) {
241 if (!decode_result) {
247 &local_versions, &peer_versions,
nullptr);
255 if (alts_context_prop ==
nullptr) {
260 auto ctx = MakeRefCounted<grpc_auth_context>(
nullptr);
303 const char* target_name) {
304 if (channel_creds ==
nullptr || target_name ==
nullptr) {
307 "Invalid arguments to grpc_alts_channel_security_connector_create()");
310 return grpc_core::MakeRefCounted<grpc_alts_channel_security_connector>(
317 if (server_creds ==
nullptr) {
320 "Invalid arguments to grpc_alts_server_security_connector_create()");
323 return grpc_core::MakeRefCounted<grpc_alts_server_security_connector>(
#define GRPC_TRANSPORT_SECURITY_LEVEL_PROPERTY_NAME
void grpc_alts_set_rpc_protocol_versions(grpc_gcp_rpc_protocol_versions *rpc_versions)
tsi_peer_property * properties
struct tsi_peer_property::@48 value
#define GRPC_PROTOCOL_VERSION_MIN_MAJOR
virtual void check_peer(tsi_peer peer, grpc_endpoint *ep, grpc_core::RefCountedPtr< grpc_auth_context > *auth_context, grpc_closure *on_peer_checked)=0
virtual void add_handshakers(const grpc_channel_args *args, grpc_pollset_set *interested_parties, grpc_core::HandshakeManager *handshake_mgr)=0
int grpc_channel_arg_get_integer(const grpc_arg *arg, const grpc_integer_options options)
RefCountedPtr< Handshaker > SecurityHandshakerCreate(tsi_handshaker *handshaker, grpc_security_connector *connector, const grpc_channel_args *args)
Creates a security handshaker using handshaker.
#define TSI_SECURITY_LEVEL_PEER_PROPERTY
struct grpc_pollset_set grpc_pollset_set
RefCountedPtr< grpc_auth_context > grpc_alts_auth_context_from_tsi_peer(const tsi_peer *peer)
#define GRPC_PROTOCOL_VERSION_MIN_MINOR
GPRAPI void gpr_free(void *ptr)
GRPCAPI int grpc_auth_context_peer_is_authenticated(const grpc_auth_context *ctx)
const grpc_alts_credentials_options * options() const
static struct test_ctx ctx
const char * handshaker_service_url() const
#define GRPC_ARG_TSI_MAX_FRAME_SIZE
bool grpc_gcp_rpc_protocol_versions_decode(const grpc_slice &slice, grpc_gcp_rpc_protocol_versions *versions)
Status UnauthenticatedError(absl::string_view message)
GRPCAPI int grpc_auth_context_set_peer_identity_property_name(grpc_auth_context *ctx, const char *name)
virtual void cancel_check_peer(grpc_closure *on_peer_checked, grpc_error_handle error)=0
grpc_core::RefCountedPtr< grpc_channel_security_connector > grpc_alts_channel_security_connector_create(grpc_core::RefCountedPtr< grpc_channel_credentials > channel_creds, grpc_core::RefCountedPtr< grpc_call_credentials > request_metadata_creds, const char *target_name)
#define GRPC_TRANSPORT_SECURITY_TYPE_PROPERTY_NAME
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
const char * handshaker_service_url() const
#define TSI_ALTS_SERVICE_ACCOUNT_PEER_PROPERTY
virtual grpc_core::ArenaPromise< absl::Status > CheckCallHost(absl::string_view host, grpc_auth_context *auth_context)=0
GPRAPI void gpr_log(const char *file, int line, gpr_log_severity severity, const char *format,...) GPR_PRINT_FORMAT_CHECK(4
#define TSI_ALTS_RPC_VERSIONS
const grpc_alts_credentials_options * options() const
#define GRPC_PROTOCOL_VERSION_MAX_MAJOR
void Add(RefCountedPtr< Handshaker > handshaker)
GRPCAPI void grpc_auth_context_add_cstring_property(grpc_auth_context *ctx, const char *name, const char *value)
const tsi_peer_property * tsi_peer_get_property_by_name(const tsi_peer *peer, const char *name)
virtual void add_handshakers(const grpc_channel_args *args, grpc_pollset_set *interested_parties, grpc_core::HandshakeManager *handshake_mgr)=0
Registers handshakers with handshake_mgr.
bool grpc_gcp_rpc_protocol_versions_check(const grpc_gcp_rpc_protocol_versions *local_versions, const grpc_gcp_rpc_protocol_versions *peer_versions, grpc_gcp_rpc_protocol_versions_version *highest_common_version)
#define TSI_ALTS_CERTIFICATE_TYPE
bool grpc_gcp_rpc_protocol_versions_set_min(grpc_gcp_rpc_protocol_versions *versions, uint32_t min_major, uint32_t min_minor)
tsi_result alts_tsi_handshaker_create(const grpc_alts_credentials_options *options, const char *target_name, const char *handshaker_service_url, bool is_client, grpc_pollset_set *interested_parties, tsi_handshaker **self, size_t user_specified_max_frame_size)
#define GRPC_ERROR_CREATE_FROM_STATIC_STRING(desc)
int channel_security_connector_cmp(const grpc_channel_security_connector *other) const
grpc_core::RefCountedPtr< grpc_server_security_connector > grpc_alts_server_security_connector_create(grpc_core::RefCountedPtr< grpc_server_credentials > server_creds)
GPRAPI grpc_slice grpc_slice_from_copied_buffer(const char *source, size_t len)
GRPCAPI void grpc_auth_context_add_property(grpc_auth_context *ctx, const char *name, const char *value, size_t value_length)
#define GRPC_ERROR_UNREF(err)
static void Run(const DebugLocation &location, grpc_closure *closure, grpc_error_handle error)
GPRAPI char * gpr_strdup(const char *src)
bool grpc_gcp_rpc_protocol_versions_set_max(grpc_gcp_rpc_protocol_versions *versions, uint32_t max_major, uint32_t max_minor)
promise_detail::Immediate< T > Immediate(T value)
constexpr bool empty() const noexcept
const grpc_server_credentials * server_creds() const
#define TSI_CERTIFICATE_TYPE_PEER_PROPERTY
#define GRPC_SSL_URL_SCHEME
const grpc_channel_credentials * channel_creds() const
virtual int cmp(const grpc_security_connector *other) const =0
const grpc_arg * grpc_channel_args_find(const grpc_channel_args *args, const char *name)
#define GRPC_ALTS_TRANSPORT_SECURITY_TYPE
void tsi_peer_destruct(tsi_peer *self)
#define GRPC_PROTOCOL_VERSION_MAX_MINOR
void grpc_slice_unref_internal(const grpc_slice &slice)
int server_security_connector_cmp(const grpc_server_security_connector *other) const
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:41