chromium/net/third_party/quiche/src/quiche/quic/core/crypto/tls_server_connection.cc

// Copyright (c) 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "quiche/quic/core/crypto/tls_server_connection.h"

#include <cstddef>
#include <cstdint>
#include <utility>
#include <vector>

#include "absl/status/status.h"
#include "absl/strings/string_view.h"
#include "openssl/base.h"
#include "openssl/ssl.h"
#include "quiche/quic/core/crypto/proof_source.h"
#include "quiche/quic/core/crypto/tls_connection.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/platform/api/quic_flag_utils.h"
#include "quiche/common/platform/api/quiche_logging.h"

namespace quic {

TlsServerConnection::TlsServerConnection(SSL_CTX* ssl_ctx, Delegate* delegate,
                                         QuicSSLConfig ssl_config)
    :{}

// static
bssl::UniquePtr<SSL_CTX> TlsServerConnection::CreateSslCtx(
    ProofSource* proof_source) {}

absl::Status TlsServerConnection::ConfigureSSL(
    ProofSourceHandleCallback::ConfigureSSLFunc configure_ssl) {}

void TlsServerConnection::SetCertChain(
    const std::vector<CRYPTO_BUFFER*>& cert_chain) {}

void TlsServerConnection::SetClientCertMode(ClientCertMode client_cert_mode) {}

void TlsServerConnection::UpdateCertVerifyCallback() {}

const SSL_PRIVATE_KEY_METHOD TlsServerConnection::kPrivateKeyMethod{};

// static
TlsServerConnection* TlsServerConnection::ConnectionFromSsl(SSL* ssl) {}

// static
ssl_select_cert_result_t TlsServerConnection::EarlySelectCertCallback(
    const SSL_CLIENT_HELLO* client_hello) {}

// static
int TlsServerConnection::TlsExtServernameCallback(SSL* ssl, int* out_alert,
                                                  void* /*arg*/) {}

// static
int TlsServerConnection::SelectAlpnCallback(SSL* ssl, const uint8_t** out,
                                            uint8_t* out_len, const uint8_t* in,
                                            unsigned in_len, void* /*arg*/) {}

// static
ssl_private_key_result_t TlsServerConnection::PrivateKeySign(
    SSL* ssl, uint8_t* out, size_t* out_len, size_t max_out, uint16_t sig_alg,
    const uint8_t* in, size_t in_len) {}

// static
ssl_private_key_result_t TlsServerConnection::PrivateKeyComplete(
    SSL* ssl, uint8_t* out, size_t* out_len, size_t max_out) {}

// static
const SSL_TICKET_AEAD_METHOD TlsServerConnection::kSessionTicketMethod{};

// static
size_t TlsServerConnection::SessionTicketMaxOverhead(SSL* ssl) {}

// static
int TlsServerConnection::SessionTicketSeal(SSL* ssl, uint8_t* out,
                                           size_t* out_len, size_t max_out_len,
                                           const uint8_t* in, size_t in_len) {}

// static
enum ssl_ticket_aead_result_t TlsServerConnection::SessionTicketOpen(
    SSL* ssl, uint8_t* out, size_t* out_len, size_t max_out_len,
    const uint8_t* in, size_t in_len) {}

}  // namespace quic