Macros | Functions | Variables
x509_vfy.c File Reference
#include <ctype.h>
#include <string.h>
#include <time.h>
#include <openssl/asn1.h>
#include <openssl/err.h>
#include <openssl/evp.h>
#include <openssl/mem.h>
#include <openssl/obj.h>
#include <openssl/thread.h>
#include <openssl/x509.h>
#include <openssl/x509v3.h>
#include "internal.h"
#include "../internal.h"
#include "../x509v3/internal.h"
Include dependency graph for x509_vfy.c:

Go to the source code of this file.

Macros

#define CRL_SCORE_AKID   0x004
 
#define CRL_SCORE_ISSUER_CERT   0x018
 
#define CRL_SCORE_ISSUER_NAME   0x020
 
#define CRL_SCORE_NOCRITICAL   0x100
 
#define CRL_SCORE_SAME_PATH   0x008
 
#define CRL_SCORE_SCOPE   0x080
 
#define CRL_SCORE_TIME   0x040
 
#define CRL_SCORE_TIME_DELTA   0x002
 
#define CRL_SCORE_VALID   (CRL_SCORE_NOCRITICAL|CRL_SCORE_TIME|CRL_SCORE_SCOPE)
 

Functions

static int cert_crl (X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x)
 
static int cert_self_signed (X509 *x, int *out_is_self_signed)
 
static int check_cert (X509_STORE_CTX *ctx)
 
static int check_cert_time (X509_STORE_CTX *ctx, X509 *x)
 
static int check_chain_extensions (X509_STORE_CTX *ctx)
 
static int check_crl (X509_STORE_CTX *ctx, X509_CRL *crl)
 
static int check_crl_chain (X509_STORE_CTX *ctx, STACK_OF(X509) *cert_path, STACK_OF(X509) *crl_path)
 
static int check_crl_path (X509_STORE_CTX *ctx, X509 *x)
 
static int check_crl_time (X509_STORE_CTX *ctx, X509_CRL *crl, int notify)
 
static int check_delta_base (X509_CRL *delta, X509_CRL *base)
 
static int check_hosts (X509 *x, X509_VERIFY_PARAM *param)
 
static int check_id (X509_STORE_CTX *ctx)
 
static int check_id_error (X509_STORE_CTX *ctx, int errcode)
 
static int check_issued (X509_STORE_CTX *ctx, X509 *x, X509 *issuer)
 
static int check_name_constraints (X509_STORE_CTX *ctx)
 
static int check_policy (X509_STORE_CTX *ctx)
 
static int check_revocation (X509_STORE_CTX *ctx)
 
static int check_trust (X509_STORE_CTX *ctx)
 
static void crl_akid_check (X509_STORE_CTX *ctx, X509_CRL *crl, X509 **pissuer, int *pcrl_score)
 
static int crl_crldp_check (X509 *x, X509_CRL *crl, int crl_score, unsigned int *preasons)
 
static int crl_extension_match (X509_CRL *a, X509_CRL *b, int nid)
 
static int crldp_check_crlissuer (DIST_POINT *dp, X509_CRL *crl, int crl_score)
 
static X509find_issuer (X509_STORE_CTX *ctx, STACK_OF(X509) *sk, X509 *x)
 
static int get_crl_delta (X509_STORE_CTX *ctx, X509_CRL **pcrl, X509_CRL **pdcrl, X509 *x)
 
static int get_crl_score (X509_STORE_CTX *ctx, X509 **pissuer, unsigned int *preasons, X509_CRL *crl, X509 *x)
 
static int get_crl_sk (X509_STORE_CTX *ctx, X509_CRL **pcrl, X509_CRL **pdcrl, X509 **pissuer, int *pscore, unsigned int *preasons, STACK_OF(X509_CRL) *crls)
 
static void get_delta_sk (X509_STORE_CTX *ctx, X509_CRL **dcrl, int *pcrl_score, X509_CRL *base, STACK_OF(X509_CRL) *crls)
 
static int get_issuer_sk (X509 **issuer, X509_STORE_CTX *ctx, X509 *x)
 
static int idp_check_dp (DIST_POINT_NAME *a, DIST_POINT_NAME *b)
 
static int internal_verify (X509_STORE_CTX *ctx)
 
static X509lookup_cert_match (X509_STORE_CTX *ctx, X509 *x)
 
