#include <grpc/support/port_platform.h>
#include "src/core/lib/security/context/security_context.h"
#include <string.h>
#include <algorithm>
#include <grpc/grpc_security.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
#include "src/core/lib/channel/channel_args.h"
#include "src/core/lib/channel/context.h"
#include "src/core/lib/gprpp/ref_counted_ptr.h"
#include "src/core/lib/iomgr/exec_ctx.h"
#include "src/core/lib/resource_quota/arena.h"
#include "src/core/lib/security/credentials/credentials.h"
#include "src/core/lib/surface/api_trace.h"
#include "src/core/lib/surface/call.h"
grpc_core::DebugOnlyTraceFlag grpc_trace_auth_context_refcount(
false, "auth_context_refcount");
grpc_call_error grpc_call_set_credentials(grpc_call* call,
grpc_call_credentials* creds) { … }
grpc_auth_context* grpc_call_auth_context(grpc_call* call) { … }
void grpc_auth_context_release(grpc_auth_context* context) { … }
grpc_client_security_context::~grpc_client_security_context() { … }
grpc_client_security_context* grpc_client_security_context_create(
grpc_core::Arena* arena, grpc_call_credentials* creds) { … }
void grpc_client_security_context_destroy(void* ctx) { … }
grpc_server_security_context::~grpc_server_security_context() { … }
grpc_server_security_context* grpc_server_security_context_create(
grpc_core::Arena* arena) { … }
void grpc_server_security_context_destroy(void* ctx) { … }
static grpc_auth_property_iterator empty_iterator = …;
const char* grpc_auth_context_peer_identity_property_name(
const grpc_auth_context* ctx) { … }
int grpc_auth_context_set_peer_identity_property_name(grpc_auth_context* ctx,
const char* name) { … }
int grpc_auth_context_peer_is_authenticated(const grpc_auth_context* ctx) { … }
grpc_auth_property_iterator grpc_auth_context_property_iterator(
const grpc_auth_context* ctx) { … }
const grpc_auth_property* grpc_auth_property_iterator_next(
grpc_auth_property_iterator* it) { … }
grpc_auth_property_iterator grpc_auth_context_find_properties_by_name(
const grpc_auth_context* ctx, const char* name) { … }
grpc_auth_property_iterator grpc_auth_context_peer_identity(
const grpc_auth_context* ctx) { … }
void grpc_auth_context::ensure_capacity() { … }
void grpc_auth_context::add_property(const char* name, const char* value,
size_t value_length) { … }
void grpc_auth_context_add_property(grpc_auth_context* ctx, const char* name,
const char* value, size_t value_length) { … }
void grpc_auth_context::add_cstring_property(const char* name,
const char* value) { … }
void grpc_auth_context_add_cstring_property(grpc_auth_context* ctx,
const char* name,
const char* value) { … }
void grpc_auth_property_reset(grpc_auth_property* property) { … }
static void auth_context_pointer_arg_destroy(void* p) { … }
static void* auth_context_pointer_arg_copy(void* p) { … }
static int auth_context_pointer_cmp(void* a, void* b) { … }
static const grpc_arg_pointer_vtable auth_context_pointer_vtable = …;
grpc_arg grpc_auth_context_to_arg(grpc_auth_context* c) { … }
grpc_auth_context* grpc_auth_context_from_arg(const grpc_arg* arg) { … }
grpc_auth_context* grpc_find_auth_context_in_args(
const grpc_channel_args* args) { … }