Go to the documentation of this file.
64 #include "../crypto/internal.h"
72 assert(!ssl->
s3->has_message);
79 assert(!ssl->
s3->hs_buf || ssl->
s3->hs_buf->length == 0);
80 if (ssl->
s3->hs_buf && ssl->
s3->hs_buf->length == 0) {
81 ssl->
s3->hs_buf.reset();
86 UniquePtr<SSLAEADContext> aead_ctx,
96 if ((ssl->
s3->hs ==
nullptr || !ssl->
s3->hs->hints_requested) &&
98 secret_for_quic.
data(),
99 secret_for_quic.
size())) {
118 UniquePtr<SSLAEADContext> aead_ctx,
125 if ((ssl->
s3->hs ==
nullptr || !ssl->
s3->hs->hints_requested) &&
127 secret_for_quic.
data(),
128 secret_for_quic.
size())) {
226 using namespace bssl;
void ssl_send_alert(SSL *ssl, int level, int desc)
int tls_write_app_data(SSL *ssl, bool *out_needs_handshake, const uint8_t *buf, int len)
static void ssl_noop_x509_ssl_ctx_free(SSL_CTX *ctx)
#define SSL_AD_UNEXPECTED_MESSAGE
static bool tls_set_read_state(SSL *ssl, ssl_encryption_level_t level, UniquePtr< SSLAEADContext > aead_ctx, Span< const uint8_t > secret_for_quic)
const SSL_METHOD * TLS_with_buffers_method(void)
static void ssl_noop_x509_flush_cached_leaf(CERT *cert)
const SSL_X509_METHOD ssl_noop_x509_method
const SSL_METHOD * SSLv23_method(void)
#define OPENSSL_PUT_ERROR(library, reason)
static bool tls_set_write_state(SSL *ssl, ssl_encryption_level_t level, UniquePtr< SSLAEADContext > aead_ctx, Span< const uint8_t > secret_for_quic)
int tls_flush_flight(SSL *ssl)
#define SSL_R_EXCESS_HANDSHAKE_DATA
static bool ssl_noop_x509_ssl_new(SSL_HANDSHAKE *hs)
const SSL_METHOD * TLS_client_method(void)
static void ssl_noop_x509_ssl_flush_cached_client_CA(SSL_CONFIG *cfg)
const SSL_METHOD * TLS_method(void)
const SSL_METHOD * TLSv1_1_method(void)
static bool ssl_noop_x509_session_dup(SSL_SESSION *new_session, const SSL_SESSION *session)
const SSL_METHOD * SSLv23_server_method(void)
static void * OPENSSL_memset(void *dst, int c, size_t n)
const SSL_QUIC_METHOD * quic_method
bool tls_get_message(const SSL *ssl, SSLMessage *out)
const SSL_METHOD * TLS_server_method(void)
int(* set_read_secret)(SSL *ssl, enum ssl_encryption_level_t level, const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len)
const SSL_METHOD * TLSv1_1_server_method(void)
ssl_open_record_t tls_open_handshake(SSL *ssl, size_t *out_consumed, uint8_t *out_alert, Span< uint8_t > in)
bool tls_add_message(SSL *ssl, Array< uint8_t > msg)
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
static bool ssl_noop_x509_session_cache_objects(SSL_SESSION *sess)
static void ssl_noop_x509_ssl_ctx_flush_cached_client_CA(SSL_CTX *ctx)
const SSL_METHOD * SSLv23_client_method(void)
#define BSSL_NAMESPACE_END
static bool ssl_noop_x509_check_client_CA_names(STACK_OF(CRYPTO_BUFFER) *names)
static void ssl_noop_x509_session_clear(SSL_SESSION *session)
static bool ssl_noop_x509_ssl_auto_chain_if_needed(SSL_HANDSHAKE *hs)
bool tls_init_message(const SSL *ssl, CBB *cbb, CBB *body, uint8_t type)
const SSL_METHOD * TLSv1_2_client_method(void)
const SSL_METHOD * TLSv1_server_method(void)
const SSL_METHOD * TLSv1_2_method(void)
static BSSL_NAMESPACE_BEGIN void tls_on_handshake_complete(SSL *ssl)
static bool ssl_noop_x509_ssl_ctx_new(SSL_CTX *ctx)
int(* set_write_secret)(SSL *ssl, enum ssl_encryption_level_t level, const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len)
static void ssl_noop_x509_flush_cached_chain(CERT *cert)
static void ssl_noop_x509_hs_flush_cached_ca_names(SSL_HANDSHAKE *hs)
static void ssl_noop_x509_clear(CERT *cert)
int tls_dispatch_alert(SSL *ssl)
const SSL_METHOD * TLSv1_client_method(void)
bool tls_finish_message(const SSL *ssl, CBB *cbb, Array< uint8_t > *out_msg)
const SSL_METHOD * TLSv1_2_server_method(void)
static void ssl_noop_x509_free(CERT *cert)
const SSL_METHOD * TLSv1_method(void)
static const SSL_PROTOCOL_METHOD kTLSProtocolMethod
bool tls_has_unprocessed_handshake_data(const SSL *ssl)
static bool ssl_noop_x509_session_verify_cert_chain(SSL_SESSION *session, SSL_HANDSHAKE *hs, uint8_t *out_alert)
const SSL_METHOD * TLSv1_1_client_method(void)
bool tls_add_change_cipher_spec(SSL *ssl)
ssl_encryption_early_data
static void ssl_noop_x509_ssl_config_free(SSL_CONFIG *cfg)
ssl_open_record_t tls_open_change_cipher_spec(SSL *ssl, size_t *out_consumed, uint8_t *out_alert, Span< uint8_t > in)
const SSL_X509_METHOD ssl_crypto_x509_method
ssl_open_record_t tls_open_app_data(SSL *ssl, Span< uint8_t > *out, size_t *out_consumed, uint8_t *out_alert, Span< uint8_t > in)
bool tls_flush_pending_hs_data(SSL *ssl)
static void ssl_noop_x509_dup(CERT *new_cert, const CERT *cert)
void tls_next_message(SSL *ssl)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:40