static int null_callback (int ok, X509_STORE_CTX *e)
 
static int reject_dns_name_in_common_name (X509 *x509)
 
 STACK_OF (X509)
 
int X509_cmp_current_time (const ASN1_TIME *ctm)
 
int X509_cmp_time (const ASN1_TIME *ctm, time_t *cmp_time)
 
X509_CRLX509_CRL_diff (X509_CRL *base, X509_CRL *newer, EVP_PKEY *skey, const EVP_MD *md, unsigned int flags)
 
ASN1_TIMEX509_gmtime_adj (ASN1_TIME *s, long offset_sec)
 
void X509_STORE_CTX_cleanup (X509_STORE_CTX *ctx)
 
void X509_STORE_CTX_free (X509_STORE_CTX *ctx)
 
X509X509_STORE_CTX_get0_cert (X509_STORE_CTX *ctx)
 
X509_CRLX509_STORE_CTX_get0_current_crl (X509_STORE_CTX *ctx)
 
X509X509_STORE_CTX_get0_current_issuer (X509_STORE_CTX *ctx)
 
X509_VERIFY_PARAMX509_STORE_CTX_get0_param (X509_STORE_CTX *ctx)
 
X509_STORE_CTXX509_STORE_CTX_get0_parent_ctx (X509_STORE_CTX *ctx)
 
X509_POLICY_TREEX509_STORE_CTX_get0_policy_tree (X509_STORE_CTX *ctx)
 
X509X509_STORE_CTX_get_current_cert (X509_STORE_CTX *ctx)
 
int X509_STORE_CTX_get_error (X509_STORE_CTX *ctx)
 
int X509_STORE_CTX_get_error_depth (X509_STORE_CTX *ctx)
 
void * X509_STORE_CTX_get_ex_data (X509_STORE_CTX *ctx, int idx)
 
int X509_STORE_CTX_get_ex_new_index (long argl, void *argp, CRYPTO_EX_unused *unused, CRYPTO_EX_dup *dup_unused, CRYPTO_EX_free *free_func)
 
int X509_STORE_CTX_get_explicit_policy (X509_STORE_CTX *ctx)
 
int X509_STORE_CTX_init (X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509, STACK_OF(X509) *chain)
 
X509_STORE_CTXX509_STORE_CTX_new (void)
 
int X509_STORE_CTX_purpose_inherit (X509_STORE_CTX *ctx, int def_purpose, int purpose, int trust)
 
void X509_STORE_CTX_set0_crls (X509_STORE_CTX *ctx, STACK_OF(X509_CRL) *sk)
 
void X509_STORE_CTX_set0_param (X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param)
 
void X509_STORE_CTX_set_cert (X509_STORE_CTX *ctx, X509 *x)
 
void X509_STORE_CTX_set_chain (X509_STORE_CTX *ctx, STACK_OF(X509) *sk)
 
int X509_STORE_CTX_set_default (X509_STORE_CTX *ctx, const char *name)
 
void X509_STORE_CTX_set_depth (X509_STORE_CTX *ctx, int depth)
 
void X509_STORE_CTX_set_error (X509_STORE_CTX *ctx, int err)
 
int X509_STORE_CTX_set_ex_data (X509_STORE_CTX *ctx, int idx, void *data)
 
void X509_STORE_CTX_set_flags (X509_STORE_CTX *ctx, unsigned long flags)
 
int X509_STORE_CTX_set_purpose (X509_STORE_CTX *ctx, int purpose)
 
void X509_STORE_CTX_set_time (X509_STORE_CTX *ctx, unsigned long flags, time_t t)
 
int X509_STORE_CTX_set_trust (X509_STORE_CTX *ctx, int trust)
 
void X509_STORE_CTX_set_verify_cb (X509_STORE_CTX *ctx, int(*verify_cb)(int, X509_STORE_CTX *))
 
void X509_STORE_CTX_trusted_stack (X509_STORE_CTX *ctx, STACK_OF(X509) *sk)
 
void X509_STORE_CTX_zero (X509_STORE_CTX *ctx)
 
ASN1_TIMEX509_time_adj (ASN1_TIME *s, long offset_sec, time_t *in_tm)
 
ASN1_TIMEX509_time_adj_ex (ASN1_TIME *s, int offset_day, long offset_sec, time_t *in_tm)
 
