#include "test_config.h"
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <memory>
#include <openssl/base64.h>
#include <openssl/hpke.h>
#include <openssl/rand.h>
#include <openssl/ssl.h>
#include "../../crypto/internal.h"
#include "../internal.h"
#include "handshake_util.h"
#include "mock_quic_transport.h"
#include "test_state.h"
Go to the source code of this file.
Functions | |
static int | AddQuicHandshakeData (SSL *ssl, enum ssl_encryption_level_t level, const uint8_t *data, size_t len) |
static int | AlpnSelectCallback (SSL *ssl, const uint8_t **out, uint8_t *outlen, const uint8_t *in, unsigned inlen, void *arg) |
static ssl_private_key_result_t | AsyncPrivateKeyComplete (SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out) |
static ssl_private_key_result_t | AsyncPrivateKeyDecrypt (SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out, const uint8_t *in, size_t in_len) |
static ssl_private_key_result_t | AsyncPrivateKeySign (SSL *ssl, uint8_t *out, size_t *out_len, size_t max_out, uint16_t signature_algorithm, const uint8_t *in, size_t in_len) |
static int | CertCallback (SSL *ssl, void *arg) |
static int | CertVerifyCallback (X509_STORE_CTX *store_ctx, void *arg) |
static bool | CheckCertificateRequest (SSL *ssl) |
static bool | CheckPeerVerifyPrefs (SSL *ssl) |
static bool | CheckVerifyCallback (SSL *ssl) |
static int | ClientCertCallback (SSL *ssl, X509 **out_x509, EVP_PKEY **out_pkey) |
static void | CurrentTimeCallback (const SSL *ssl, timeval *out_clock) |
static ssl_verify_result_t | CustomVerifyCallback (SSL *ssl, uint8_t *out_alert) |
static int | DDoSCallback (const SSL_CLIENT_HELLO *client_hello) |
static std::vector< std::string > | DecodeHexStrings (const std::string &hex_strings) |
static bssl::UniquePtr< STACK_OF(X509_NAME)> | DecodeHexX509Names (const std::string &hex_names) |
static int | FlushQuicFlight (SSL *ssl) |
static bool | FromHexDigit (uint8_t *out, char c) |
static bool | GetCertificate (SSL *ssl, bssl::UniquePtr< X509 > *out_x509, bssl::UniquePtr< STACK_OF(X509)> *out_chain, bssl::UniquePtr< EVP_PKEY > *out_pkey) |
static SSL_SESSION * | GetSessionCallback (SSL *ssl, const uint8_t *data, int len, int *copy) |
const TestConfig * | GetTestConfig (const SSL *ssl) |
static bool | HexDecode (std::string *out, const std::string &in) |
static void | InfoCallback (const SSL *ssl, int type, int val) |
static void | init_once () |
static bool | InstallCertificate (SSL *ssl) |
static int | LegacyOCSPCallback (SSL *ssl, void *arg) |
bool | LoadCertificate (bssl::UniquePtr< X509 > *out_x509, bssl::UniquePtr< STACK_OF(X509)> *out_chain, const std::string &file) |
bssl::UniquePtr< EVP_PKEY > | LoadPrivateKey (const std::string &file) |
static bool | MaybeInstallCertCompressionAlg (const TestConfig *config, SSL_CTX *ssl_ctx, uint16_t alg, ssl_cert_compression_func_t compress, ssl_cert_decompression_func_t decompress) |
static void | MessageCallback (int is_write, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg) |
static int | NewSessionCallback (SSL *ssl, SSL_SESSION *session) |
static int | NextProtosAdvertisedCallback (SSL *ssl, const uint8_t **out, unsigned int *out_len, void *arg) |
static int | NextProtoSelectCallback (SSL *ssl, uint8_t **out, uint8_t *outlen, const uint8_t *in, unsigned inlen, void *arg) |
bool | ParseConfig (int argc, char **argv, bool is_shim, TestConfig *out_initial, TestConfig *out_resume, TestConfig *out_retry) |
static unsigned | PskClientCallback (SSL *ssl, const char *hint, char *out_identity, unsigned max_identity_len, uint8_t *out_psk, unsigned max_psk_len) |
static unsigned | PskServerCallback (SSL *ssl, const char *identity, uint8_t *out_psk, unsigned max_psk_len) |
static enum ssl_select_cert_result_t | SelectCertificateCallback (const SSL_CLIENT_HELLO *client_hello) |
static int | SendQuicAlert (SSL *ssl, enum ssl_encryption_level_t level, uint8_t alert) |
static int | ServerNameCallback (SSL *ssl, int *out_alert, void *arg) |
static int | SetQuicReadSecret (SSL *ssl, enum ssl_encryption_level_t level, const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len) |
static int | SetQuicWriteSecret (SSL *ssl, enum ssl_encryption_level_t level, const SSL_CIPHER *cipher, const uint8_t *secret, size_t secret_len) |
bool | SetTestConfig (SSL *ssl, const TestConfig *config) |
static std::vector< std::string > | SplitParts (const std::string &in, const char delim) |
static int | TicketKeyCallback (SSL *ssl, uint8_t *key_name, uint8_t *iv, EVP_CIPHER_CTX *ctx, HMAC_CTX *hmac_ctx, int encrypt) |
Variables | |
static const SSL_PRIVATE_KEY_METHOD | g_async_private_key_method |
static int | g_config_index = 0 |
static CRYPTO_BUFFER_POOL * | g_pool = nullptr |
static const SSL_QUIC_METHOD | g_quic_method |
static CRYPTO_once_t | once = CRYPTO_ONCE_INIT |
|
static |
Definition at line 1315 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 725 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 1184 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 1156 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 1108 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 1640 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 803 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 1021 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 996 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 769 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 1077 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 721 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 1622 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 1571 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 951 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 969 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 1325 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 901 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 870 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 708 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
const TestConfig* GetTestConfig | ( | const SSL * | ssl | ) |
Definition at line 499 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 917 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 690 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 483 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 1219 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 504 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
bool LoadCertificate | ( | bssl::UniquePtr< X509 > * | out_x509, |
bssl::UniquePtr< STACK_OF(X509)> * | out_chain, | ||
const std::string & | file | ||
) |
Definition at line 820 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 861 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 1352 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 563 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 676 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 551 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 538 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
bool ParseConfig | ( | int | argc, |
char ** | argv, | ||
bool | is_shim, | ||
TestConfig * | out_initial, | ||
TestConfig * | out_resume, | ||
TestConfig * | out_retry | ||
) |
Definition at line 428 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 1576 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 1604 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 1252 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 1334 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 524 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 1293 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 1304 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
bool SetTestConfig | ( | SSL * | ssl, |
const TestConfig * | config | ||
) |
Definition at line 494 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
Definition at line 935 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 643 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 1213 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 480 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 481 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 1344 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.
|
static |
Definition at line 479 of file third_party/boringssl-with-bazel/src/ssl/test/test_config.cc.