Go to the documentation of this file.
26 #include "absl/strings/string_view.h"
54 char* error_details =
nullptr;
57 &status_code, &error_details);
83 auto it =
self->request_map_.find(
request);
84 if (
it !=
self->request_map_.end()) {
86 self->request_map_.erase(
it);
117 const char* target_name =
request->target_name;
118 if (target_name ==
nullptr) {
120 "Target name is not specified.");
126 if (target_host.
empty()) {
128 "Failed to split hostname and port.");
132 const size_t zone_id = target_host.
find(
'%');
138 char** dns_names =
request->peer_info.san_names.dns_names;
139 size_t dns_names_size =
request->peer_info.san_names.dns_names_size;
140 if (dns_names !=
nullptr && dns_names_size > 0) {
141 for (
size_t i = 0;
i < dns_names_size; ++
i) {
142 const char* dns_name = dns_names[
i];
151 char** ip_names =
request->peer_info.san_names.ip_names;
152 size_t ip_names_size =
request->peer_info.san_names.ip_names_size;
153 if (ip_names !=
nullptr && ip_names_size > 0) {
154 for (
size_t i = 0;
i < ip_names_size; ++
i) {
155 const char* ip_name = ip_names[
i];
156 if (target_host == ip_name) {
162 if (dns_names_size == 0) {
163 const char* common_name =
request->peer_info.common_name;
166 if (common_name !=
nullptr &&
172 "Hostname Verification Check failed.");
202 if (!sync_status_cpp.
ok()) {
204 *sync_error_details =
237 GRPC_API_TRACE(
"grpc_tls_certificate_verifier_release(verifier=%p)", 1,
int grpc_tls_certificate_verifier_verify(grpc_tls_certificate_verifier *verifier, grpc_tls_custom_verification_check_request *request, grpc_tls_on_custom_verification_check_done_cb callback, void *callback_arg, grpc_status_code *sync_status, char **sync_error_details)
ABSL_INTERNAL_STRING_VIEW_CXX14_CONSTEXPR void remove_suffix(size_type n)
size_type find(string_view s, size_type pos=0) const noexcept
GPRAPI void gpr_free(void *ptr)
bool SplitHostPort(absl::string_view name, absl::string_view *host, absl::string_view *port)
void(* grpc_tls_on_custom_verification_check_done_cb)(grpc_tls_custom_verification_check_request *request, void *callback_arg, grpc_status_code status, const char *error_details)
static void verifier(grpc_server *server, grpc_completion_queue *cq, void *)
grpc_tls_certificate_verifier * grpc_tls_certificate_verifier_no_op_create()
UniqueTypeName type() const override
void grpc_tls_certificate_verifier_cancel(grpc_tls_certificate_verifier *verifier, grpc_tls_custom_verification_check_request *request)
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
constexpr size_type size() const noexcept
grpc_tls_certificate_verifier_external * external_verifier_
absl::string_view message() const
int(* verify)(void *user_data, grpc_tls_custom_verification_check_request *request, grpc_tls_on_custom_verification_check_done_cb callback, void *callback_arg, grpc_status_code *sync_status, char **sync_error_details)
UniqueTypeName type() const override
bool Verify(grpc_tls_custom_verification_check_request *request, std::function< void(absl::Status)> callback, absl::Status *sync_status) override
static void callback(void *arg, int status, int timeouts, struct hostent *host)
ABSL_NAMESPACE_BEGIN class ABSL_MUST_USE_RESULT Status
static void async_cb(uv_async_t *handle)
bool Verify(grpc_tls_custom_verification_check_request *request, std::function< void(absl::Status)> callback, absl::Status *sync_status) override
grpc_core::ExecCtx exec_ctx
ABSL_MUST_USE_RESULT bool ok() const
grpc_tls_certificate_verifier * grpc_tls_certificate_verifier_external_create(grpc_tls_certificate_verifier_external *external_verifier)
static void OnVerifyDone(grpc_tls_custom_verification_check_request *request, void *callback_arg, grpc_status_code status, const char *error_details)
UniqueTypeName type() const override
GPRAPI char * gpr_strdup(const char *src)
constexpr bool empty() const noexcept
void grpc_tls_certificate_verifier_release(grpc_tls_certificate_verifier *verifier)
static constexpr size_type npos
PHP_PROTO_OBJECT_FREE_END PHP_PROTO_OBJECT_DTOR_END intern self
absl::StatusCode code() const
grpc_tls_certificate_verifier * grpc_tls_certificate_verifier_host_name_create()
bool VerifySubjectAlternativeName(absl::string_view subject_alternative_name, const std::string &matcher)
#define GRPC_API_TRACE(fmt, nargs, args)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:58:45