int X509_verify_cert (X509_STORE_CTX *ctx)
 

Variables

static CRYPTO_EX_DATA_CLASS g_ex_data_class
 

Macro Definition Documentation

◆ CRL_SCORE_AKID

#define CRL_SCORE_AKID   0x004

Definition at line 109 of file x509_vfy.c.

◆ CRL_SCORE_ISSUER_CERT

#define CRL_SCORE_ISSUER_CERT   0x018

Definition at line 101 of file x509_vfy.c.

◆ CRL_SCORE_ISSUER_NAME

#define CRL_SCORE_ISSUER_NAME   0x020

Definition at line 93 of file x509_vfy.c.

◆ CRL_SCORE_NOCRITICAL

#define CRL_SCORE_NOCRITICAL   0x100

Definition at line 81 of file x509_vfy.c.

◆ CRL_SCORE_SAME_PATH

#define CRL_SCORE_SAME_PATH   0x008

Definition at line 105 of file x509_vfy.c.

◆ CRL_SCORE_SCOPE

#define CRL_SCORE_SCOPE   0x080

Definition at line 85 of file x509_vfy.c.

◆ CRL_SCORE_TIME

#define CRL_SCORE_TIME   0x040

Definition at line 89 of file x509_vfy.c.

◆ CRL_SCORE_TIME_DELTA

#define CRL_SCORE_TIME_DELTA   0x002

Definition at line 113 of file x509_vfy.c.

◆ CRL_SCORE_VALID

#define CRL_SCORE_VALID   (CRL_SCORE_NOCRITICAL|CRL_SCORE_TIME|CRL_SCORE_SCOPE)

Definition at line 97 of file x509_vfy.c.

Function Documentation

◆ cert_crl()

static int cert_crl ( X509_STORE_CTX ctx,
X509_CRL crl,
X509 x 
)
static

Definition at line 1663 of file x509_vfy.c.

◆ cert_self_signed()

static int cert_self_signed ( X509 x,
int out_is_self_signed 
)
static

Definition at line 152 of file x509_vfy.c.

◆ check_cert()

static int check_cert ( X509_STORE_CTX ctx)
static

Definition at line 931 of file x509_vfy.c.

◆ check_cert_time()

static int check_cert_time ( X509_STORE_CTX ctx,
X509 x 
)
static

Definition at line 1747 of file x509_vfy.c.

◆ check_chain_extensions()

static int check_chain_extensions ( X509_STORE_CTX ctx)
static

Definition at line 576 of file x509_vfy.c.

◆ check_crl()

static int check_crl ( X509_STORE_CTX ctx,
X509_CRL crl 
)
static

Definition at line 1555 of file x509_vfy.c.

◆ check_crl_chain()

static int check_crl_chain ( X509_STORE_CTX ctx,
STACK_OF(X509) *  cert_path,
STACK_OF(X509) *  crl_path 
)
static

Definition at line 1380 of file x509_vfy.c.

◆ check_crl_path()

static int check_crl_path ( X509_STORE_CTX ctx,
X509 x 
)
static

Definition at line 1340 of file x509_vfy.c.

◆ check_crl_time()

static int check_crl_time ( X509_STORE_CTX ctx,
X509_CRL crl,
int  notify 
)
static

Definition at line 1005 of file x509_vfy.c.

◆ check_delta_base()

static int check_delta_base ( X509_CRL delta,
X509_CRL base 
)
static

Definition at line 1158 of file x509_vfy.c.

◆ check_hosts()

static int check_hosts ( X509 x,
X509_VERIFY_PARAM param 
)
static

Definition at line 815 of file x509_vfy.c.

◆ check_id()

static int check_id ( X509_STORE_CTX ctx)
static

Definition at line 834 of file x509_vfy.c.

◆ check_id_error()

static int check_id_error ( X509_STORE_CTX ctx,
int  errcode 
)
static

Definition at line 807 of file x509_vfy.c.

◆ check_issued()

static int check_issued ( X509_STORE_CTX ctx,
X509 x,
X509 issuer 
)
static

Definition at line 543 of file x509_vfy.c.

◆ check_name_constraints()

static int check_name_constraints ( X509_STORE_CTX ctx)
static

Definition at line 736 of file x509_vfy.c.

