#include "quiche/quic/core/crypto/tls_connection.h"
#include <utility>
#include "absl/strings/string_view.h"
#include "openssl/ssl.h"
#include "quiche/quic/platform/api/quic_bug_tracker.h"
namespace quic {
namespace {
class SslIndexSingleton { … };
}
EncryptionLevel TlsConnection::QuicEncryptionLevel(
enum ssl_encryption_level_t level) { … }
enum ssl_encryption_level_t TlsConnection::BoringEncryptionLevel(
EncryptionLevel level) { … }
TlsConnection::TlsConnection(SSL_CTX* ssl_ctx,
TlsConnection::Delegate* delegate,
QuicSSLConfig ssl_config)
: … { … }
void TlsConnection::EnableInfoCallback() { … }
void TlsConnection::DisableTicketSupport() { … }
bssl::UniquePtr<SSL_CTX> TlsConnection::CreateSslCtx() { … }
TlsConnection* TlsConnection::ConnectionFromSsl(const SSL* ssl) { … }
enum ssl_verify_result_t TlsConnection::VerifyCallback(SSL* ssl,
uint8_t* out_alert) { … }
const SSL_QUIC_METHOD TlsConnection::kSslQuicMethod{ … };
int TlsConnection::SetReadSecretCallback(SSL* ssl,
enum ssl_encryption_level_t level,
const SSL_CIPHER* cipher,
const uint8_t* secret,
size_t secret_length) { … }
int TlsConnection::SetWriteSecretCallback(SSL* ssl,
enum ssl_encryption_level_t level,
const SSL_CIPHER* cipher,
const uint8_t* secret,
size_t secret_length) { … }
int TlsConnection::WriteMessageCallback(SSL* ssl,
enum ssl_encryption_level_t level,
const uint8_t* data, size_t len) { … }
int TlsConnection::FlushFlightCallback(SSL* ssl) { … }
int TlsConnection::SendAlertCallback(SSL* ssl,
enum ssl_encryption_level_t level,
uint8_t desc) { … }
void TlsConnection::MessageCallback(int is_write, int version, int content_type,
const void* buf, size_t len, SSL* ssl,
void*) { … }
}