◆ check_policy()

static int check_policy ( X509_STORE_CTX ctx)
static

Definition at line 1696 of file x509_vfy.c.

◆ check_revocation()

static int check_revocation ( X509_STORE_CTX ctx)
static

Definition at line 909 of file x509_vfy.c.

◆ check_trust()

static int check_trust ( X509_STORE_CTX ctx)
static

Definition at line 857 of file x509_vfy.c.

◆ crl_akid_check()

static void crl_akid_check ( X509_STORE_CTX ctx,
X509_CRL crl,
X509 **  pissuer,
int pcrl_score 
)
static

Definition at line 1280 of file x509_vfy.c.

◆ crl_crldp_check()

static int crl_crldp_check ( X509 x,
X509_CRL crl,
int  crl_score,
unsigned int preasons 
)
static

Definition at line 1476 of file x509_vfy.c.

◆ crl_extension_match()

static int crl_extension_match ( X509_CRL a,
X509_CRL b,
int  nid 
)
static

Definition at line 1121 of file x509_vfy.c.

◆ crldp_check_crlissuer()

static int crldp_check_crlissuer ( DIST_POINT dp,
X509_CRL crl,
int  crl_score 
)
static

Definition at line 1457 of file x509_vfy.c.

◆ find_issuer()

static X509 * find_issuer ( X509_STORE_CTX ctx,
STACK_OF(X509) *  sk,
X509 x 
)
static

Definition at line 529 of file x509_vfy.c.

◆ get_crl_delta()

static int get_crl_delta ( X509_STORE_CTX ctx,
X509_CRL **  pcrl,
X509_CRL **  pdcrl,
X509 x 
)
static

Definition at line 1510 of file x509_vfy.c.

◆ get_crl_score()

static int get_crl_score ( X509_STORE_CTX ctx,
X509 **  pissuer,
unsigned int preasons,
X509_CRL crl,
X509 x 
)
static

Definition at line 1218 of file x509_vfy.c.

◆ get_crl_sk()

static int get_crl_sk ( X509_STORE_CTX ctx,
X509_CRL **  pcrl,
X509_CRL **  pdcrl,
X509 **  pissuer,
int pscore,
unsigned int preasons,
STACK_OF(X509_CRL) *  crls 
)
static

Definition at line 1059 of file x509_vfy.c.

◆ get_delta_sk()

static void get_delta_sk ( X509_STORE_CTX ctx,
X509_CRL **  dcrl,
int pcrl_score,
X509_CRL base,
STACK_OF(X509_CRL) *  crls 
)
static

Definition at line 1188 of file x509_vfy.c.

◆ get_issuer_sk()

static int get_issuer_sk ( X509 **  issuer,
X509_STORE_CTX ctx,
X509 x 
)
static

Definition at line 561 of file x509_vfy.c.

◆ idp_check_dp()

static int idp_check_dp ( DIST_POINT_NAME a,
DIST_POINT_NAME b 
)
static

Definition at line 1399 of file x509_vfy.c.

◆ internal_verify()

static int internal_verify ( X509_STORE_CTX ctx)
static

Definition at line 1790 of file x509_vfy.c.

◆ lookup_cert_match()

static X509* lookup_cert_match ( X509_STORE_CTX ctx,
X509 x 
)
static

Definition at line 163 of file x509_vfy.c.

◆ null_callback()

static int null_callback ( int  ok,
X509_STORE_CTX e 
)
static

Definition at line 144 of file x509_vfy.c.

◆ reject_dns_name_in_common_name()

static int reject_dns_name_in_common_name ( X509 x509)
static

Definition at line 709 of file x509_vfy.c.

◆ STACK_OF()

STACK_OF ( X509  )

Definition at line 2125 of file x509_vfy.c.

◆ X509_cmp_current_time()

int X509_cmp_current_time ( const ASN1_TIME ctm)

Definition at line 1875 of file x509_vfy.c.

◆ X509_cmp_time()

int X509_cmp_time ( const ASN1_TIME ctm,
time_t *  cmp_time 
)

Verify the format: the ASN.1 functions we use below allow a more flexible format than what's mandated by RFC 5280. Digit and date ranges will be verified in the conversion methods.

Definition at line 1880 of file x509_vfy.c.

◆ X509_CRL_diff()

X509_CRL* X509_CRL_diff ( X509_CRL base,
X509_CRL newer,
EVP_PKEY skey,
const EVP_MD md,
unsigned int  flags 
)

Definition at line 1971 of file x509_vfy.c.

◆ X509_gmtime_adj()

ASN1_TIME* X509_gmtime_adj ( ASN1_TIME s,
long  offset_sec 
)

Definition at line 1945 of file x509_vfy.c.

◆ X509_STORE_CTX_cleanup()

void X509_STORE_CTX_cleanup ( X509_STORE_CTX ctx)

Definition at line 2375 of file x509_vfy.c.

◆ X509_STORE_CTX_free()

void X509_STORE_CTX_free ( X509_STORE_CTX ctx)

Definition at line 2258 of file x509_vfy.c.

◆ X509_STORE_CTX_get0_cert()

X509* X509_STORE_CTX_get0_cert ( X509_STORE_CTX ctx)

Definition at line 2416 of file x509_vfy.c.

◆ X509_STORE_CTX_get0_current_crl()

X509_CRL* X509_STORE_CTX_get0_current_crl ( X509_STORE_CTX ctx)

Definition at line 2147 of file x509_vfy.c.

◆ X509_STORE_CTX_get0_current_issuer()

X509* X509_STORE_CTX_get0_current_issuer ( X509_STORE_CTX ctx)

Definition at line 2142 of file x509_vfy.c.

◆ X509_STORE_CTX_get0_param()

X509_VERIFY_PARAM* X509_STORE_CTX_get0_param ( X509_STORE_CTX ctx)

Definition at line 2446 of file x509_vfy.c.

◆ X509_STORE_CTX_get0_parent_ctx()

X509_STORE_CTX* X509_STORE_CTX_get0_parent_ctx ( X509_STORE_CTX ctx)

Definition at line 2152 of file x509_vfy.c.

◆ X509_STORE_CTX_get0_policy_tree()

X509_POLICY_TREE* X509_STORE_CTX_get0_policy_tree ( X509_STORE_CTX ctx)

Definition at line 2427 of file x509_vfy.c.

◆ X509_STORE_CTX_get_current_cert()

X509* X509_STORE_CTX_get_current_cert ( X509_STORE_CTX ctx)

Definition at line 2120 of file x509_vfy.c.

◆ X509_STORE_CTX_get_error()

int X509_STORE_CTX_get_error ( X509_STORE_CTX ctx)

Definition at line 2105 of file x509_vfy.c.

◆ X509_STORE_CTX_get_error_depth()

int X509_STORE_CTX_get_error_depth ( X509_STORE_CTX ctx)

Definition at line 2115 of file x509_vfy.c.

◆ X509_STORE_CTX_get_ex_data()

void* X509_STORE_CTX_get_ex_data ( X509_STORE_CTX ctx,
int  idx 
)

Definition at line 2100 of file x509_vfy.c.

◆ X509_STORE_CTX_get_ex_new_index()

int X509_STORE_CTX_get_ex_new_index ( long  argl,
void *  argp,
CRYPTO_EX_unused unused,
CRYPTO_EX_dup dup_unused,
CRYPTO_EX_free free_func 
)

Definition at line 2078 of file x509_vfy.c.

◆ X509_STORE_CTX_get_explicit_policy()

int X509_STORE_CTX_get_explicit_policy ( X509_STORE_CTX ctx)

Definition at line 2432 of file x509_vfy.c.

◆ X509_STORE_CTX_init()

int X509_STORE_CTX_init ( X509_STORE_CTX ctx,
X509_STORE store,
X509 x509,
STACK_OF(X509) *  chain 
)

Definition at line 2267 of file x509_vfy.c.

◆ X509_STORE_CTX_new()

X509_STORE_CTX* X509_STORE_CTX_new ( void  )

Definition at line 2241 of file x509_vfy.c.

◆ X509_STORE_CTX_purpose_inherit()

int X509_STORE_CTX_purpose_inherit ( X509_STORE_CTX ctx,
int  def_purpose,
int  purpose,
int  trust 
)

Definition at line 2198 of file x509_vfy.c.

◆ X509_STORE_CTX_set0_crls()

void X509_STORE_CTX_set0_crls ( X509_STORE_CTX ctx,
STACK_OF(X509_CRL) *  sk 
)

Definition at line 2172 of file x509_vfy.c.

◆ X509_STORE_CTX_set0_param()

void X509_STORE_CTX_set0_param ( X509_STORE_CTX ctx,
X509_VERIFY_PARAM param 
)

Definition at line 2451 of file x509_vfy.c.

◆ X509_STORE_CTX_set_cert()

void X509_STORE_CTX_set_cert ( X509_STORE_CTX ctx,
X509 x 
)

Definition at line 2157 of file x509_vfy.c.

◆ X509_STORE_CTX_set_chain()

void X509_STORE_CTX_set_chain ( X509_STORE_CTX ctx,
STACK_OF(X509) *  sk 
)

Definition at line 2162 of file x509_vfy.c.

◆ X509_STORE_CTX_set_default()

int X509_STORE_CTX_set_default ( X509_STORE_CTX ctx,
const char *  name 
)

Definition at line 2437 of file x509_vfy.c.

◆ X509_STORE_CTX_set_depth()

void X509_STORE_CTX_set_depth ( X509_STORE_CTX ctx,
int  depth 
)

Definition at line 2400 of file x509_vfy.c.

◆ X509_STORE_CTX_set_error()

void X509_STORE_CTX_set_error ( X509_STORE_CTX ctx,
int  err 
)

Definition at line 2110 of file x509_vfy.c.

◆ X509_STORE_CTX_set_ex_data()

int X509_STORE_CTX_set_ex_data ( X509_STORE_CTX ctx,
int  idx,
void *  data 
)

Definition at line 2095 of file x509_vfy.c.

◆ X509_STORE_CTX_set_flags()

void X509_STORE_CTX_set_flags ( X509_STORE_CTX ctx,
unsigned long  flags 
)

Definition at line 2405 of file x509_vfy.c.

◆ X509_STORE_CTX_set_purpose()

int X509_STORE_CTX_set_purpose ( X509_STORE_CTX ctx,
int  purpose 
)

Definition at line 2177 of file x509_vfy.c.

◆ X509_STORE_CTX_set_time()

void X509_STORE_CTX_set_time ( X509_STORE_CTX ctx,
unsigned long  flags,
time_t  t 
)

Definition at line 2410 of file x509_vfy.c.

◆ X509_STORE_CTX_set_trust()

int X509_STORE_CTX_set_trust ( X509_STORE_CTX ctx,
int  trust 
)

Definition at line 2182 of file x509_vfy.c.

◆ X509_STORE_CTX_set_verify_cb()

void X509_STORE_CTX_set_verify_cb ( X509_STORE_CTX ctx,
int(*)(int, X509_STORE_CTX *)  verify_cb 
)

Definition at line 2421 of file x509_vfy.c.

◆ X509_STORE_CTX_trusted_stack()

void X509_STORE_CTX_trusted_stack ( X509_STORE_CTX ctx,
STACK_OF(X509) *  sk 
)

Definition at line 2369 of file x509_vfy.c.

◆ X509_STORE_CTX_zero()

void X509_STORE_CTX_zero ( X509_STORE_CTX ctx)

Definition at line 2253 of file x509_vfy.c.

◆ X509_time_adj()

ASN1_TIME* X509_time_adj ( ASN1_TIME s,
long  offset_sec,
time_t *  in_tm 
)

Definition at line 1950 of file x509_vfy.c.

◆ X509_time_adj_ex()

ASN1_TIME* X509_time_adj_ex ( ASN1_TIME s,
int  offset_day,
long  offset_sec,
time_t *  in_tm 
)

Definition at line 1955 of file x509_vfy.c.

◆ X509_verify_cert()

int X509_verify_cert ( X509_STORE_CTX ctx)

Definition at line 186 of file x509_vfy.c.

Variable Documentation

◆ g_ex_data_class

CRYPTO_EX_DATA_CLASS g_ex_data_class
static
Initial value:

Definition at line 74 of file x509_vfy.c.

CRYPTO_EX_DATA_CLASS_INIT_WITH_APP_DATA
#define CRYPTO_EX_DATA_CLASS_INIT_WITH_APP_DATA
Definition: third_party/boringssl-with-bazel/src/crypto/internal.h:688


grpc
Author(s):
autogenerated on Fri May 16 2025 03:01:38